/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .ql-video{display:block;max-width:100%}.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{direction:rtl;text-align:inherit}.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-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;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{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.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{display:inline-block;vertical-align:middle}.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:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.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:1}.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-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.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{display:block;margin-top:-1px;top:100%;z-index:1}.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{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.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-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.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:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";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{border-right:0px;content:"Save";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}:root{--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--color-bg: #f6f8fb;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: rgba(15, 23, 42, .08);--color-teal: #0d9488;--color-teal-dark: #0f766e;--color-teal-glow: rgba(13, 148, 136, .22);--color-amber: #d97706;--color-violet: #7c3aed;--radius: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 50px rgba(15, 23, 42, .12);--header-h: 64px;--chat-page-bg: #f7f7f8;--chat-surface: #ffffff;--chat-sidebar: #f2f2f2;--chat-border-soft: rgba(0, 0, 0, .08);--chat-user-bubble: #f4f4f4;--chat-assistant-band: rgba(0, 0, 0, .018);--chat-composer-ring: rgba(0, 0, 0, .1);--chat-prose-width: 48rem;--field-bg: #ffffff;--field-text: #0f172a;--field-placeholder: #94a3b8;--field-border: rgba(15, 23, 42, .16);--field-focus: rgba(13, 148, 136, .2)}:root[data-theme=dark]{--color-bg: #0b1220;--color-surface: #121b2f;--color-text: #e2e8f0;--color-text-muted: #9aa8c3;--color-border: rgba(148, 163, 184, .22);--color-teal-glow: rgba(20, 184, 166, .32);--chat-page-bg: #0a101d;--chat-surface: #111a2b;--chat-sidebar: #0f1727;--chat-border-soft: rgba(148, 163, 184, .2);--chat-user-bubble: #1a263a;--chat-assistant-band: rgba(148, 163, 184, .08);--chat-composer-ring: rgba(148, 163, 184, .25);--field-bg: #0f1727;--field-text: #e2e8f0;--field-placeholder: #7f90ac;--field-border: rgba(148, 163, 184, .28);--field-focus: rgba(20, 184, 166, .28)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{color-scheme:dark}:where(input,textarea,select){background:var(--field-bg);color:var(--field-text);border:1px solid var(--field-border)}:where(input,textarea,select)::placeholder{color:var(--field-placeholder)}:where(input,textarea,select):focus{outline:none;border-color:color-mix(in srgb,var(--color-teal) 58%,var(--field-border));box-shadow:0 0 0 3px var(--field-focus)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-teal)}:root[data-theme=dark] .analytics-surface,:root[data-theme=dark] .student-dash-hero,:root[data-theme=dark] .student-dash-section,:root[data-theme=dark] .student-dash-week-card,:root[data-theme=dark] .student-course-card,:root[data-theme=dark] .card{background:#121b2f;border-color:#94a3b838}:root[data-theme=dark] .muted{color:#93a3bf}:root[data-theme=dark] .analytics-week-goal-track,:root[data-theme=dark] .student-dash-week-track,:root[data-theme=dark] .xp-track,:root[data-theme=dark] .student-dash-xp-track{background:#94a3b833}:root[data-theme=dark] .btn-outline{background:#94a3b814;color:#c8f7ef;border-color:#2dd4bf5c}:root[data-theme=dark] .btn-ghost:hover:not(:disabled){background:#94a3b826}:root[data-theme=dark] .btn-light{background:#dbeafe;color:#0f172a}:root[data-theme=dark] .landing{background:radial-gradient(ellipse 120% 70% at 80% -10%,rgba(124,58,237,.2),transparent 50%),radial-gradient(ellipse 90% 50% at 0% 30%,rgba(13,148,136,.2),transparent 48%),linear-gradient(180deg,#0a1120,#0b1220 35%,#0f172a)}:root[data-theme=dark] .landing-nav{--landing-nav-surface: color-mix(in srgb, #0b1220 86%, transparent);background:var(--landing-nav-surface);border-bottom-color:#94a3b83d}:root[data-theme=dark] .landing-menu a{color:#c6d3e8}:root[data-theme=dark] .landing-menu a:hover{color:#99f6e4}:root[data-theme=dark] .hero.landing-showcase .hero-badge,:root[data-theme=dark] .hero-visual-collage--scatter,:root[data-theme=dark] .hero-preview-frame{background:color-mix(in srgb,#0f172a 82%,#1e293b 18%);border-color:#94a3b83d}:root[data-theme=dark] .hero-subtitle,:root[data-theme=dark] .hero-lead-para,:root[data-theme=dark] .landing-v2-lead,:root[data-theme=dark] .landing-v2-mosaic-p{color:#9fb0ca}:root[data-theme=dark] .table,:root[data-theme=dark] table,:root[data-theme=dark] .tasks-public-tests-table,:root[data-theme=dark] .tasks-public-tests-table th,:root[data-theme=dark] .tasks-public-tests-table td{border-color:#94a3b83d;background:transparent}:root[data-theme=dark] .settings-modal-panel,:root[data-theme=dark] .material-ai-dock,:root[data-theme=dark] .peer-captcha-modal,:root[data-theme=dark] .social-attach-dropdown,:root[data-theme=dark] .cs-module-add-menu{background:#111b2f;border-color:#94a3b83d}:root[data-theme=dark] .settings-modal-backdrop,:root[data-theme=dark] .peer-captcha-backdrop{background:#020617a8}:root[data-theme=dark] .chat-code-block,:root[data-theme=dark] pre.code,:root[data-theme=dark] .code{background:#0d1628;border-color:#94a3b83d;color:#dbe8ff}:root[data-theme=dark] .social-embed-download-btn{background:#94a3b81f;border-color:#94a3b852;color:#dbe6f7}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast]{background:#0f172af5!important;border-color:#4755699e!important;color:#e2e8f0!important;box-shadow:0 12px 30px #02061773!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-title]{color:#f1f5f9!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-description]{color:#94a3b8!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-close-button]{background:#1e293be6!important;border-color:#4755699e!important;color:#cbd5e1!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-close-button]:hover{background:#334155f2!important;color:#f8fafc!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast][data-type=success]{border-color:#10b98185!important;background:linear-gradient(135deg,#04785747,#0f172af5)!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast][data-type=error]{border-color:#f871718f!important;background:linear-gradient(135deg,#7f1d1d57,#0f172af5)!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast][data-type=warning]{border-color:#fbbf248f!important;background:linear-gradient(135deg,#78350f57,#0f172af5)!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast][data-type=info],:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast][data-type=loading]{border-color:#38bdf880!important;background:linear-gradient(135deg,#1e40af47,#0f172af5)!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-button]{background:#1e293be6!important;border-color:#4755699e!important;color:#e2e8f0!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-button]:hover{background:#334155f2!important}:root[data-theme=dark] [data-sonner-toaster] [data-sonner-toast] [data-cancel]{background:#0f172abf!important;border-color:#4755698f!important;color:#cbd5e1!important}:root[data-theme=dark] .dashboard-root[data-role=teacher] :where(.card,.teacher-hub-card,.teacher-studio-section,.teacher-hub-lead,.teacher-inline-form input,.teacher-inline-form textarea,.teacher-inline-form select,.teacher-material-ai,.teacher-material-ai-result,.teacher-studio-ai-dock,.teacher-course-card,.teacher-studio .input,.teacher-studio input,.teacher-studio textarea,.teacher-studio select){background:#111b2f;border-color:#94a3b842;color:#dce8fb}:root[data-theme=dark] .dashboard-root[data-role=teacher] :where(.teacher-hub-lead-text,.teacher-course-card-code,.teacher-studio .muted,.teacher-studio .small){color:#9fb0ca}:root[data-theme=dark] .dashboard-root[data-role=teacher] .btn-outline{border-color:#2dd4bf57;color:#c8f7ef;background:#94a3b814}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-header,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-header{--dash-header-surface: rgba(12, 20, 34, .9);background:var(--dash-header-surface);border-bottom-color:#4755699e;box-shadow:0 10px 28px -22px #020617d9}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-brand,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-brand{color:#e6edf8}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-nav-main,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-nav-main{border-top-color:#4755698f}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-nav-link,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-nav-link{color:#9fb0c8;background:#0f172ab8!important;border:1px solid rgba(71,85,105,.58)!important}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-nav-link:hover,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-nav-link:hover{color:#e6edf8;background:#1e293bf0!important;border-color:#2dd4bf59!important}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-nav-link.is-active,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-nav-link.is-active{color:#bff6ee;background:#14b8a642!important;border-color:#2dd4bf85!important}:root[data-theme=dark] .dashboard-root[data-role=teacher] .dash-user-chip,:root[data-theme=dark] .dashboard-root[data-role=student] .dash-user-chip{background:#0f172abd;border-color:#475569b3;color:#e6edf8}:root[data-theme=dark] .dashboard-root .dash-user-pill,:root[data-theme=dark] .dashboard-root .dash-user-trigger{background:#0f172ac7;border-color:#475569b8;color:#e6edf8}:root[data-theme=dark] .dashboard-root .dash-user-chevron,:root[data-theme=dark] .dashboard-root .dash-user-role,:root[data-theme=dark] .dashboard-root .dash-user-xp-embed{color:#9fb0c8}:root[data-theme=dark] .dashboard-root .dash-user-xp-embed:hover{color:#d1fae5}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover{background:linear-gradient(165deg,#0f1a2d,#13233b);border-color:#475569b8;box-shadow:0 14px 44px #020617bf,0 0 0 1px #2dd4bf1f}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-head{border-bottom-color:#475569a3}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-name,:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-v{color:#e6edf8}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-k,:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-email{color:#9fb0c8}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-footer{color:#7df2df}:root[data-theme=dark] .dashboard-root .dash-user-stats-popover-footer:hover{background:#2dd4bf29;border-color:#2dd4bf52}:root[data-theme=dark] .dashboard-root .dash-user-menu{background:#111b2f;border-color:#475569b8;box-shadow:0 4px 8px -2px #020617a6,0 22px 46px -18px #020617d9}:root[data-theme=dark] .dashboard-root .dash-user-menu-head{background:linear-gradient(135deg,#142238f2,#18203ae0);border-bottom-color:#4755699e}:root[data-theme=dark] .dashboard-root .dash-user-menu-avatar{background:#0f172ae6;border-color:#2dd4bf66;box-shadow:0 2px 10px #02061773}:root[data-theme=dark] .dashboard-root .dash-user-menu-name{color:#e6edf8}:root[data-theme=dark] .dashboard-root .dash-user-menu-email{color:#9fb0c8}:root[data-theme=dark] .dashboard-root .dash-user-menu-role{color:#7df2df}:root[data-theme=dark] .dashboard-root .dash-user-menu-item{color:#dce8fb}:root[data-theme=dark] .dashboard-root .dash-user-menu-item--link{color:#7df2df}:root[data-theme=dark] .dashboard-root .dash-user-menu-item:hover{background:#2dd4bf24}:root[data-theme=dark] .dashboard-root .dash-user-menu-item--danger{color:#fda4af}:root[data-theme=dark] .dashboard-root .dash-user-menu-item--danger:hover{background:#be185d33}.brand-wordmark{display:inline-flex;align-items:baseline;flex-shrink:0;font-family:inherit;font-weight:800;letter-spacing:-.045em;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.brand-wordmark--lg{font-size:clamp(1.22rem,2.4vw,1.48rem)}.brand-wordmark--md{font-size:clamp(1.06rem,1.7vw,1.22rem)}.brand-wordmark--sm{font-size:clamp(.98rem,1.5vw,1.1rem)}.brand-wordmark--hero{font-size:clamp(2.72rem,7.4vw,4.15rem);font-weight:800;letter-spacing:-.065em;line-height:.98}.brand-wordmark--hero .brand-wordmark__bilim{color:#070b14;text-shadow:0 1px 0 rgba(255,255,255,.92),0 0 1px rgba(15,23,42,.04)}.brand-wordmark--hero .brand-wordmark__x{background:linear-gradient(122deg,#0f766e,#0d9488 18%,#0891b2 38%,#6366f1 68%,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 18px rgba(99,102,241,.22))}:root[data-theme=dark] .brand-wordmark--hero .brand-wordmark__bilim{color:#f8fafc;text-shadow:0 0 42px rgba(45,212,191,.18),0 1px 0 rgba(2,6,23,.35)}:root[data-theme=dark] .brand-wordmark--hero .brand-wordmark__x{background:linear-gradient(122deg,#5eead4,#38bdf8 32%,#a78bfa 62%,#e9d5ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 22px rgba(56,189,248,.28))}.brand-wordmark__bilim{color:var(--color-text)}.brand-wordmark__x{background:linear-gradient(118deg,#0d9488,#0ea5e9 45%,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme=dark] .brand-wordmark__bilim{color:#e8eef9}:root[data-theme=dark] .brand-wordmark__x{background:linear-gradient(118deg,#2dd4bf,#38bdf8,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;font-family:inherit;font-weight:600;font-size:.9rem;border-radius:10px;border:none;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--color-teal),#059669);color:#fff;box-shadow:0 4px 14px var(--color-teal-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px var(--color-teal-glow)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 14px #dc262647}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #dc262654}.btn-danger-ghost{background:transparent;color:#b91c1c;border:1px solid rgba(185,28,28,.35)}.btn-danger-ghost:hover:not(:disabled){background:#dc262614;border-color:#b91c1c80}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:#0f172a0f}.btn-outline{background:var(--color-surface);color:var(--color-teal-dark);border:1.5px solid rgba(13,148,136,.35)}.btn-outline:hover:not(:disabled){border-color:var(--color-teal);background:#0d94880f}.btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}.btn-outline-light:hover:not(:disabled){background:#ffffff1a}.btn-light{background:#fff;color:var(--color-teal-dark)}.btn-light:hover:not(:disabled){box-shadow:var(--shadow-md)}.btn-secondary,.btn.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;font-family:inherit;font-weight:600;font-size:.9rem;line-height:1.2;border-radius:10px;text-decoration:none;cursor:pointer;border:1px solid rgba(148,163,184,.44);background:#f8fafc;color:#0f172a;transition:transform .12s ease,box-shadow .12s ease,background .15s ease,border-color .15s ease}.btn-secondary:hover:not(:disabled),.btn.btn-secondary:hover:not(:disabled){background:#eef2f7;border-color:#64748b75}.btn-secondary:active:not(:disabled),.btn.btn-secondary:active:not(:disabled){transform:scale(.98)}:root[data-theme=dark] .btn-secondary,:root[data-theme=dark] .btn.btn-secondary{background:#0f172ad6;color:#dbe7fb;border-color:#94a3b857}:root[data-theme=dark] .btn-secondary:hover:not(:disabled),:root[data-theme=dark] .btn.btn-secondary:hover:not(:disabled){background:#1e293beb;border-color:#2dd4bf6b}.btn-lg{padding:.75rem 1.35rem;font-size:1rem;border-radius:12px}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.link-muted{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:500}.link-muted:hover{color:var(--color-teal-dark)}.page-loading{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--color-text-muted)}.page-loading:after{content:"";width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .7s linear infinite}.dash-welcome{margin:.25rem 0 .9rem;padding:.75rem .95rem;border:1px solid rgba(13,148,136,.18);background:linear-gradient(135deg,#0d94881a,#7c3aed14)}.dash-welcome-row{display:flex;align-items:flex-start;gap:.75rem}.dash-welcome-ai{flex-shrink:0;padding-top:.15rem}.dash-welcome-ai-orb{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(145deg,#0d9488,#6366f1);box-shadow:0 4px 14px #0d948859;color:#fff}.dash-welcome-ai-icon{flex-shrink:0;opacity:.98}.dash-welcome-bubble{flex:1;min-width:0;position:relative;padding:.55rem .75rem .55rem .85rem;border-radius:12px;background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid rgba(15,23,42,.08);box-shadow:0 2px 10px #0f172a0f}.dash-welcome-bubble:before{content:"";position:absolute;left:-7px;top:.95rem;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid color-mix(in srgb,var(--color-surface) 92%,transparent);filter:drop-shadow(-1px 0 0 rgba(15,23,42,.06))}.dash-welcome-ai-kicker{margin:0 0 .35rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0d9488}.dash-welcome-ai-dot{width:6px;height:6px;border-radius:50%;background:#0d9488;animation:dash-welcome-pulse 1.6s ease-in-out infinite}@keyframes dash-welcome-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.92)}}.dash-welcome-title{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.dash-welcome-title--speech{font-style:italic;font-weight:750}.dash-welcome-sub{margin:.2rem 0 0;font-size:.86rem;color:var(--color-text-muted)}.dashboard-main:has(.page-chat){display:flex;flex-direction:column;flex:1;min-height:0;padding-top:.35rem;padding-bottom:.75rem}.page-chat{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--chat-page-bg, #f7f7f8)}.landing{min-height:100vh;background:radial-gradient(ellipse 120% 70% at 80% -10%,rgba(124,58,237,.09),transparent 50%),radial-gradient(ellipse 90% 50% at 0% 30%,rgba(13,148,136,.11),transparent 48%),linear-gradient(180deg,#ecfdf5 0%,var(--color-bg) 16%,#fafafa 42%,#fff 100%)}.landing-nav{--landing-nav-surface: rgba(255, 255, 255, .82);position:sticky;top:0;z-index:50;background:var(--landing-nav-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.landing-burger-btn,.landing-mobile-panel{display:none}.landing-nav-inner{width:100%;max-width:none;margin:0;box-sizing:border-box;padding-top:max(.65rem,env(safe-area-inset-top,0px));padding-bottom:.65rem;padding-left:max(clamp(1rem,4vw,3rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,3rem),env(safe-area-inset-right,0px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(.75rem,2.5vw,2rem);row-gap:.5rem}.landing-logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--color-text);text-decoration:none;grid-column:1;justify-self:start}.landing-logo:hover .brand-wordmark__bilim{color:#0f766e}:root[data-theme=dark] .landing-logo:hover .brand-wordmark__bilim{color:#99f6e4}.landing-menu{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(.65rem,1.8vw,1.35rem);margin:0;min-width:0;grid-column:2}.landing-nav-aside{grid-column:3;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem .55rem;justify-self:end}.landing-nav-aside .landing-actions{margin-left:0}.landing-menu a{color:var(--color-text-muted);text-decoration:none;font-weight:500;font-size:.92rem}.landing-menu a:hover{color:var(--color-teal-dark)}.landing-actions{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.landing-theme-switch{position:relative;display:inline-flex;align-items:center}.lang-switch-popover{position:relative;display:inline-flex}.icon-pop-btn{width:2.1rem;height:2.1rem;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 86%,transparent);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-pop-btn:hover{color:var(--color-text);border-color:#0d948859}.icon-pop-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:8.5rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:var(--shadow-md);padding:.25rem;display:grid;gap:.1rem;z-index:60}.icon-pop-item{border:none;background:transparent;border-radius:8px;text-align:left;padding:.36rem .5rem;font-size:.74rem;color:var(--color-text-muted);cursor:pointer}.icon-pop-item:hover{background:#0d948814;color:var(--color-text)}.icon-pop-item.is-active{background:#0d948824;color:var(--color-teal-dark);font-weight:700}:root[data-theme=dark] .landing-theme-switch{background:transparent}:root[data-theme=dark] .icon-pop-btn{background:#0f172a8c;border-color:#94a3b84d}:root[data-theme=dark] .icon-pop-menu{background:#111b2f;border-color:#94a3b847}:root[data-theme=dark] .icon-pop-item.is-active{background:#14b8a638;color:#a7fff0}@media (max-width: 420px){.landing-actions .btn{min-height:2.75rem;padding-left:.85rem;padding-right:.85rem}}@media (max-width: 767px){.landing-nav-inner{grid-template-columns:1fr auto;grid-template-rows:auto;column-gap:.45rem;row-gap:.35rem;padding-bottom:.55rem}.landing-nav-inner>.landing-logo{grid-column:1;grid-row:1;min-width:0}.landing-nav-inner>.landing-nav-aside{grid-column:2;grid-row:1;justify-self:end;align-self:center;flex-wrap:nowrap}.landing-nav-inner>.landing-menu{display:none}.landing-actions{display:none}.landing-burger-btn{width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 86%,transparent);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.landing-burger-btn:hover{color:var(--color-text);border-color:#0d948859}.landing-mobile-panel{display:none;border-top:1px solid var(--color-border);padding:.45rem max(1rem,env(safe-area-inset-left,0px)) max(.7rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-right,0px));background:var(--landing-nav-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-mobile-panel.is-open{display:block}.landing-mobile-menu{display:grid;gap:.3rem;margin-bottom:.55rem}.landing-mobile-menu a{color:var(--color-text-muted);text-decoration:none;font-weight:500;padding:.6rem .4rem;border-radius:10px}.landing-mobile-menu a:hover{color:var(--color-text);background:#0d948814}.landing-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.landing-mobile-actions .btn{width:100%;justify-content:center}.landing-nav .icon-pop-btn{width:2.75rem;height:2.75rem;flex-shrink:0}}@media (max-width: 380px){.landing-actions{gap:.35rem}.landing-actions .btn{font-size:.82rem;padding-left:.55rem;padding-right:.55rem}}.landing{overflow-x:clip;--landing-nav-h: calc(4.2rem + env(safe-area-inset-top, 0px)) }@media (max-width: 767px){.landing{--landing-nav-h: calc(4.8rem + env(safe-area-inset-top, 0px)) }}.landing #about,.landing #school{scroll-margin-top:calc(var(--landing-nav-h, 3.5rem) + .75rem)}.landing .section{padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}:root[data-theme=dark] .landing .section,:root[data-theme=dark] .landing-showcase.section:not(.hero){background:transparent}:root[data-theme=dark] .landing .section-title,:root[data-theme=dark] .landing-about-title,:root[data-theme=dark] .landing-features-title,:root[data-theme=dark] .landing-audience-title,:root[data-theme=dark] .landing-v2-title,:root[data-theme=dark] .landing-v2-pillar-h,:root[data-theme=dark] .landing-v2-mosaic-h,:root[data-theme=dark] .landing-v2-bento-title,:root[data-theme=dark] .school-title,:root[data-theme=dark] .school-brand-name{color:#e6eefb}:root[data-theme=dark] .landing-v2-unified:before{background:radial-gradient(ellipse 90% 55% at 50% -8%,rgba(45,212,191,.14),transparent 58%),radial-gradient(ellipse 52% 48% at 100% 28%,rgba(129,140,248,.14),transparent 52%)}:root[data-theme=dark] .landing-v2-bento{border-top-color:#94a3b82e}:root[data-theme=dark] .landing-v2-bento-kicker{color:#a5b4fc}:root[data-theme=dark] .landing-v2-bento-lead,:root[data-theme=dark] .landing-v2-cycle-label{color:#9fb0ca}:root[data-theme=dark] .landing-v2-cycle-join{color:#64748b}:root[data-theme=dark] .landing-v2-mosaic--bento .landing-v2-mosaic-item:first-child{background:linear-gradient(125deg,#0f172af0,#111b2ff7 55%,#1e1b4b59);border-color:#2dd4bf47;box-shadow:0 14px 44px #02061780}:root[data-theme=dark] .landing .section-intro,:root[data-theme=dark] .landing-about-p,:root[data-theme=dark] .landing-feat-p,:root[data-theme=dark] .landing-audience-lead,:root[data-theme=dark] .landing-audience-outro-p,:root[data-theme=dark] .school-intro,:root[data-theme=dark] .school-note,:root[data-theme=dark] .landing-v2-pillar-p,:root[data-theme=dark] .landing-v2-mosaic-p{color:#9fb0ca}:root[data-theme=dark] .landing-showcase .landing-feat-card,:root[data-theme=dark] .landing-about-card,:root[data-theme=dark] .landing-audience-card,:root[data-theme=dark] .landing-about-outro--wide,:root[data-theme=dark] .landing-audience-outro--wide,:root[data-theme=dark] .school-spotlight,:root[data-theme=dark] .step,:root[data-theme=dark] .cta-card{background:linear-gradient(165deg,#0f172ae6,#111b2feb);border-color:#94a3b842;box-shadow:0 12px 36px #0206176b}:root[data-theme=dark] .landing-showcase .landing-chip,:root[data-theme=dark] .landing-audience-points li{background:#94a3b81f;border-color:#94a3b84d;color:#d6e2f4}:root[data-theme=dark] .landing-audience-foot{color:#74f0dd}:root[data-theme=dark] .landing-showcase .landing-about-title:after,:root[data-theme=dark] .landing-showcase .landing-features-title:after,:root[data-theme=dark] .landing-showcase .landing-audience-title:after{background:linear-gradient(90deg,#2dd4bf,#818cf8)}:root[data-theme=dark] .hero-preview-pane--code{background:linear-gradient(165deg,#0f172a,#13233f 46%,#1f1a3a);color:#dbe8ff;border-left-color:#2dd4bf73}:root[data-theme=dark] .hero-preview-code-head,:root[data-theme=dark] .hero-preview-code,:root[data-theme=dark] .hero-preview-io,:root[data-theme=dark] .hero-preview-foot{background:#0f172a94;border-color:#94a3b838;color:#cfe0f8}:root[data-theme=dark] .hero-preview-kbd{background:#94a3b81f;border-color:#94a3b859;color:#d4f6ef}:root[data-theme=dark] .hero-preview-kbd--out{background:#14b8a629;border-color:#2dd4bf73;color:#7cf3de}:root[data-theme=dark] .hero.landing-showcase{background:linear-gradient(180deg,#0b1220,#0f172a 45%,#0b1220)}:root[data-theme=dark] .hero-preview-title,:root[data-theme=dark] .hero-preview-msg--user .hero-preview-who,:root[data-theme=dark] .hero-preview-io-cap,:root[data-theme=dark] .hero-preview-bubble .hero-preview-text,:root[data-theme=dark] .hero-preview-code-head{color:#b7c7df}:root[data-theme=dark] .hero-preview-msg--user .hero-preview-text{background:linear-gradient(135deg,#0f766e,#115e59);box-shadow:0 6px 18px #14b8a638}:root[data-theme=dark] .hero-preview-pane--chat{background:linear-gradient(180deg,#0f172ab8,#111b2fcc);border-color:#94a3b838}:root[data-theme=dark] .hero-visual-accent-title,:root[data-theme=dark] .hero-visual-stickers-panel-title,:root[data-theme=dark] .hero-preview-bubble-label,:root[data-theme=dark] .hero-visual-pill--ai{color:#dff7ff}:root[data-theme=dark] .hero.landing-showcase .hero-subtitle,:root[data-theme=dark] .hero.landing-showcase .hero-lead-para,:root[data-theme=dark] .hero.landing-showcase .hero-lead-stack,:root[data-theme=dark] .hero.landing-showcase .hero-copy .hero-subtitle{color:#d7e3f6}:root[data-theme=dark] .hero-visual-accent-sub,:root[data-theme=dark] .hero-visual-stickers-panel-sub{color:#9fd7ff}:root[data-theme=dark] .hero-visual-stickers-panel,:root[data-theme=dark] .hero-visual-accent{background:linear-gradient(145deg,#0f172ad6,#111b2fe6);border-color:#94a3b847;box-shadow:0 10px 28px #02061766}:root[data-theme=dark] .hero-visual-clean{background:linear-gradient(165deg,#0f172ae0,#121f35e6);border-color:#94a3b84d;box-shadow:0 18px 44px #02061773}:root[data-theme=dark] .hero-visual-clean-title{color:#e5eeff}:root[data-theme=dark] .hero-visual-clean-sub{color:#acc1de}:root[data-theme=dark] .hero-visual-clean-item{background:#0f172a9e;border-color:#94a3b847;color:#dbe7fb}:root[data-theme=dark] .hero-preview-bubble{background:#0f172abd;border-color:#94a3b847;box-shadow:0 1px 3px #02061759}:root[data-theme=dark] .hero-preview-frame{border-color:#94a3b847;box-shadow:0 4px 8px #02061773,0 28px 64px #02061766,0 0 0 1px #94a3b833 inset}:root[data-theme=dark] .hero-preview-chrome{background:linear-gradient(180deg,#1a263b,#162235);border-bottom-color:#94a3b838}:root[data-theme=dark] .hero-preview-chrome-accent{box-shadow:none}:root[data-theme=dark] .hero-preview-pane--chat{border-right-color:#94a3b83d}:root[data-theme=dark] .hero-preview-chip--ok{background:#10b98133;color:#8cf8e2;border-color:#2dd4bf6b}:root[data-theme=dark] .hero-preview-chip--xp{background:#f59e0b38;color:#ffd9a3;border-color:#fbbf246b}:root[data-theme=dark] .school-badge{background:#0f172a75;color:#8cf8e2;border-color:#2dd4bf57}:root[data-theme=dark] .landing-footer{background:#0f172a;border-top-color:#94a3b83d}:root[data-theme=dark] .landing-footer-partner{color:#9fb0ca}:root[data-theme=dark] .landing-footer-links a{color:#7cf3de}:root[data-theme=dark] .landing-footer-links a:hover{color:#a7fff0}.hero.landing-showcase{position:relative;overflow:hidden;width:100%;max-width:100%;--hero-band: calc(100svh - var(--landing-nav-h));--hero-band: calc(100dvh - var(--landing-nav-h));--hero-inner-fill: calc(var(--hero-band) * .74);min-height:calc(100vh - var(--landing-nav-h));min-height:var(--hero-band);display:flex;flex-direction:column;box-sizing:border-box;background:linear-gradient(180deg,#fff,#f8fafc 42%,#fff)}.hero-edtech{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.hero-edtech-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:clamp(2.5rem,4.6vmin,3.65rem);height:clamp(2.5rem,4.6vmin,3.65rem);opacity:.28;filter:drop-shadow(0 12px 28px rgba(15,23,42,.07))}.hero-edtech-icon svg{width:100%;height:100%}.hero-edtech-icon--teal{color:#0d9488}.hero-edtech-icon--violet{color:#7c3aed}.hero-edtech-icon--slate{color:#64748b}.hero-edtech-icon--amber{color:#d97706}.hero-edtech-icon--a{left:4%;top:10%;transform:rotate(-14deg)}.hero-edtech-icon--b{right:5%;top:18%;transform:rotate(11deg)}.hero-edtech-icon--c{left:3%;bottom:28%;transform:rotate(8deg)}.hero-edtech-icon--d{right:4%;top:42%;transform:rotate(-11deg)}.hero-edtech-icon--e{left:12%;top:56%;transform:rotate(-7deg)}.hero-edtech-icon--f{right:22%;bottom:14%;transform:rotate(13deg)}.hero-edtech-icon--g{right:32%;top:8%;transform:rotate(-6deg)}@media (max-width: 959px){.hero-edtech-icon{opacity:.22;width:clamp(2.1rem,9vw,2.75rem);height:clamp(2.1rem,9vw,2.75rem)}.hero-edtech-icon--a{left:2%;top:8%}.hero-edtech-icon--b{right:2%;top:14%}.hero-edtech-icon--c{left:1%;bottom:22%}.hero-edtech-icon--d{right:2%;top:38%}.hero-edtech-icon--e{left:8%;top:62%}.hero-edtech-icon--f{right:10%;bottom:10%}.hero-edtech-icon--g{right:18%;top:6%}}@media (prefers-reduced-motion: reduce){.hero-edtech-icon{transform:none!important;opacity:.18}}.hero.landing-showcase .hero-bg,.hero.landing-showcase .hero-grid,.hero.landing-showcase .hero-deco{display:none}.hero-bg{position:absolute;inset:-40% -20% auto;height:120%;background:radial-gradient(ellipse 80% 60% at 70% 0%,var(--color-teal-glow),transparent 55%),radial-gradient(ellipse 50% 40% at 10% 20%,rgba(124,58,237,.14),transparent 50%),radial-gradient(ellipse 35% 30% at 85% 45%,rgba(245,158,11,.08),transparent 45%);pointer-events:none}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(13,148,136,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(13,148,136,.055) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%);pointer-events:none}.hero-deco{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;color:#0d94888c}.hero-deco-orb{position:absolute;border-radius:50%;pointer-events:none}.hero-deco-orb--a{width:min(58vmin,30rem);height:min(58vmin,30rem);top:-12%;left:-14%;background:radial-gradient(circle at 35% 35%,rgba(13,148,136,.15) 0%,transparent 62%);filter:blur(2px)}.hero-deco-orb--b{width:min(48vmin,26rem);height:min(48vmin,26rem);bottom:-8%;right:-10%;background:radial-gradient(circle at 60% 40%,rgba(124,58,237,.13) 0%,transparent 65%);filter:blur(3px)}.hero-deco-orb--c{width:min(36vmin,18rem);height:min(36vmin,18rem);top:38%;right:4%;background:radial-gradient(circle,rgba(13,148,136,.1) 0%,transparent 68%);filter:blur(4px)}.hero-deco-orb--d{width:min(32vmin,16rem);height:min(32vmin,16rem);top:6%;right:14%;background:radial-gradient(circle,rgba(245,158,11,.09) 0%,transparent 72%);filter:blur(5px)}.hero-deco-svg{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(128%,88rem);max-height:94%;height:auto;opacity:1;color:#0d9488}.hero-deco-stroke-violet{color:#8b5cf6}.hero-deco-dot{fill:currentColor;opacity:.42}.hero-deco-dot--soft{opacity:.28}@media (max-width: 959px){.hero-deco-svg{width:145%;top:42%;opacity:.9}.hero-deco-orb--c{opacity:.85}.hero-deco-orb--d{opacity:.75}}.hero-inner{position:relative;z-index:1;flex:1 1 auto;width:100%;max-width:min(1280px,100%);margin:0 auto;padding:clamp(1.25rem,4vmin,2.75rem) clamp(1.25rem,5vw,3rem);display:grid;gap:clamp(1.75rem,4vw,2.75rem);align-content:center;align-items:center;box-sizing:border-box;min-height:0}@media (min-width: 960px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,5.5vw,4rem);row-gap:clamp(1.75rem,3vw,2.5rem);padding:clamp(1.35rem,4vmin,2.85rem) clamp(1.5rem,5vw,3.25rem);align-items:center;align-content:center}}@media (max-width: 959px){.hero-inner{align-items:stretch;padding-left:max(1.1rem,env(safe-area-inset-left,0px));padding-right:max(1.1rem,env(safe-area-inset-right,0px))}}.hero.landing-showcase .hero-inner{flex:0 0 auto;align-self:center;align-content:stretch;align-items:stretch;width:100%;min-height:var(--hero-inner-fill);height:auto;max-height:none;margin-top:auto;margin-bottom:auto;overflow:visible}.hero.landing-showcase .hero-inner.hero-inner--single{grid-template-columns:minmax(0,1fr);justify-items:center}.hero.landing-showcase .hero-inner.hero-inner--single .hero-copy{max-width:min(42rem,100%);align-items:center;text-align:center}@media (max-width: 959px){.hero.landing-showcase .hero-inner{height:auto;max-height:none;min-height:var(--hero-inner-fill);padding-top:clamp(1rem,3.6vw,1.5rem);padding-bottom:clamp(1.2rem,4vw,1.8rem)}.hero.landing-showcase{min-height:calc(100svh - var(--landing-nav-h))}}@media (max-width: 767px){.hero.landing-showcase{min-height:auto;padding-top:calc(var(--landing-nav-offset, var(--landing-nav-h)) + clamp(.9rem,3.2vw,1.35rem))}.hero.landing-showcase .hero-inner{min-height:0;align-content:start;gap:1.1rem;padding-top:clamp(.4rem,1.8vw,.7rem)}.hero.landing-showcase .hero-copy{max-width:100%}.hero-title{font-size:clamp(1.6rem,8.2vw,2.1rem);line-height:1.2}.hero.landing-showcase .hero-subtitle{margin-bottom:.9rem;line-height:1.55;font-size:clamp(.98rem,4.2vw,1.08rem)}.hero.landing-showcase .hero-cta--landing.hero-cta--with-login{gap:.6rem}.hero.landing-showcase .hero-proof-line{line-height:1.45}}@media (max-width: 767px){.landing .hero.landing-showcase .hero-title.hero-title--brand-hero{margin-top:clamp(.35rem,1.8vw,.65rem)}}@media (min-width: 960px){.hero.landing-showcase .hero-inner{align-items:stretch;align-content:stretch}}.hero.landing-showcase .hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;flex:1 1 auto;min-height:0;gap:clamp(.45rem,1.1vmin,.8rem);max-width:min(40rem,100%);min-width:0}@media (max-width: 959px){.hero.landing-showcase .hero-copy{gap:clamp(.85rem,2.2vmin,1.15rem)}}.hero.landing-showcase .hero-copy .hero-badge{margin-bottom:.35rem}.hero.landing-showcase .hero-copy .hero-title{margin-bottom:0}.hero.landing-showcase .hero-copy .hero-subtitle{margin:0;max-width:40ch;color:#334155}.hero.landing-showcase .hero-copy .hero-lead-stack{margin-bottom:0;max-width:100%}.hero.landing-showcase .hero-copy .hero-cta--landing{margin-bottom:0;margin-top:clamp(.55rem,1.8vmin,1rem)}.hero.landing-showcase .hero-inner--single .hero-cta--landing.hero-cta--with-login{justify-content:center}@media (max-width: 959px){.hero.landing-showcase .hero-copy .hero-cta--landing{margin-top:clamp(.35rem,2vmin,.75rem)}}.hero.landing-showcase .hero-visual{justify-content:center;align-self:stretch;height:100%;min-height:0;padding:0;min-width:0}@media (min-width: 960px){.hero.landing-showcase .hero-visual{justify-content:flex-end;padding-left:clamp(.25rem,1.5vw,1.25rem)}}.hero-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--color-teal-dark);background:linear-gradient(135deg,#0d948829,#7c3aed14);border:1px solid rgba(13,148,136,.2);padding:.35rem .75rem;border-radius:999px;margin:0 0 1rem;box-shadow:0 1px 2px #0d948814}.hero.landing-showcase .hero-badge{gap:.4rem;font-size:.82rem;font-weight:600;background:#ffffffbf;border:1px solid rgba(13,148,136,.22);padding:.4rem .9rem;box-shadow:0 4px 20px #0d94881a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-top:0;margin-bottom:0}.hero-title{font-size:clamp(2.15rem,5vw,3.15rem);font-weight:800;line-height:1.16;letter-spacing:-.035em;margin:0 0 1.15rem;text-wrap:balance}.hero-gradient-text{background:linear-gradient(120deg,var(--color-teal) 0%,#059669 40%,var(--color-violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.hero-gradient-text:after{content:"";display:block;width:min(100%,18rem);height:.28rem;border-radius:999px;margin-top:.36rem;background:linear-gradient(90deg,#14b8a6fa,#3b82f6eb,#6366f1e6);opacity:.82;box-shadow:0 6px 14px #2dd4bf3d,0 0 0 1px #fff6 inset}.hero-lead{font-size:1.08rem;color:var(--color-text-muted);max-width:34rem;margin:0 0 1.5rem}.hero.landing-showcase .hero-subtitle{font-size:clamp(1.12rem,2.4vw,1.35rem);font-weight:600;color:#0f172a;margin:0 0 1.65rem;max-width:42rem;line-height:1.74}.hero-lead-stack{display:flex;flex-direction:column;gap:1.05rem;margin:0 0 1.9rem;max-width:40rem}.hero.landing-showcase .hero-lead-stack{display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;min-height:0;gap:clamp(.85rem,2.1vmin,1.15rem);margin-bottom:0}.hero.landing-showcase .hero-lead-para{font-size:clamp(1.02rem,1.9vw,1.14rem);color:#475569;margin:0;line-height:1.82}.hero.landing-showcase .hero-lead-para--single{max-width:40rem;margin-bottom:1.35rem}.hero.landing-showcase .hero-benefits{list-style:disc;margin:0;padding-left:1.2rem;max-width:40rem;font-size:clamp(1.02rem,1.9vw,1.14rem);color:#475569;line-height:1.65;display:flex;flex-direction:column;gap:.55rem}.hero.landing-showcase .hero-benefits li{margin:0;padding-left:.2rem}:root[data-theme=dark] .hero.landing-showcase .hero-benefits{color:#9fb0ca}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.hero-cta--landing{flex-direction:column;align-items:stretch;max-width:22rem;margin-bottom:.65rem}.hero-cta--landing.hero-cta--with-login{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;max-width:none;margin-bottom:.5rem}.hero-cta-login-inline{font-size:.95rem;font-weight:650;color:#0f766e;text-decoration:none;white-space:nowrap;padding:.35rem 0}.hero-cta-login-inline:hover{text-decoration:underline;text-underline-offset:2px}@media (max-width: 380px){.hero.landing-showcase .hero-cta--landing.hero-cta--with-login{flex-direction:column;align-items:stretch;gap:.5rem}.hero.landing-showcase .hero-cta-login-inline{white-space:normal;text-align:center;padding:.25rem 0}}@media (min-width: 520px){.hero-cta--landing:not(.cta-card-actions){flex-direction:row;flex-wrap:wrap;align-items:center;max-width:none}}.hero-cta-sub{margin:0 0 .15rem;font-size:.95rem}.hero-cta-login-link{color:#0f766e;font-weight:600;text-decoration:none}.hero-cta-login-link:hover{text-decoration:underline}.cta-card-actions{justify-content:center;margin-top:.5rem;margin-bottom:.75rem}.cta-card .hero-cta.hero-cta--landing.cta-card-actions{flex-direction:row;justify-content:center;align-items:center;max-width:none;width:100%;margin-left:auto;margin-right:auto}.cta-card .hero-cta.hero-cta--landing.cta-card-actions .btn{width:auto;min-width:min(100%,17.5rem)}.cta-card-login{margin:0;text-align:center;font-size:.98rem}.cta-card-login-link{color:#ffffffeb;font-weight:600;text-decoration:underline;text-underline-offset:2px}.cta-card-login-link:hover{color:#fff}.landing-capabilities{padding-top:clamp(2.5rem,6vw,3.75rem);padding-bottom:clamp(2.5rem,6vw,3.75rem)}.landing-capabilities-head{text-align:center;max-width:38rem;margin:0 auto 2rem}.landing-capabilities-title{font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .85rem;color:#0f172a}.landing-capabilities-intro{margin:0;font-size:1.04rem;line-height:1.62;color:#64748b}.landing-cap-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:1fr}@media (min-width: 640px){.landing-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.landing-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.landing-cap-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.35rem 1.25rem 1.45rem;border-radius:1.2rem;border:1px solid rgba(148,163,184,.28);background:linear-gradient(165deg,#fffffff7,#f8fafcfc);box-shadow:0 8px 28px #0f172a0f;transition:transform .2s ease,box-shadow .2s ease}.landing-cap-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px #0d94881a}.landing-cap-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;border-radius:.85rem;margin-bottom:.85rem;background:linear-gradient(145deg,#0d948829,#6366f11a);color:#0d9488;border:1px solid rgba(13,148,136,.2)}.landing-cap-card-h{margin:0 0 .5rem;font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.32}.landing-cap-card-p{margin:0;font-size:.98rem;line-height:1.62;color:#475569}.landing-chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem;align-items:center}.landing-chip-row--feat{margin-top:.65rem}.landing-chip-row--outro{justify-content:center;margin-top:1rem}.landing-chip-row--aud{margin-top:.75rem}.landing-chip{display:inline-flex;align-items:center;font-size:.86rem;font-weight:650;line-height:1.35;padding:.42rem .78rem;border-radius:999px;color:#0f172a;background:linear-gradient(145deg,#fffffffa,#f0fdfabf);border:1px solid rgba(13,148,136,.22);box-shadow:0 2px 10px #0d948812;transition:transform .18s ease,box-shadow .18s ease}.landing-chip:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0d94881f}.landing-chip-row--outro .landing-chip{background:linear-gradient(135deg,#0d948824,#7c3aed1a);color:#0f766e;border-color:#0d948847;font-weight:700}.landing-audience-card--teacher .landing-chip{border-color:#6366f133;background:linear-gradient(145deg,#fffffffa,#f5f3ffd9)}.hero-visual{display:flex;justify-content:center;align-items:stretch;width:100%}.hero.landing-showcase .hero-bg{opacity:.55}.hero-visual-clean{width:100%;max-width:min(27rem,100%);border-radius:1.1rem;border:1px solid rgba(148,163,184,.28);background:linear-gradient(165deg,#ffffffe6,#f8fafcdb);box-shadow:0 2px 6px #0f172a0a,0 18px 40px #0f172a1f;padding:1rem 1rem .95rem}.hero-visual-clean-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.hero-visual-clean-kicker{font-size:.68rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;font-weight:740;color:#2563eb}.hero-visual-clean-status{border-radius:999px;border:1px solid rgba(16,185,129,.3);background:#10b98121;color:#0f766e;padding:.24rem .5rem;font-size:.66rem;line-height:1;font-weight:740}.hero-visual-clean-title{margin:.62rem 0 .35rem;font-size:1.03rem;line-height:1.25;letter-spacing:-.02em;color:#0f172a}.hero-visual-clean-sub{margin:0;font-size:.8rem;line-height:1.45;color:#334155}.hero-visual-clean-list{margin-top:.8rem;display:flex;flex-direction:column;gap:.46rem}.hero-visual-clean-item{display:flex;align-items:center;gap:.46rem;border-radius:.78rem;border:1px solid rgba(148,163,184,.24);background:#ffffffb3;padding:.44rem .58rem;font-size:.74rem;line-height:1.35;font-weight:620;color:#1e293b}.hero-visual-clean-item svg{flex-shrink:0;color:#4f46e5}.landing-v2-lead,.landing-v2-bento-lead,.landing-popular-lead,.school-intro,.cta-card p{max-width:48ch}.landing-v2-lead,.landing-v2-bento-lead{margin-left:auto;margin-right:auto}.landing-popular-head{max-width:44rem;margin-left:auto;margin-right:auto;text-align:center}.landing .section{padding-block:clamp(2.1rem,4.5vw,3.3rem)}.landing-v2-mosaic--lite{margin-top:1.1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.landing-v2-mosaic--lite .landing-v2-mosaic-item{padding:.9rem .85rem;min-height:0}.landing-v2-mosaic--lite .landing-v2-mosaic-p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 959px){.landing-v2-mosaic--lite{grid-template-columns:1fr;gap:.7rem}}.hero-visual-collage{position:relative;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1rem;align-items:center}@media (min-width: 960px){.hero-visual-collage{max-width:none}}.hero-visual-collage--tilted{width:100%;max-width:min(42rem,100%);gap:.75rem;margin-left:auto;margin-right:auto}@media (min-width: 960px){.hero-visual-collage--tilted{max-width:min(46rem,100%);gap:.85rem}.hero.landing-showcase .hero-visual-collage--tilted{flex:1 1 auto;min-height:0;justify-content:center}}.hero-visual-collage--scatter{position:relative;padding:.9rem .75rem 1rem;border-radius:1.4rem;border:1px solid rgba(148,163,184,.24);background:radial-gradient(circle at 18% 16%,rgba(20,184,166,.16),transparent 56%),radial-gradient(circle at 84% 82%,rgba(99,102,241,.14),transparent 58%),linear-gradient(165deg,#ffffffc7,#f8fafc8f);box-shadow:0 26px 62px #0f172a1c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-visual-collage--dashboard{max-width:min(44rem,100%)}.hero-visual-collage--scatter:before,.hero-visual-collage--scatter:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.hero-visual-collage--scatter:before{width:9.5rem;height:9.5rem;top:-1.8rem;right:-1.8rem;background:radial-gradient(circle at 40% 40%,#10b9812e,#10b98105 72%)}.hero-visual-collage--scatter:after{width:7.5rem;height:7.5rem;bottom:-1.2rem;left:-1.2rem;background:radial-gradient(circle at 50% 50%,#6366f129,#6366f108 72%)}@media (min-width: 960px){.hero-visual-collage--scatter{padding:1rem .85rem 1.1rem;max-width:min(46rem,100%)}}.hero-visual-float--pill{align-self:flex-start;margin-left:clamp(.15rem,1.8vw,.8rem);transform:translateY(-.2rem);z-index:4}.hero-visual-float--demo{width:100%;transform:none;transform-origin:55% 35%;z-index:3}.hero-visual-art{position:relative;border-radius:1.25rem;border:1px solid rgba(125,137,168,.22);background:linear-gradient(155deg,#ffffffe6,#f8fafcc7);min-height:21rem;overflow:hidden;box-shadow:0 2px 6px #0f172a0d,0 26px 56px #0f172a29,0 0 0 1px #ffffff9e inset}.hero-visual-art-aura{position:absolute;border-radius:999px;pointer-events:none}.hero-visual-art-aura--one{width:16rem;height:16rem;top:-4rem;right:-4rem;background:radial-gradient(circle at 42% 38%,#3b82f659,#3b82f600 68%)}.hero-visual-art-aura--two{width:14rem;height:14rem;left:-3.5rem;bottom:-4rem;background:radial-gradient(circle at 55% 42%,#14b8a652,#14b8a600 70%)}.hero-visual-art-orbit{position:absolute;left:50%;top:50%;border-radius:999px;border:1px dashed rgba(148,163,184,.46);transform:translate(-50%,-50%);pointer-events:none}.hero-visual-art-orbit--outer{width:min(92%,24.8rem);height:min(92%,18.6rem)}.hero-visual-art-orbit--inner{width:min(70%,17.2rem);height:min(70%,12.4rem);border-style:solid;border-color:#6366f138}.hero-visual-art-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(70%,18.8rem);border-radius:1.05rem;padding:1rem 1rem .92rem;text-align:center;border:1px solid rgba(148,163,184,.24);background:#ffffffbd;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 14px 34px #0f172a26}.hero-visual-art-core-kicker{display:inline-block;font-size:.67rem;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;font-weight:760;color:#2563eb}.hero-visual-art-core h3{margin:.4rem 0 .38rem;font-size:1rem;line-height:1.25;letter-spacing:-.02em;color:#0f172a}.hero-visual-art-core p{margin:0;font-size:.76rem;line-height:1.45;color:#334155}.hero-visual-art-dots{margin-top:.72rem;display:inline-flex;gap:.42rem}.hero-visual-art-dots span{width:.45rem;height:.45rem;border-radius:999px;background:linear-gradient(135deg,#2dd4bf,#6366f1);box-shadow:0 4px 10px #6366f147}.hero-visual-art-note{position:absolute;display:inline-flex;align-items:center;gap:.34rem;max-width:10rem;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#ffffffdb;padding:.36rem .58rem;font-size:.67rem;line-height:1.25;font-weight:700;color:#1e293b;box-shadow:0 10px 24px #0f172a21}.hero-visual-art-note svg{flex-shrink:0;color:#4f46e5}.hero-visual-art-note--ai{top:1rem;left:.95rem}.hero-visual-art-note--practice{right:1rem;top:2.5rem}.hero-visual-art-note--growth{left:1.25rem;bottom:1.15rem}@media (min-width: 960px){.hero-visual-float--demo{transform:translateY(.15rem);margin-left:0}.hero-visual-collage--scatter .hero-visual-cards-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);position:relative;min-height:7.2rem;margin-top:.65rem;padding:.15rem .1rem .3rem;gap:.9rem}.hero-visual-collage--scatter .hero-visual-float--stick{position:relative;left:auto;bottom:auto;width:100%;max-width:none;transform:translateY(.15rem);z-index:3}.hero-visual-collage--scatter .hero-visual-float--chart{position:relative;right:auto;bottom:auto;width:100%;max-width:none;transform:translateY(-.12rem);z-index:2}.hero-visual-art-note{max-width:11.2rem}}@media (max-width: 959px){.hero-visual-float--pill{transform:translateY(-.1rem);margin-left:.25rem}.hero-visual-float--demo{transform:none}.hero-visual-clean{max-width:100%;padding:.9rem .84rem .82rem}.hero-visual-clean-title{font-size:.96rem}.hero-visual-clean-sub{font-size:.76rem}.hero-visual-clean-item{font-size:.71rem}.hero-visual-art{min-height:18.6rem}.hero-visual-art-core{width:min(78%,17rem);padding:.88rem .8rem .82rem}.hero-visual-art-core h3{font-size:.93rem}.hero-visual-art-core p{font-size:.72rem}.hero-visual-art-note{max-width:8.4rem;font-size:.62rem}.hero-visual-art-note--practice{right:.62rem;top:2.12rem}.hero-visual-art-note--growth{left:.72rem;bottom:.82rem}.hero-visual-float--stick{transform:none;align-self:stretch;margin-right:0;max-width:100%}.hero-visual-float--chart{transform:none;align-self:stretch;margin-left:0;max-width:100%}}@media (prefers-reduced-motion: reduce){.hero-visual-float--pill,.hero-visual-float--demo,.hero-visual-float--stick,.hero-visual-float--chart{transform:none}}.hero-visual-accent{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.05rem;border-radius:1.1rem;min-height:4.5rem;background:linear-gradient(145deg,#fffffff5,#f1f5f9eb);border:1px solid rgba(99,102,241,.22);box-shadow:0 14px 36px #6366f11f;color:#4338ca}.hero-visual-accent svg{flex-shrink:0;opacity:.92}.hero-visual-accent-text{display:flex;flex-direction:column;gap:.12rem;min-width:0;text-align:left}.hero-visual-accent-title{font-size:.92rem;font-weight:750;letter-spacing:-.02em;color:#312e81}.hero-visual-accent-sub{font-size:.78rem;font-weight:650;color:#6366f1}.hero-visual-demo-stack{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:.35rem}.hero-visual-cards-row{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:100%;margin-top:0;align-items:stretch}@media (min-width: 960px){.hero-visual-cards-row{flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:.85rem 1rem;max-width:100%}}.hero-visual-stickers-panel{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.05rem;border-radius:1.1rem;max-width:100%;min-height:4.5rem;background:linear-gradient(145deg,#fffffff7,#f0fdfae6);border:1px solid rgba(13,148,136,.22);box-shadow:0 14px 36px #0d94881c;color:#0f766e}@media (min-width: 960px){.hero-visual-cards-row .hero-visual-stickers-panel{flex:1 1 0;min-width:0;max-width:none}.hero-visual-cards-row .hero-visual-accent{flex:1 1 0;min-width:0;min-height:5.5rem;align-items:flex-start}}.hero-visual-stickers-panel-ico{flex-shrink:0;opacity:.92;color:#0d9488}.hero-visual-stickers-panel-text{display:flex;flex-direction:column;gap:.12rem;min-width:0;text-align:left}.hero-visual-stickers-panel-title{font-size:.92rem;font-weight:750;letter-spacing:-.02em;color:#134e4a;line-height:1.25}.hero-visual-stickers-panel-sub{font-size:.78rem;font-weight:650;line-height:1.45;color:#0d9488}@media (max-width: 959px){.hero-visual-demo-stack{gap:.38rem}.hero-visual-stickers-panel{max-width:100%;min-height:0}.hero-visual-accent{min-height:0}}.hero-visual-pill{display:inline-flex;align-items:center;gap:.45rem}.hero-visual-pill--ai{align-self:center;margin-left:0;padding:.42rem .9rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#0f766e;background:linear-gradient(135deg,#0d948833,#7c3aed1f);border:1px solid rgba(13,148,136,.3);box-shadow:0 10px 28px #0d948829;z-index:2}.hero-visual-pill--ai svg{flex-shrink:0;color:#0d9488}.hero-preview--hero-main{position:relative;z-index:1}.hero-preview{width:100%;max-width:min(100%,26.5rem)}@media (min-width: 960px){.hero-preview{max-width:100%}}.hero-preview-frame{position:relative;border-radius:1.125rem;overflow:hidden;background:linear-gradient(165deg,#fffffff7,#f8fafcfa);border:1px solid rgba(13,148,136,.16);box-shadow:0 2px 4px #0f172a0a,0 22px 48px #0d94881c,0 0 0 1px #ffffffbf inset}.hero.landing-showcase .hero-preview-frame{border-radius:1.35rem;border-color:#0d948838;box-shadow:0 4px 8px #0f172a0d,0 28px 64px #0d948826,0 0 0 1px #ffffffe0 inset}.hero.landing-showcase .hero-preview-title{font-size:.78rem}.hero-preview-chrome{display:flex;align-items:center;gap:.6rem;padding:.5rem .85rem;background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-bottom:1px solid rgba(15,23,42,.07)}.hero-preview-chrome-accent{flex-shrink:0;width:2.85rem;height:.28rem;border-radius:999px;background:linear-gradient(90deg,#fb7185,#fbbf24 42%,#34d399);opacity:.88;box-shadow:0 0 0 1px #ffffff59 inset}.hero-preview-title{font-size:.74rem;font-weight:700;color:#334155;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-preview-split{display:grid;grid-template-columns:1fr}@media (min-width: 560px){.hero-preview-split{grid-template-columns:1fr 1fr;min-height:15.5rem}}.hero-preview-pane{min-width:0;display:flex;flex-direction:column}.hero-preview-pane--chat{padding:.85rem .9rem 1rem;gap:.65rem;background:linear-gradient(180deg,#f8fafce6,#fffffff2);border-bottom:1px solid rgba(13,148,136,.1)}@media (min-width: 560px){.hero-preview-pane--chat{border-bottom:none;border-right:1px solid rgba(13,148,136,.12)}}.hero-preview-msg--user{align-self:flex-end;max-width:100%}.hero-preview-msg--user .hero-preview-who{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.3rem;text-align:right}.hero-preview-msg--user .hero-preview-text{margin:0;padding:.55rem .75rem;border-radius:1rem 1rem .2rem;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:.8rem;line-height:1.45;box-shadow:0 6px 18px #0d948847;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.hero-preview-msg--ai{display:flex;gap:.45rem;align-items:flex-start}.hero-preview-ai-ico{flex-shrink:0;width:1.65rem;height:1.65rem;border-radius:7px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0d948824,#7c3aed1a);border:1px solid rgba(13,148,136,.18);color:#0f766e}.hero-preview-bubble{flex:1;min-width:0;padding:.55rem .72rem;border-radius:.3rem .95rem .95rem;background:#fff;border:1px solid rgba(13,148,136,.14);box-shadow:0 1px 3px #0f172a0d}.hero-preview-bubble-label{display:block;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0d9488;margin-bottom:.28rem}.hero.landing-showcase .hero-preview-bubble-label{text-transform:none;font-size:.62rem;font-weight:750;letter-spacing:.02em}.hero-preview-bubble .hero-preview-text{margin:0;color:#334155;font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.hero-preview-pane--code{background:linear-gradient(165deg,#ecfdf5,#e0f2fe 46%,#f5f3ff);color:#0f172a;border-left:3px solid rgba(13,148,136,.35);box-shadow:inset 0 1px #ffffffbf}.hero-preview-code-head{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.68rem;font-weight:700;color:#475569;background:#ffffffb8;border-bottom:1px solid rgba(13,148,136,.12)}.hero-preview-code-head svg{color:#0d9488;flex-shrink:0}.hero-preview-code{margin:0;flex:1;min-height:0;padding:.65rem .75rem;font-family:var(--font-mono);font-size:.74rem;line-height:1.5;background:#ffffff80;color:#134e4a;overflow:auto}.hero-preview-code code{font-family:inherit;color:#0f766e}.hero-preview-io{padding:.45rem .75rem .55rem;border-top:1px solid rgba(13,148,136,.12);font-family:var(--font-mono);font-size:.68rem;background:#ffffff6b}.hero-preview-io-cap{display:block;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:.35rem}.hero-preview-io-flow{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.hero-preview-io-arr{color:#0d9488;font-size:.85rem;opacity:.85}.hero-preview-kbd{font-family:inherit;font-size:inherit;padding:.2rem .45rem;border-radius:6px;background:#fff;border:1px solid rgba(13,148,136,.28);color:#0f766e;box-shadow:0 1px 2px #0d948814}.hero-preview-kbd--out{color:#047857;border-color:#10b98166;background:#ecfdf5f2}.hero-preview-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .75rem .65rem;margin-top:auto;background:#ffffff94;border-top:1px solid rgba(13,148,136,.12)}.hero-preview-chip{display:inline-flex;align-items:center;gap:.28rem;font-size:.68rem;font-weight:700;padding:.25rem .5rem;border-radius:999px}.hero-preview-chip--ok{background:#10b98124;color:#047857;border:1px solid rgba(52,211,153,.35)}.hero-preview-chip--xp{background:#f59e0b24;color:#b45309;border:1px solid rgba(245,158,11,.32)}.section{padding:3.5rem 1.25rem}.section-tint{background:#0d94880a}.section-wave-top{position:relative}.section-wave-top:before{content:"";position:absolute;left:0;right:0;top:0;height:48px;pointer-events:none;background:linear-gradient(180deg,rgba(250,250,250,.95) 0%,transparent 100%);transform:translateY(-100%)}.section-inner{max-width:1160px;margin:0 auto}.section-title{font-size:clamp(1.65rem,3vw,2rem);font-weight:700;margin:0 0 .75rem;letter-spacing:-.02em}.section-intro{font-size:1.05rem;color:var(--color-text-muted);max-width:640px;margin:0 0 2rem}.landing .section-title{text-align:center}.landing .section-intro{text-align:center;margin-left:auto;margin-right:auto}.landing .school-badge{align-self:center}.landing .school-head-copy{text-align:center}@media (min-width: 768px){.landing .school-head{text-align:center}}.landing .school-intro{margin-left:auto;margin-right:auto}.landing .step h3{text-align:center}.landing .step-num{margin-left:auto;margin-right:auto}.landing-about{position:relative;padding-top:3rem;padding-bottom:3.75rem;background:linear-gradient(180deg,#ecfdf8,#f0fdfa73 42%,#f8fafcf2);overflow:hidden}.landing-about:before{content:"";position:absolute;inset:-20% -10% auto -10%;height:70%;background:radial-gradient(ellipse 55% 70% at 50% 0%,rgba(45,212,191,.22) 0%,transparent 65%);pointer-events:none}.landing-about:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(13,148,136,.07) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 8%,transparent 72%);mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 8%,transparent 72%);pointer-events:none;opacity:.85}.landing-about-inner{position:relative;z-index:1;max-width:min(72rem,100%);margin:0 auto}.landing-about-title{position:relative;z-index:1;font-size:clamp(1.5rem,3.2vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0 0 2rem;color:#0f172a;text-align:center}.landing-section-head{margin-bottom:.25rem}.landing-about-bento{display:grid;gap:1.15rem;margin-top:.5rem}@media (min-width: 900px){.landing-about-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}.landing-about-outro--wide{grid-column:1 / -1}}.landing-surface-about{background:linear-gradient(185deg,#f0fdfa,#f8fafc 38%,#f1f5f9)}.landing-surface-about .landing-about-title{margin-bottom:0}.landing-about-stack{display:flex;flex-direction:column;gap:0}.landing-about-card{position:relative;padding:1.5rem 1.35rem 1.6rem;border-radius:1.2rem;border:1px solid rgba(15,23,42,.07);overflow:hidden;text-align:left}@media (min-width: 640px){.landing-about-card{padding:1.65rem 1.5rem 1.75rem}}.landing-about-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:1.2rem 1.2rem 0 0;pointer-events:none}.landing-about-card--student{background:linear-gradient(165deg,#fffffffa,#ecfdf5eb);box-shadow:0 2px 4px #0f172a0a,0 16px 40px #0d94881a}.landing-about-card--student:before{background:linear-gradient(90deg,#0d9488,#2dd4bf)}.landing-about-card--teacher{background:linear-gradient(165deg,#fffffffa,#f5f3ffe0);box-shadow:0 2px 4px #0f172a0a,0 16px 40px #6366f117}.landing-about-card--teacher:before{background:linear-gradient(90deg,#6366f1,#a78bfa)}.landing-about-card-h{margin:0 0 1rem;font-size:clamp(1.08rem,2.4vw,1.35rem);font-weight:800;line-height:1.35;letter-spacing:-.02em;color:#0f172a}.landing-about-p{margin:0 0 .85rem;font-size:1.02rem;line-height:1.65;color:#334155;white-space:pre-line}.landing-about-p:last-of-type{margin-bottom:0}.landing-about-p--emph{font-weight:600;color:#0f172a}.landing-about-card .landing-about-p--emph{margin-bottom:1rem}@media (min-width: 640px){.landing-about-p{font-size:1.04rem;line-height:1.68}}.landing-about-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.landing-about-points li{font-size:.98rem;line-height:1.5;color:#475569;padding:.45rem .65rem;border-radius:.65rem;background:#ffffffa6;border:1px solid rgba(13,148,136,.1)}.landing-about-card--teacher .landing-about-points li{border-color:#6366f11f}.landing-about-divider{border:none;height:1px;margin:1.35rem auto;max-width:min(28rem,88%);background:linear-gradient(90deg,transparent,rgba(100,116,139,.35),transparent)}.landing-about-outro{margin-top:0;padding:1.5rem 1.35rem 1.65rem;border-radius:1.2rem;text-align:center;background:linear-gradient(165deg,#fffffff5,#ecfdf58c 55%,#f5f3ff73);border:1px solid rgba(13,148,136,.14);box-shadow:0 8px 28px #0d948814}.landing-about-outro--wide{position:relative;overflow:hidden}.landing-about-outro--wide:before{content:"";position:absolute;inset:-40% -20% auto;height:120%;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(45,212,191,.18),transparent 70%);pointer-events:none}.landing-about-outro--wide .landing-about-outro-h,.landing-about-outro--wide .landing-about-outro-lead,.landing-about-outro--wide .landing-about-outro-strong{position:relative;z-index:1}.landing-about-outro-h{margin:0 0 .85rem;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:800;letter-spacing:-.02em;color:#0f172a}.landing-about-outro-lead{margin:0 0 .75rem;font-size:1.05rem;line-height:1.6;color:#334155;white-space:pre-line}.landing-about-outro-strong{margin:0;font-size:1.06rem;font-weight:700;line-height:1.55;color:#0f766e;white-space:pre-line}.feature-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width: 640px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.landing-roadmap-intro{max-width:44rem;margin-left:auto;margin-right:auto}.landing-roadmap-steps{max-width:48rem;margin:1rem auto 0;padding:0;list-style:none;counter-reset:roadmap;display:flex;flex-direction:column;gap:.75rem}.landing-roadmap-steps li{counter-increment:roadmap;position:relative;padding:.9rem 1rem .9rem 2.75rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-teal) 18%,var(--color-border));background:color-mix(in srgb,var(--color-surface) 92%,transparent);line-height:1.5;font-size:.95rem}.landing-roadmap-steps li:before{content:counter(roadmap);position:absolute;left:.85rem;top:.85rem;width:1.45rem;height:1.45rem;border-radius:999px;background:color-mix(in srgb,var(--color-teal) 22%,transparent);color:var(--color-teal-dark);font-size:.78rem;font-weight:800;display:grid;place-items:center;line-height:1}.feature-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:color-mix(in srgb,var(--color-teal) 22%,var(--color-border))}.feature-card h3{margin:.75rem 0 .5rem;font-size:1.05rem}.feature-card p{margin:0;font-size:.92rem;color:var(--color-text-muted)}.feature-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.feature-icon.teal{background:linear-gradient(135deg,var(--color-teal),#0d9488)}.feature-icon.amber{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-icon.violet{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.feature-icon.emerald{background:linear-gradient(135deg,#059669,#047857)}.landing-features-inner{max-width:min(72rem,100%);margin:0 auto}.landing-surface-features{position:relative;background:linear-gradient(180deg,#f8fafc,#f1f5f9 48%,#eef2f7);overflow:hidden}.landing-surface-features:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(99,102,241,.06) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 20%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 20%,#000 15%,transparent 75%);pointer-events:none}.landing-surface-features .section-inner{position:relative;z-index:1}.landing-features-title{margin-bottom:0}.landing-feat-bento{display:grid;gap:1.1rem;grid-template-columns:1fr;margin-top:1.65rem}@media (min-width: 900px){.landing-feat-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.landing-feat-card--wide{grid-column:1 / -1}}.landing-feat-card{position:relative;padding:1.35rem 1.2rem 1.4rem;border-radius:1.25rem;background:linear-gradient(165deg,#fffffff7,#f8fafcfc);border:1px solid rgba(148,163,184,.28);box-shadow:0 1px #ffffffe6 inset,0 8px 32px #0f172a0f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.landing-feat-card:hover{transform:translateY(-3px);box-shadow:0 1px #fffffff2 inset,0 16px 48px #0d948824;border-color:#0d948838}.landing-feat-card .landing-feat-h,.landing-feat-card .landing-feat-p,.landing-feat-card .landing-feat-mid,.landing-feat-card .landing-chip-row{position:relative;z-index:1}.landing-feat-outro--ribbon{margin-top:1.75rem;border-radius:1.35rem;padding:1.65rem 1.4rem 1.75rem;background:linear-gradient(125deg,#0d94881f,#6366f11a,#f59e0b14);border:1px solid rgba(13,148,136,.2);box-shadow:0 12px 40px #0f172a14}.landing-feat-intro{text-align:center;max-width:40rem;margin:0 auto .25rem}.landing-feat-subtitle{font-size:clamp(1.08rem,2.2vw,1.25rem);font-weight:700;color:#0f172a;margin:0 0 .85rem;line-height:1.4}.landing-feat-p{margin:0 0 .75rem;font-size:1.02rem;line-height:1.65;color:#475569;text-align:left}.landing-feat-intro .landing-feat-p:last-child{margin-bottom:0}.landing-feat-p--tight{margin-top:.85rem}.landing-feat-block{min-width:0}.landing-feat-h{margin:0 0 .85rem;font-size:clamp(1.12rem,2.4vw,1.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.3;color:#0f172a;text-align:left}.landing-feat-mid{margin:0 0 .55rem;font-size:1rem;font-weight:600;color:#334155}.landing-feat-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.landing-feat-points li{font-size:.98rem;line-height:1.45;color:#475569;padding:.4rem .65rem;border-radius:.6rem;background:#f8fafcf2;border:1px solid rgba(148,163,184,.22)}.landing-feat-outro{margin-top:.35rem;padding:1.5rem 1.35rem 1.6rem;border-radius:1.15rem;text-align:center;background:linear-gradient(165deg,#fffffffa,#f1f5f9cc);border:1px solid rgba(13,148,136,.14);box-shadow:0 8px 26px #0f172a0f}.landing-feat-outro-h{margin:0 0 .75rem;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:800;color:#0f172a}.landing-feat-outro-lead{margin:0 0 .45rem;font-size:1.06rem;font-weight:600;color:#334155}.landing-feat-outro-sub{margin:0 0 .75rem;font-size:1.02rem;color:#475569}.landing-feat-outro-points{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.landing-feat-outro-points li{font-size:.95rem;font-weight:600;padding:.4rem .75rem;border-radius:999px;background:#0d94881a;color:#0f766e;border:1px solid rgba(13,148,136,.22)}.audience-grid{display:grid;gap:1.25rem}@media (min-width: 768px){.audience-grid{grid-template-columns:1fr 1fr}}.audience-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.audience-card-accent{background:linear-gradient(160deg,#0f766e,#0d9488,#115e59);color:#fff;border:none}.audience-card-accent h3{color:#fff}.audience-card-accent ul{color:#ffffffeb}.audience-icon{color:var(--color-teal);margin-bottom:.75rem}.audience-card-accent .audience-icon{color:#fffffff2}.audience-card h3{margin:0 0 1rem}.audience-card ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.65rem;font-size:.95rem}.audience-card li{display:flex;align-items:center;gap:.5rem}.landing-audience-inner{max-width:min(72rem,100%);margin:0 auto}.landing-audience-title{margin-bottom:0}.landing-surface-audience .landing-audience-bento{margin-top:.65rem}.landing-audience-bento{display:grid;gap:1.1rem}@media (min-width: 860px){.landing-audience-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:stretch}.landing-audience-outro--wide{grid-column:1 / -1}}.landing-audience-outro--wide{text-align:center;padding:1.5rem 1.35rem 1.55rem;border-radius:1.25rem;background:linear-gradient(165deg,#fffffffa,#ecfdf5a6);border:1px solid rgba(13,148,136,.18);box-shadow:0 10px 36px #0d94881a}.landing-audience-stack{display:flex;flex-direction:column;gap:0;margin-top:.35rem}.landing-audience-card{position:relative;padding:1.45rem 1.3rem 1.5rem;border-radius:1.15rem;border:1px solid rgba(15,23,42,.08);text-align:left;overflow:hidden}.landing-audience-card--student{background:linear-gradient(165deg,#fffffffa,#ecfdf5eb);box-shadow:0 16px 40px #0d948817}.landing-audience-card--teacher{background:linear-gradient(165deg,#fffffffa,#f5f3ffe0);box-shadow:0 16px 40px #6366f114}.landing-audience-h{margin:0 0 .65rem;font-size:clamp(1.05rem,2.4vw,1.28rem);font-weight:800;line-height:1.3;color:#0f172a}.landing-audience-lead{margin:0 0 .9rem;font-size:1.02rem;line-height:1.6;color:#475569}.landing-audience-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.landing-audience-points li{font-size:.96rem;line-height:1.45;color:#334155;padding:.42rem .6rem;border-radius:.6rem;background:#ffffffbf;border:1px solid rgba(13,148,136,.12)}.landing-audience-card--teacher .landing-audience-points li{border-color:#6366f126}.landing-audience-foot{margin:1rem 0 0;font-size:.98rem;font-weight:600;color:#0f766e;line-height:1.45}.landing-audience-outro{margin-top:0;padding:1.4rem 1.25rem 1.5rem;border-radius:1.15rem;text-align:center;background:linear-gradient(165deg,#fffffff5,#ecfdf58c);border:1px solid rgba(13,148,136,.14)}.landing-audience-outro-h{margin:0 0 .65rem;font-size:clamp(1.1rem,2.4vw,1.35rem);font-weight:800;color:#0f172a}.landing-audience-outro-p{margin:0;font-size:1.02rem;line-height:1.58;color:#475569;white-space:pre-line}.steps{display:grid;gap:1.5rem}@media (min-width: 768px){.steps{grid-template-columns:repeat(3,1fr)}}.step{position:relative;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.step-num{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;background:var(--color-teal);color:#fff;font-weight:700;border-radius:8px;font-size:.9rem;margin-bottom:.75rem}.step h3{margin:0 0 .35rem;font-size:1.05rem}.step p{margin:0;font-size:.92rem;color:var(--color-text-muted)}.landing .steps .step{display:flex;flex-direction:column;align-items:center;text-align:center}.landing .steps .step-num{margin-left:auto;margin-right:auto}.landing-like-steps .landing-about-card--student,.landing-like-steps .landing-about-card--teacher{background:var(--color-surface);box-shadow:var(--shadow-sm)}.landing-like-steps .landing-about-card--student:before,.landing-like-steps .landing-about-card--teacher:before{display:none}.landing-like-steps .landing-audience-card--student,.landing-like-steps .landing-audience-card--teacher{background:var(--color-surface);box-shadow:var(--shadow-sm)}.landing-like-steps .landing-feat-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.landing-like-steps .landing-feat-card:hover{box-shadow:var(--shadow-md)}.landing-like-steps .landing-about-p,.landing-like-steps .landing-feat-p{font-size:.95rem;line-height:1.55}.landing-like-steps .landing-about-card-h,.landing-like-steps .landing-feat-h,.landing-like-steps .landing-audience-h{font-size:1.05rem}.landing-like-steps .section-title{font-size:clamp(1.35rem,2.8vw,1.65rem)}.landing-like-steps .landing-feat-intro .landing-feat-subtitle{font-size:1.02rem}.landing-showcase.section:not(.hero){padding-top:clamp(2.5rem,6vw,3.75rem);padding-bottom:clamp(2.5rem,6vw,3.75rem)}.landing-showcase .landing-section-head{margin-bottom:.35rem}.landing-showcase .landing-about-title,.landing-showcase .landing-features-title,.landing-showcase .landing-audience-title{position:relative;padding-bottom:.9rem;margin-bottom:.15rem}.landing-showcase .landing-about-title:after,.landing-showcase .landing-features-title:after,.landing-showcase .landing-audience-title:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:2.75rem;height:3px;border-radius:999px;background:linear-gradient(90deg,#0d9488,#6366f1)}.landing-showcase.landing-surface-about,.landing-showcase.landing-surface-features{border-top:1px solid rgba(148,163,184,.22)}.landing-showcase.landing-audience.section-tint{background:linear-gradient(180deg,#f8fafc,#f1f5f9 55%,#eef2f7);border-top:1px solid rgba(148,163,184,.2)}.landing-showcase.landing-like-steps .landing-about-card,.landing-showcase.landing-like-steps .landing-audience-card{border-radius:1.25rem;border:1px solid rgba(148,163,184,.26);box-shadow:0 12px 44px #0f172a12;transition:transform .22s ease,box-shadow .22s ease}.landing-showcase.landing-like-steps .landing-about-card:hover,.landing-showcase.landing-like-steps .landing-audience-card:hover{transform:translateY(-3px);box-shadow:0 18px 52px #0d94881f}.landing-showcase .landing-chip{background:#fffffff0;border-color:#0d948833}.landing-showcase .landing-feat-card{border-radius:1.25rem;border:1px solid rgba(148,163,184,.24);background:#fffffff0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 36px #0f172a0f}.landing-showcase--editorial .landing-feat-bento .landing-feat-card:nth-child(3n+1){background:linear-gradient(168deg,#ecfdf5b8,#fffffff5 52%,#f8fafcfa);border-color:#0d948838}.landing-showcase--editorial .landing-feat-bento .landing-feat-card:nth-child(3n+2){background:linear-gradient(168deg,#f5f3ff8c,#fffffff5);border-color:#6366f133}.landing-showcase--editorial .landing-feat-bento .landing-feat-card:nth-child(3n){background:linear-gradient(168deg,#fffbeba6,#fffffff7);border-color:#f59e0b38}.landing-showcase .landing-feat-outro--ribbon{background:linear-gradient(145deg,#fffffff5,#ecfdf58c 45%,#f5f3ff66);border:1px solid rgba(13,148,136,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 44px #0f172a12}.landing-showcase .landing-about-outro--wide{border-radius:1.3rem;border:1px solid rgba(13,148,136,.18);background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px #0d948814}.landing-showcase .landing-about-outro--wide:before{opacity:.5}.landing-showcase .landing-audience-outro--wide{border-radius:1.3rem;border:1px solid rgba(99,102,241,.18);background:#ffffffeb;box-shadow:0 12px 40px #6366f114}.landing-showcase--editorial .landing-feat-bento .landing-chip-row{display:none}.landing-showcase--editorial .landing-section-head{max-width:40rem;margin-left:auto;margin-right:auto;text-align:left}.landing-showcase--editorial .landing-about-title,.landing-showcase--editorial .landing-features-title,.landing-showcase--editorial .landing-audience-title{text-align:left;margin-left:0;margin-right:auto;padding-bottom:.65rem}.landing-showcase--editorial .landing-about-title:after,.landing-showcase--editorial .landing-features-title:after,.landing-showcase--editorial .landing-audience-title:after{left:0;transform:none;width:3.5rem}.landing-showcase--editorial .landing-feat-intro{text-align:left;margin-left:0;margin-right:auto;max-width:38rem}.landing-showcase--editorial .landing-feat-subtitle{font-size:1rem;font-weight:600;color:#64748b}.landing-showcase--editorial .landing-section-title-row{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:.25rem}.landing-showcase--editorial .landing-section-title-row .landing-about-title,.landing-showcase--editorial .landing-section-title-row .landing-features-title,.landing-showcase--editorial .landing-section-title-row .landing-audience-title{margin:0;flex:1;min-width:0;text-align:left}.landing-showcase--editorial .landing-about .landing-section-title-row{margin-bottom:1.35rem}.landing-showcase--editorial .landing-features-inner .landing-section-title-row{margin-bottom:.5rem}.landing-showcase--editorial .landing-audience-inner .landing-section-title-row{margin-bottom:.65rem}.landing-section-icon-wrap{flex-shrink:0;width:2.85rem;height:2.85rem;border-radius:.95rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0f172a14}.landing-section-icon-wrap--about{background:linear-gradient(145deg,#0d948838,#0d948814);color:#0f766e;border:1px solid rgba(13,148,136,.28)}.landing-section-icon-wrap--features{background:linear-gradient(145deg,#6366f133,#7c3aed14);color:#4f46e5;border:1px solid rgba(99,102,241,.28)}.landing-section-icon-wrap--audience{background:linear-gradient(145deg,#f59e0b38,#fbbf241a);color:#b45309;border:1px solid rgba(245,158,11,.35)}.landing-showcase--editorial .landing-about-p,.landing-showcase--editorial .landing-audience-lead,.landing-showcase--editorial .landing-audience-foot,.landing-showcase--editorial .landing-feat-p{line-height:1.72}.landing-showcase--editorial .landing-about-bento,.landing-showcase--editorial .landing-audience-bento{margin-top:1.25rem}.landing-showcase--editorial .landing-about-card,.landing-showcase--editorial .landing-audience-card{border-left:3px solid #0d9488}.landing-showcase--editorial .landing-about-card--teacher,.landing-showcase--editorial .landing-audience-card--teacher{border-left-color:#6366f1}.cta-section{padding-bottom:4rem}.cta-section-pad{padding-top:1rem}.cta-card{max-width:800px;margin:0 auto;text-align:center;padding:3rem 2rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f766e,#0d9488 45%,#115e59);color:#fff;box-shadow:var(--shadow-lg)}.cta-card h2{margin:0 0 .75rem;font-size:1.75rem}.cta-card p{margin:0 0 1.5rem;opacity:.95;font-size:1.05rem}@media (max-width: 480px){.cta-card{padding:clamp(1.65rem,6vw,2.35rem) clamp(1rem,4vw,1.35rem)}.cta-card h2{font-size:clamp(1.3rem,5.2vw,1.65rem)}.cta-card p{font-size:clamp(.94rem,3.8vw,1.02rem)}}.cta-card .hero-cta{justify-content:center}.landing-school-wrap{padding-top:2.5rem;padding-bottom:3.5rem}.school-spotlight{position:relative;border-radius:1.35rem;overflow:hidden;border:1px solid rgba(13,148,136,.22);background:linear-gradient(155deg,#f0fdfa,#ecfdf5 28%,#d1fae5 58%,#a7f3d0 92%,#ccfbf1);box-shadow:0 12px 40px #0d948824,0 0 0 1px #ffffffd9 inset}.school-spotlight-glow{position:absolute;inset:-35% -15% auto -15%;width:85%;height:75%;background:radial-gradient(ellipse 80% 70% at 18% 12%,rgba(255,255,255,.75) 0%,rgba(204,251,241,.45) 38%,rgba(45,212,191,.18) 62%,transparent 72%);pointer-events:none}.school-spotlight-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.school-spotlight-inner{position:relative;padding:2rem max(1.35rem,env(safe-area-inset-left,0px)) 2.35rem max(1.35rem,env(safe-area-inset-right,0px));color:#1e293b;display:flex;flex-direction:column;align-items:stretch;max-width:56rem;margin:0 auto}@media (min-width: 768px){.school-spotlight-inner{padding:2.65rem 2.5rem 2.85rem}}.school-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:#0f766e;background:#ffffffb8;border:1px solid rgba(13,148,136,.28);padding:.4rem .85rem;border-radius:999px;margin:0 0 1.5rem;align-self:center}@media (min-width: 768px){.school-badge{align-self:flex-start}}.school-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.35rem;margin-bottom:1.65rem}@media (min-width: 768px){.school-head{flex-direction:row;align-items:center;text-align:left;gap:clamp(.85rem,2vw,1.35rem)}}.school-head-visual{flex-shrink:0;width:100%;max-width:22rem;margin:0 auto;display:flex;justify-content:center;align-items:center}@media (min-width: 768px){.school-head-visual{width:auto;flex:0 0 clamp(11.5rem,30vw,14rem);max-width:none;margin:0;justify-content:center}}@media (min-width: 1024px){.school-head-visual{flex-basis:clamp(12rem,26vw,15rem)}}.school-head-copy{flex:1;min-width:0;max-width:36rem;margin:0 auto}@media (min-width: 768px){.school-head-copy{margin:0;max-width:none;padding-top:.15rem}}.school-head-icon{width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffffff2e,#ffffff0f);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:0 8px 24px #0003}.school-head-icon-brand{width:100%;height:clamp(9.5rem,32vw,12.5rem);max-width:min(24rem,100%);min-width:0;padding:0;background:transparent;border:none;box-shadow:none}@media (min-width: 768px){.school-head-icon-brand{height:clamp(11rem,18vw,15rem);max-width:100%}}@media (min-width: 1024px){.school-head-icon-brand{height:clamp(12rem,16vw,16.5rem)}}.school-head-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 6px 24px rgba(13,148,136,.22))}.school-brand-name{margin:0 0 .35rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0f766e}.school-title{margin:0 0 .65rem;font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:800;line-height:1.2;letter-spacing:-.035em;color:#0f172a;text-shadow:none}@media (min-width: 768px){.school-title{margin-bottom:.75rem}}.school-intro{font-size:clamp(.95rem,2.1vw,1.06rem);line-height:1.68;color:#475569;max-width:38rem;margin:0 auto}@media (min-width: 768px){.school-intro{margin-left:0;margin-right:0}}.school-tags{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem .5rem;justify-content:center}@media (min-width: 768px){.school-tags{justify-content:flex-start}}.school-tags li{font-size:.8rem;font-weight:600;padding:.38rem .8rem;border-radius:999px;background:#ffffffbf;border:1px solid rgba(13,148,136,.22);color:#115e59;letter-spacing:.01em}.school-cta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin-bottom:.9rem}@media (min-width: 768px){.school-cta{justify-content:flex-start}}.btn-school-wa{display:inline-flex;align-items:center;gap:.5rem;background:#25d366!important;color:#fff!important;border:none!important;font-weight:700;box-shadow:0 4px 16px #25d36659}.btn-school-wa:hover{filter:brightness(1.06);box-shadow:0 6px 22px #25d36666}.btn-school-ig{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)!important;color:#fff!important;border:none!important;font-weight:700;box-shadow:0 4px 16px #dc274347}.btn-school-ig:hover{filter:brightness(1.05)}.school-note{margin:0 auto;color:#64748b!important;font-size:.88rem!important;max-width:40rem;text-align:center;line-height:1.55}@media (min-width: 768px){.school-note{margin-left:0;margin-right:0;text-align:left}}.catalog-page .landing-menu a.active{color:var(--color-teal-dark)}.landing-popular-courses{border-top:1px solid rgba(13,148,136,.1);border-bottom:1px solid rgba(13,148,136,.08);padding-top:clamp(2rem,5vw,3.25rem);padding-bottom:clamp(2rem,5vw,3.25rem)}.landing-popular-head{text-align:center;max-width:40rem;margin:0 auto 1.75rem}.landing-popular-kicker{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0d9488;margin:0 0 .5rem}.landing-popular-title{margin:0 0 .65rem;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.03em;color:#0f172a;line-height:1.2}.landing-popular-lead{margin:0;color:#64748b;line-height:1.55;font-size:.95rem}.landing-popular-actions{margin-top:1.25rem;display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.catalog-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1.15rem}.catalog-course-card{position:relative;z-index:1;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(165deg,#fff,#fafbfc);box-shadow:0 10px 34px #0f172a0f;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.catalog-course-card:hover{transform:translateY(-3px);box-shadow:0 16px 44px #0d94881f;border-color:#0d948847}.catalog-course-card__link{display:block;color:inherit;text-decoration:none}.catalog-course-card__media{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,#e0f2fe,#ede9fe,#ccfbf1)}.catalog-course-card__cover{width:100%;height:100%;object-fit:cover;display:block}.catalog-course-card__cover-fallback{height:100%;display:flex;align-items:center;justify-content:center;color:#0d94888c}.catalog-course-card__cat{position:absolute;left:.65rem;top:.65rem;padding:.2rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;background:#ffffffeb;color:#0f766e;border:1px solid rgba(13,148,136,.2);max-width:calc(100% - 1.3rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-course-card__body{padding:.95rem 1rem 1.05rem}.catalog-course-card__title{margin:0 0 .4rem;font-size:1.02rem;font-weight:800;letter-spacing:-.02em;line-height:1.28;color:#0f172a}.catalog-course-card__teaser{margin:0 0 .65rem;font-size:.83rem;line-height:1.45;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-course-card__meta{display:flex;flex-wrap:wrap;gap:.55rem .75rem;align-items:center;font-size:.78rem;color:#475569}.catalog-course-card__stat{display:inline-flex;align-items:center;gap:.28rem;font-weight:600}.catalog-course-card__teacher{margin-left:auto;font-weight:500;color:#64748b;max-width:10rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-hero{position:relative;z-index:0;padding:clamp(1rem,2.5vw,1.6rem) 0 clamp(1.1rem,3.5vw,2rem);overflow:hidden}.catalog-hero__glow{position:absolute;inset:-40% -20% auto;height:70%;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(13,148,136,.14),transparent 55%);pointer-events:none}.catalog-hero__inner{position:relative;max-width:min(72rem,100%);margin:0 auto;padding-left:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-right,0px))}.catalog-hero__kicker{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0d9488;margin:0 0 .5rem}.catalog-hero__title{margin:0 0 .45rem;font-size:clamp(1.28rem,2.8vw,1.75rem);font-weight:800;letter-spacing:-.035em;line-height:1.15;color:#0f172a;max-width:36rem}.catalog-hero__lead{margin:0 0 .85rem;max-width:34rem;color:#64748b;line-height:1.45;font-size:.9rem}.catalog-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:stretch;margin-bottom:1.15rem}.catalog-search-wrap{flex:1;min-width:min(100%,16rem);display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 2px 12px #0f172a0a}.catalog-search-ico{color:#94a3b8;flex-shrink:0}.catalog-search-input{border:none;background:transparent;flex:1;min-width:0;font-size:.95rem;outline:none;color:#0f172a}.catalog-chips{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.catalog-chips__label{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:#64748b;margin-right:.25rem}.catalog-chip{border:1px solid rgba(15,23,42,.1);background:#fff;border-radius:999px;padding:.32rem .75rem;font-size:.8rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.catalog-chip:hover{border-color:#0d948859;color:#0f766e}.catalog-chip--active{background:#0d94881f;border-color:#0d948866;color:#0f766e}.catalog-grid-section{position:relative;z-index:1;padding-bottom:3rem}.catalog-page--embedded{min-height:100%;background:transparent}.catalog-page--embedded .catalog-hero{padding-top:.5rem}.catalog-page--embedded .catalog-hero__inner,.catalog-page--embedded .catalog-grid-section .section-inner{max-width:100%;padding-left:0;padding-right:0}.catalog-grid-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1.25rem}.catalog-grid-title{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:#0f172a}.catalog-grid-sub{margin:0}.catalog-empty{text-align:center;padding:2rem 1rem}.catalog-detail-hero{position:relative;padding:clamp(1.25rem,4vw,2.5rem) 0;overflow:hidden}.catalog-detail-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ecfdf5,#f5f3ff 45%,#fafafa);opacity:.95;pointer-events:none}.catalog-detail-hero__inner{position:relative;max-width:min(72rem,100%);margin:0 auto;padding-left:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-right,0px));display:grid;gap:1.5rem;align-items:start}@media (min-width: 900px){.catalog-detail-hero__inner{grid-template-columns:minmax(0,320px) minmax(0,1fr)}}.catalog-detail-cover{width:100%;border-radius:18px;display:block;box-shadow:0 18px 50px #0f172a1f;border:1px solid rgba(15,23,42,.06)}.catalog-detail-cover-fallback{aspect-ratio:4 / 3;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#dbeafe,#e9d5ff,#ccfbf1);color:#0d948873;border:1px solid rgba(15,23,42,.06)}.catalog-detail-badge{display:inline-block;padding:.22rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#0d94881f;color:#0f766e;margin-bottom:.6rem}.catalog-detail-title{margin:0 0 .6rem;font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#0f172a}.catalog-detail-sub{margin:0 0 1rem;font-size:1.02rem;line-height:1.55;color:#475569;max-width:40rem}.catalog-detail-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:600;color:#334155}.catalog-detail-stats span{display:inline-flex;align-items:center;gap:.4rem}.catalog-detail-cta{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.catalog-detail-hint{margin:0;flex-basis:100%}.catalog-detail-hint--ok{display:flex;align-items:center;gap:.35rem;color:#0f766e;font-weight:600}.catalog-detail-body{padding-bottom:3rem}.catalog-detail-columns{display:grid;gap:1.25rem}@media (min-width: 900px){.catalog-detail-columns{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:start}.catalog-syllabus{position:sticky;top:5.5rem}}.catalog-detail-prose h2,.catalog-syllabus h2{margin:0 0 .75rem;font-size:1.05rem;font-weight:800;color:#0f172a}.catalog-promo-text{white-space:pre-wrap;line-height:1.65;color:#334155;font-size:.95rem}.catalog-syllabus-list{margin:0;padding-left:1.1rem;color:#475569;font-size:.9rem;line-height:1.55}.catalog-detail-error{padding:3rem 1rem;text-align:center;color:#64748b}.cs-course-vitrine{margin-top:.65rem;padding-top:.65rem;border-top:1px dashed rgba(15,23,42,.12)}.cs-course-vitrine-strip{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#0d94880f;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .12s ease}.cs-course-vitrine-strip:hover{background:#0d94881a}.cs-course-vitrine-strip-main{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .35rem;min-width:0}.cs-course-vitrine-strip-dot{opacity:.45}.cs-course-vitrine-strip-chevron{flex-shrink:0;opacity:.65;transition:transform .15s ease}.cs-course-vitrine-strip[aria-expanded=true] .cs-course-vitrine-strip-chevron{transform:rotate(180deg)}.cs-course-vitrine-panel{margin-top:.5rem}.cs-course-vitrine-grid--tight{display:flex;flex-direction:column;gap:.45rem}.cs-vitrine-inline-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem 1rem}.cs-vitrine-inline-row .cs-vitrine-toggle{flex-shrink:0}.cs-vitrine-field--grow{flex:1 1 160px;min-width:0}.cs-vitrine-hint-line{margin:0;font-size:.78rem;line-height:1.35}.cs-course-banner-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.cs-course-vitrine-h{margin:0 0 .5rem;font-size:.95rem;font-weight:800;color:#0f172a}.cs-course-vitrine-lead{margin:0 0 .85rem;font-size:.8rem;line-height:1.45;color:#64748b}.cs-course-vitrine-grid{display:grid;gap:.75rem}.cs-course-vitrine-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.cs-course-vitrine-grid--compact .cs-vitrine-toggle,.cs-course-vitrine-grid--compact .cs-vitrine-field:last-of-type,.cs-course-vitrine-grid--compact>p{grid-column:1 / -1}.cs-vitrine-toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.88rem;color:#334155}.cs-vitrine-toggle--top{margin-bottom:.5rem}.cs-vitrine-toggle input{width:1rem;height:1rem;accent-color:#0d9488}.cs-vitrine-field label,.cs-vitrine-field .muted{display:block;margin-bottom:.25rem}.cs-vitrine-field input[type=text],.cs-vitrine-field textarea{width:100%;border-radius:10px;border:1px solid var(--color-border);padding:.45rem .6rem;font-size:.88rem;background:var(--color-surface);color:var(--color-text)}.cs-vitrine-field textarea{min-height:4.5rem;resize:vertical}.cs-vitrine-body{min-height:8rem}.cs-vitrine-body.cs-vitrine-body--compact{min-height:4.5rem}.teacher-hub-catalog-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .45rem;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#0d94881f;color:#0f766e;margin-top:.35rem}:root[data-theme=dark] .catalog-course-card{background:linear-gradient(165deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-surface) 88%,#000) 100%);border-color:#ffffff14;box-shadow:0 10px 32px #0206178c}:root[data-theme=dark] .catalog-course-card:hover{border-color:#2dd4bf66;box-shadow:0 14px 40px #0d948838}:root[data-theme=dark] .catalog-course-card__media{background:linear-gradient(145deg,#0f172a,#1e1b4b 38%,#0f766e 108%)}:root[data-theme=dark] .catalog-course-card__cover-fallback{color:#5eead4a6}:root[data-theme=dark] .catalog-course-card__cat{background:#0f172ae0;color:#5eead4;border-color:#2dd4bf61;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root[data-theme=dark] .catalog-course-card__title,:root[data-theme=dark] .catalog-hero__title,:root[data-theme=dark] .catalog-detail-title,:root[data-theme=dark] .catalog-grid-title,:root[data-theme=dark] .landing-popular-title{color:var(--color-text)}:root[data-theme=dark] .catalog-course-card__teaser{color:#94a3b8}:root[data-theme=dark] .catalog-course-card__meta{color:#94a3b8}:root[data-theme=dark] .catalog-course-card__teacher{color:#7dd3fc}:root[data-theme=dark] .landing-popular-lead{color:#9fb0ca}:root[data-theme=dark] .landing-popular-kicker{color:#5eead4}:root[data-theme=dark] .landing-popular-courses{border-top-color:#94a3b833;border-bottom-color:#94a3b824}:root[data-theme=dark] .landing-popular-actions .btn-primary{background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#042f2e;font-weight:750;box-shadow:0 4px 22px #2dd4bf61,0 0 0 1px #a7f3d059 inset}:root[data-theme=dark] .landing-popular-actions .btn-primary:hover:not(:disabled){box-shadow:0 8px 28px #2dd4bf7a,0 0 0 1px #ccfbf173 inset}:root[data-theme=dark] .hero.landing-showcase .hero-cta .btn.btn-primary{background:linear-gradient(135deg,#2dd4bf,#0f766e);color:#042f2e;font-weight:750;box-shadow:0 4px 24px #2dd4bf6b,0 0 0 1px #ccfbf166 inset}:root[data-theme=dark] .hero.landing-showcase .hero-cta .btn.btn-primary:hover:not(:disabled){box-shadow:0 8px 30px #2dd4bf80,0 0 0 1px #ecfdf580 inset}:root[data-theme=dark] .hero.landing-showcase .hero-cta .btn.btn-primary svg{stroke:#042f2e}:root[data-theme=dark] .hero.landing-showcase .hero-cta-login-inline{color:#5eead4}:root[data-theme=dark] .hero.landing-showcase .hero-cta-login-inline:hover{color:#ccfbf1}:root[data-theme=dark] .cta-card .btn-light{background:linear-gradient(135deg,#2dd4bf,#14b8a6);color:#042f2e;font-weight:750;border:1px solid rgba(204,251,241,.45);box-shadow:0 4px 22px #2dd4bf59}:root[data-theme=dark] .cta-card .btn-light:hover:not(:disabled){background:linear-gradient(135deg,#5eead4,#2dd4bf);box-shadow:0 8px 28px #2dd4bf73}:root[data-theme=dark] .catalog-search-wrap{background:var(--color-surface);border-color:#ffffff1a}:root[data-theme=dark] .catalog-chip{background:var(--color-surface);border-color:#ffffff1a;color:var(--color-text-muted)}:root[data-theme=dark] .catalog-hero__glow{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(45,212,191,.2),transparent 58%)}:root[data-theme=dark] .catalog-hero{background:#0f172a!important}:root[data-theme=dark] .catalog-hero__kicker{color:#5eead4}:root[data-theme=dark] .catalog-hero__lead{color:#9fb0ca}:root[data-theme=dark] .catalog-search-input{color:var(--color-text)}:root[data-theme=dark] .catalog-search-ico{color:#64748b}:root[data-theme=dark] .catalog-chips__label{color:var(--color-text-muted)}:root[data-theme=dark] .catalog-chip:hover{border-color:#2dd4bf73;color:#99f6e4}:root[data-theme=dark] .catalog-chip--active{background:#2dd4bf24;border-color:#2dd4bf80;color:#5eead4}:root[data-theme=dark] .catalog-grid-sub{color:var(--color-text-muted)}:root[data-theme=dark] .catalog-detail-hero__bg{background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface-elevated, #121b2f) 88%,#0f766e 12%) 0%,color-mix(in srgb,var(--color-surface-elevated, #121b2f) 85%,#5b21b6 15%) 48%,var(--color-surface, #0f172a) 100%);opacity:1}:root[data-theme=dark] .catalog-detail-cover{box-shadow:0 18px 50px #020617b3;border-color:#ffffff1a}:root[data-theme=dark] .catalog-detail-cover-fallback{background:linear-gradient(145deg,#0f172a,#312e81 42%,#0f766e 108%);color:#5eead48c;border-color:#ffffff14}:root[data-theme=dark] .catalog-detail-badge{background:#2dd4bf29;color:#5eead4}:root[data-theme=dark] .catalog-detail-sub,:root[data-theme=dark] .catalog-detail-stats{color:#9fb0ca}:root[data-theme=dark] .catalog-detail-hint--ok{color:#5eead4}:root[data-theme=dark] .catalog-detail-prose h2,:root[data-theme=dark] .catalog-syllabus h2{color:var(--color-text)}:root[data-theme=dark] .catalog-promo-text{color:#cbd5e1}:root[data-theme=dark] .catalog-detail-prose.card p{color:#cbd5e1}:root[data-theme=dark] .catalog-syllabus-list{color:#9fb0ca}:root[data-theme=dark] .catalog-detail-error{color:#94a3b8}.landing>section:not(.hero),.landing>footer.landing-footer{background:#fff}:root[data-theme=dark] .landing>section:not(.hero){background:transparent}.landing-v2{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(2.5rem,6vw,4rem)}.landing-v2-about{border-top:1px solid rgba(13,148,136,.1);border-bottom:1px solid rgba(13,148,136,.08)}.landing-v2-features{border-bottom:1px solid rgba(15,23,42,.06)}.landing-v2-unified{position:relative;overflow:hidden;border-top:1px solid rgba(13,148,136,.1);border-bottom:1px solid rgba(15,23,42,.06)}.landing-v2-unified:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 90% 55% at 50% -8%,rgba(13,148,136,.12),transparent 58%),radial-gradient(ellipse 52% 48% at 100% 28%,rgba(99,102,241,.08),transparent 52%)}.landing-v2-unified .landing-v2-inner{position:relative;z-index:1}.landing-v2-head.landing-v2-head--unified{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:min(48rem,100%);margin-left:auto;margin-right:auto;margin-bottom:2.1rem;box-sizing:border-box}.landing-v2-head--unified .landing-v2-kicker{text-align:center}.landing-v2-head--unified .landing-v2-title{width:100%;max-width:44rem;text-align:center;margin-left:auto;margin-right:auto}.landing-v2-head--unified .landing-v2-lead.landing-v2-lead--unified{width:100%;max-width:38rem;margin-left:auto;margin-right:auto;margin-top:0;text-align:center}.landing-v2-cycle-label{text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#64748b;margin:0 0 .85rem}.landing-v2-cycle-row{display:flex;flex-direction:column;align-items:stretch;margin:0 0 2.5rem}@media (min-width: 768px){.landing-v2-cycle-row{flex-direction:row;align-items:stretch;justify-content:center;gap:.35rem}}.landing-v2-cycle-join{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#94a3b8;padding:.35rem 0}@media (min-width: 768px){.landing-v2-cycle-join{align-self:center;padding:0 .2rem}}@media (max-width: 767px){.landing-v2-cycle-join{transform:rotate(90deg);padding:.2rem 0}}.landing-v2-pillar--cycle{flex:1 1 0;min-width:0;position:relative;padding-top:2rem}.landing-v2-pillar-step{position:absolute;top:.35rem;left:50%;transform:translate(-50%);width:1.7rem;height:1.7rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#0d9488,#6366f1);box-shadow:0 3px 12px #0d948859}.landing-v2-bento{padding-top:2.35rem;margin-top:.25rem;border-top:1px solid rgba(15,23,42,.07);scroll-margin-top:calc(var(--landing-nav-h, 3.5rem) + .75rem)}.landing-v2-bento-head{text-align:center;max-width:40rem;margin:0 auto 1.85rem}.landing-v2-bento-kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6366f1;margin:0 0 .5rem}.landing-v2-bento-title{margin:0 0 .6rem;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:800;letter-spacing:-.03em;color:#0f172a;line-height:1.2}.landing-v2-bento-lead{margin:0;font-size:.98rem;line-height:1.55;color:#64748b}.landing-v2-mosaic--bento{gap:1rem}@media (min-width: 640px){.landing-v2-mosaic--bento{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.landing-v2-mosaic--bento{grid-template-columns:repeat(3,1fr);gap:1.15rem}}@media (min-width: 900px){.landing-v2-mosaic--bento .landing-v2-mosaic-item:first-child{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.35rem;align-items:start;text-align:left;padding:1.6rem 1.85rem;border-radius:1.25rem;background:linear-gradient(125deg,#fffffffa,#ecfdf5f0 42%,#eef2ffeb);border:1px solid rgba(13,148,136,.2);box-shadow:0 14px 44px #0d94881f}.landing-v2-mosaic--bento .landing-v2-mosaic-item:first-child .landing-v2-mosaic-ico{grid-row:1 / span 2;width:3rem;height:3rem;border-radius:14px;margin-bottom:0;align-self:center;background:linear-gradient(135deg,#0d9488,#6366f1)}.landing-v2-mosaic--bento .landing-v2-mosaic-item:first-child .landing-v2-mosaic-h{align-self:end;margin-bottom:.2rem}.landing-v2-mosaic--bento .landing-v2-mosaic-item:first-child .landing-v2-mosaic-p{grid-column:2}}.landing-v2-inner{max-width:min(72rem,100%);margin:0 auto;padding-left:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,1.5rem),env(safe-area-inset-right,0px))}.landing-v2-head{text-align:center;max-width:44rem;margin:0 auto 2rem}.landing-v2-kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0d9488;margin:0 0 .65rem}.landing-v2-title{margin:0 0 .85rem;font-size:clamp(1.45rem,3.2vw,1.85rem);font-weight:800;letter-spacing:-.03em;color:#0f172a;line-height:1.2}.landing-v2-lead{margin:0;font-size:clamp(1rem,2vw,1.08rem);line-height:1.65;color:#475569}.landing-v2-lead--narrow{max-width:38rem;margin-left:auto;margin-right:auto}.landing-v2-pillars{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.landing-v2-pillars{grid-template-columns:repeat(3,1fr);gap:1.15rem;align-items:stretch}}.landing-v2-pillar{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.landing-v2-pillar:hover{border-color:#0d948847;box-shadow:var(--shadow-md)}.landing-v2-pillar-icon{width:2rem;height:2rem;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;background:var(--color-teal);color:#fff;flex-shrink:0}.landing-v2-pillar-icon--teal{background:var(--color-teal);color:#fff}.landing-v2-pillar-icon--violet{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.landing-v2-pillar-icon--emerald{background:linear-gradient(135deg,#059669,#0d9488);color:#fff}.landing-v2-pillar-h{margin:0 0 .5rem;font-size:1.05rem;font-weight:750;letter-spacing:-.02em;color:#0f172a}.landing-v2-pillar-p{margin:0;font-size:.92rem;line-height:1.58;color:#64748b}.landing-v2-mosaic{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.landing-v2-mosaic{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.landing-v2-mosaic{grid-template-columns:repeat(3,1fr)}}.landing-v2-mosaic-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:1.5rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);min-height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.landing-v2-mosaic-item:hover{border-color:#0d948847;box-shadow:var(--shadow-md)}.landing-v2-mosaic-ico{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:var(--color-teal);color:#fff;margin-bottom:.75rem;flex-shrink:0}.landing-v2-mosaic-h{margin:0 0 .35rem;font-size:1.05rem;font-weight:750;letter-spacing:-.02em;color:#0f172a;line-height:1.3}.landing-v2-mosaic-p{margin:0;font-size:.92rem;line-height:1.58;color:var(--color-text-muted)}.landing-footer{border-top:1px solid var(--color-border);background:#fff;padding:2rem max(1.25rem,env(safe-area-inset-right,0px)) max(2rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}.landing-footer-inner{max-width:1160px;margin:0 auto;text-align:center}.landing-footer-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;margin-bottom:.75rem}.landing-footer-partner{margin:0 auto 1.1rem;font-size:.92rem;line-height:1.45;color:#64748b;max-width:38rem;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.landing-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem 1.25rem}.landing-footer-links a{color:var(--color-teal-dark);font-weight:600;text-decoration:none}.public-auth-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none;margin:0;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:1rem;padding-left:max(clamp(1rem,4vw,3rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,3rem),env(safe-area-inset-right,0px));box-sizing:border-box}.public-auth-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--color-text);text-decoration:none}.public-auth-brand:hover .brand-wordmark__bilim{color:#0f766e}:root[data-theme=dark] .public-auth-brand:hover .brand-wordmark__bilim{color:#99f6e4}.auth-wrap{max-width:480px;margin:0 auto;padding:0 max(1.25rem,env(safe-area-inset-left,0px)) 3rem max(1.25rem,env(safe-area-inset-right,0px));padding-bottom:max(3rem,env(safe-area-inset-bottom,0px))}.dashboard-root{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);--dash-sticky-below-header: 5.1rem}@media (max-width: 720px){.dashboard-root{--dash-sticky-below-header: 5.45rem}}.dash-header{--dash-header-surface: rgba(255, 255, 255, .92);position:sticky;top:0;z-index:200;background:var(--dash-header-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.dash-header-inner{width:100%;max-width:none;margin:0;box-sizing:border-box;padding-top:max(.5rem,env(safe-area-inset-top,0px));padding-bottom:.5rem;padding-left:max(clamp(1rem,4vw,3rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1rem,4vw,3rem),env(safe-area-inset-right,0px));overflow:visible}.dash-header-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem .5rem;width:100%;min-height:3.35rem;overflow:visible}.dash-header-row .dash-brand{flex-shrink:0}.dash-header-row .dash-nav-main{flex:1 1 0;min-width:0;width:auto;border-top:none!important;margin:0;justify-content:flex-end;padding:.34rem 1rem .34rem 0!important;position:relative;z-index:60;align-self:center}.dash-header-row .dash-header-tools{display:inline-flex;align-items:center;flex-shrink:0;flex-wrap:nowrap;gap:.35rem;position:relative;z-index:20}@media (max-width: 720px){.dash-header-row .dash-nav-main{justify-content:flex-start}.dash-header-tools{margin-left:auto}}.dash-header-top{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:2.55rem}.dash-header-tools{display:flex;align-items:center;gap:.45rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dash-brand{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--color-text);text-decoration:none;flex-shrink:0;align-self:center}.dash-brand:hover .brand-wordmark__bilim{color:#0f766e}:root[data-theme=dark] .dash-brand:hover .brand-wordmark__bilim{color:#99f6e4}.dash-brand-text{display:none}@media (min-width: 480px){.dash-brand-text{display:inline}}.dash-nav-main{display:flex;align-items:center;gap:.25rem;margin-left:0;width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.35rem 1rem .15rem 0;border-top:1px solid rgba(15,23,42,.08)}.dash-nav-main::-webkit-scrollbar{height:4px}.dash-nav-main::-webkit-scrollbar-thumb{background:#0d948859;border-radius:999px}.dash-nav-link-text{display:inline}@media (max-width: 520px){.dash-nav-link-text{display:none}.dash-nav-link{padding:.5rem .65rem}}.dash-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .75rem;min-height:2.1rem;border-radius:999px;border:1px solid transparent;font-size:.88rem;font-weight:600;line-height:1;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease}.dash-nav-link:hover{color:var(--color-text);background:#0f172a0f}.dash-nav-link.is-active{color:var(--color-teal-dark);background:#0d948824}.dash-nav-link.dash-nav-link--badged{position:relative;overflow:visible;z-index:80;padding-inline-end:.45rem}.dash-nav-link.dash-nav-link--badged.is-active{z-index:90}.dash-nav-badge{position:absolute;top:-.15rem;right:.05rem;min-width:1rem;height:1rem;padding:0 .3rem;border-radius:999px;font-size:.6rem;font-weight:800;line-height:1rem;text-align:center;color:#fff;background:linear-gradient(135deg,#e11d48,#f97316);box-shadow:0 1px 5px #e11d486b;pointer-events:none;z-index:2147483647}.dash-nav-badge--social{top:.12rem;right:0;min-width:1.15rem;height:1.15rem;padding:0 .38rem;font-size:clamp(.58rem,2.4vw,.68rem);font-weight:800;line-height:1.15rem;box-shadow:0 2px 12px #e11d4899;transform:translate(40%,-42%);z-index:2147483647}.dash-user{position:relative;display:inline-flex;align-items:center;margin-left:auto;flex-shrink:0}.dash-user-text-col{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:.06rem;flex:1}.dash-user-pill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:.4rem;row-gap:.1rem;padding:.22rem .5rem .26rem;max-width:min(300px,48vw);border:1px solid var(--color-border);border-radius:999px;background:#ffffffd1;min-height:2.1rem}.dash-user-pill.is-open{border-color:#0d948859;box-shadow:0 0 0 3px #0d948826}.dash-user-pill-ava{grid-row:1 / span 2;grid-column:1;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:inherit;align-self:center}.dash-user-pill-name{grid-row:1;grid-column:2;align-self:end;padding:0;margin:0;border:none;background:transparent;cursor:pointer;text-align:left;min-width:0;max-width:100%}.dash-user-xp-embed{grid-row:2;grid-column:2;align-self:start;display:flex;flex-direction:column;gap:.12rem;min-width:0;max-width:100%;text-decoration:none;color:var(--color-text-muted);font-size:.62rem;font-weight:650;line-height:1.2;letter-spacing:.01em;transition:color .15s ease,opacity .15s ease}button.dash-user-xp-embed{border:none;background:transparent;padding:0;margin:0;width:100%;cursor:pointer;font:inherit;text-align:left}.dash-user-xp-embed:hover{color:var(--color-teal-dark)}.dash-user-xp-track{display:block;width:100%;height:3px;border-radius:999px;background:#0d94881f;overflow:hidden}.dash-user-xp-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#5eead4);transition:width .25s ease}.dash-user-xp-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-user-pill-chev{grid-row:1 / span 2;grid-column:3;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:inherit;align-self:center}.dash-user-pill-hover{position:relative;display:inline-flex;flex-direction:column;align-items:stretch;max-width:min(300px,48vw)}.dash-user-pill-hover .dash-user-pill{max-width:none}.dash-user-pill-hover.is-stats-hover .dash-user-pill{border-color:#0d948859;box-shadow:0 0 0 3px #0d94881f}.dash-user-stats-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:400;width:min(22rem,calc(100vw - 1.5rem));padding:.85rem .95rem .75rem;border-radius:14px;border:1px solid color-mix(in srgb,#0d9488 22%,var(--color-border));background:linear-gradient(165deg,#fff,#f0fdfaf5);box-shadow:0 14px 40px #0f172a24,0 0 0 1px #0d94880f;pointer-events:auto;animation:dash-user-popover-in .16s ease-out}@keyframes dash-user-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dash-user-stats-popover-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(148,163,184,.35)}.dash-user-stats-popover-ava{width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid rgba(13,148,136,.35);object-fit:cover;flex-shrink:0;display:grid;place-items:center;font-size:1.25rem;background:#ffffffe6}.dash-user-stats-popover-ava img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.dash-user-stats-popover-ident{min-width:0;flex:1}.dash-user-stats-popover-name{font-weight:750;font-size:.95rem;letter-spacing:-.02em;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.dash-user-stats-popover-email{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-user-stats-popover-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-bottom:.65rem}.dash-user-stats-popover-cell{display:flex;flex-direction:column;gap:.12rem;min-width:0}.dash-user-stats-popover-cell--wide{grid-column:1 / -1}.dash-user-stats-popover-k{font-size:.65rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.dash-user-stats-popover-v{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text)}.dash-user-stats-popover-track{height:6px;border-radius:999px;background:#0d94881f;overflow:hidden;margin-top:.2rem}.dash-user-stats-popover-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#5eead4);transition:width .25s ease}.dash-user-stats-popover-footer{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:0 -.25rem -.15rem;padding:.45rem .5rem;border-radius:10px;font-size:.82rem;font-weight:650;color:#0f766e;text-decoration:none;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.dash-user-stats-popover-footer:hover{background:#0d94881a;border-color:#0d948840}.dash-user-trigger{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--color-border);background:#ffffffd1;border-radius:999px;padding:.35rem .65rem;cursor:pointer;color:var(--color-text)}.dash-user-role--sub{display:none;font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);line-height:1.2}@media (min-width: 900px){.dash-user-role--sub{display:block}}.dash-user-trigger.is-open{border-color:#0d948859;box-shadow:0 0 0 3px #0d948826}.dash-user-name{display:none;gap:.35rem;font-size:.82rem;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 900px){.dash-user-name{display:inline-flex}}.dash-user-pill .dash-user-name{display:inline-flex;font-size:.82rem;max-width:min(176px,38vw)}.dash-user-icon{flex-shrink:0;color:var(--color-teal)}.dash-user-avatar{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0d94881f;font-size:.92rem;overflow:hidden}.dash-user-avatar:is(img){width:22px;height:22px;max-width:22px;max-height:22px;min-width:22px;flex-shrink:0;object-fit:cover;object-position:center;padding:0;background:transparent;border:1px solid rgba(13,148,136,.22);box-sizing:border-box}.dash-user-menu-avatar:is(img){width:2.5rem;height:2.5rem;max-width:2.5rem;max-height:2.5rem;min-width:2.5rem;flex-shrink:0;object-fit:cover;object-position:center;padding:0;display:block;box-sizing:border-box}.chat-user-avatar-img,.portal-lb-avatar:is(img),.portal-lb-v2-avatar:is(img){max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover;object-position:center;box-sizing:border-box}.portal-lb-avatar,.portal-lb-v2-avatar{overflow:hidden}.dash-user-chevron{color:var(--color-text-muted)}.dash-user-role{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);display:none}@media (min-width: 900px){.dash-user-role{display:inline}}.dash-user-menu{position:absolute;right:0;top:calc(100% + .45rem);width:min(18rem,calc(100vw - 1.5rem));background:#fff;border:1px solid rgba(13,148,136,.22);border-radius:14px;box-shadow:0 4px 6px -1px #0f172a14,0 18px 42px -12px #0d94882e;padding:0;z-index:60;overflow:hidden}.dash-user-menu-head{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;background:linear-gradient(135deg,#f0fdfaf2,#faf5ffbf);border-bottom:1px solid rgba(13,148,136,.12)}.dash-user-menu-avatar{width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;font-size:1.35rem;background:#fff;border:2px solid rgba(13,148,136,.25);flex-shrink:0;box-shadow:0 2px 8px #0d94881f;overflow:hidden}.dash-user-menu-ident{min-width:0;flex:1}.dash-user-menu-name{font-weight:750;font-size:.95rem;line-height:1.25;color:var(--color-text);word-break:break-word}.dash-user-menu-email{font-size:.72rem;color:var(--color-text-muted);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dash-user-menu-role{color:var(--color-teal-dark);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem}.dash-user-menu-body{padding:.35rem;display:flex;flex-direction:column;gap:.15rem}.dash-user-menu-item{width:100%;display:inline-flex;align-items:center;gap:.55rem;border:0;background:transparent;cursor:pointer;border-radius:10px;padding:.55rem .65rem;font:inherit;font-size:.9rem;font-weight:650;color:var(--color-text);text-align:left;text-decoration:none;transition:background .15s ease}.dash-user-menu-item--link{color:var(--color-teal-dark)}.dash-user-menu-item--danger{color:#b91c1c}.dash-user-menu-item:hover{background:#0d94881a}.dash-user-menu-item--danger:hover{background:#fee2e2d9}.avatar-pick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.35rem}.avatar-pick-btn{border:1px solid var(--color-border);border-radius:10px;background:#fff;font-size:1.05rem;padding:.32rem 0;cursor:pointer}.avatar-pick-btn.is-active{border-color:#0d948873;box-shadow:0 0 0 2px #0d94881f}.dashboard-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:clamp(.85rem,2.8vw,1.5rem) max(.85rem,env(safe-area-inset-right,0px)) max(2.5rem,env(safe-area-inset-bottom,0px)) max(.85rem,env(safe-area-inset-left,0px));box-sizing:border-box}.dashboard-main:has(.material-lecture-page){max-width:none;width:90%;margin-left:auto;margin-right:auto;box-sizing:border-box}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0 0 .35rem;font-size:1.65rem;font-weight:700;letter-spacing:-.02em}.page-header p{margin:0;color:var(--color-text-muted);font-size:.98rem}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.card h2{margin:0 0 1rem;font-size:1.15rem;font-weight:700}.card h3,.card h4{margin:1.25rem 0 .75rem;font-size:1rem}.row{display:flex;gap:.85rem;flex-wrap:wrap;align-items:flex-end}label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:500;color:var(--color-text)}input,select,textarea{font:inherit;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:10px;background:#fff;min-width:200px;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#0d948873;box-shadow:0 0 0 3px var(--color-teal-glow)}:root[data-theme=dark] .dashboard-root[data-role=student] :where(input,select,textarea):not([type=checkbox]):not([type=radio]){background:#0f172a;color:#dbe7fb;border-color:#94a3b857}:root[data-theme=dark] .dashboard-root[data-role=student] :where(input,select,textarea):not([type=checkbox]):not([type=radio])::placeholder{color:#8ea2c4}:root[data-theme=dark] .dashboard-root[data-role=student] :where(input,select,textarea):not([type=checkbox]):not([type=radio]):focus{border-color:#2dd4bf8f;box-shadow:0 0 0 3px #2dd4bf38}textarea.code{width:100%;min-height:180px;font-family:var(--font-mono);font-size:.88rem;min-width:0;background:#f8fafc}.task-work-card textarea.code{background:#1e1e1e;color:#d4d4d4;border:1px solid #2d2d30;border-radius:12px;min-height:280px;line-height:1.55;font-size:.9rem;padding:.85rem 1rem;box-shadow:inset 0 1px #ffffff08,0 6px 22px #00000038;caret-color:#4fc1ff;-moz-tab-size:2;tab-size:2}.task-work-card textarea.code::placeholder{color:#808a93}.task-work-card textarea.code:focus{border-color:#3794ff;box-shadow:0 0 0 3px #3794ff38,0 10px 28px #0000004d}.code-editor-shell{display:block;border:1px solid #2d2d30;border-radius:12px;overflow:hidden;background:#1e1e1e;box-shadow:inset 0 1px #ffffff08,0 6px 22px #00000038}.code-editor-shell .cm-editor{font-family:var(--font-mono);font-size:var(--code-font-size, 14px)}.code-editor-shell .cm-content,.code-editor-shell .cm-gutters,.code-editor-shell .cm-lineNumbers{font-size:var(--code-font-size, 14px)}.code-editor-shell .cm-scroller{min-height:320px}.code-editor-shell--tasks .cm-scroller{min-height:0}.code-editor-shell:focus-within{border-color:#3794ff;box-shadow:0 0 0 3px #3794ff38,0 10px 28px #0000004d}.tasks-run-io-label{font-size:.78rem;color:var(--color-text)}.task-work-card textarea.code.tasks-run-io-input{min-height:84px;max-height:130px;font-size:.82rem;line-height:1.45;padding:.55rem .65rem;background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.14);border-radius:8px;resize:vertical;box-shadow:none;caret-color:#0f172a}.task-work-card textarea.code.tasks-run-io-input::placeholder{color:#94a3b8}.task-work-card textarea.code.tasks-run-io-input:focus{outline:none;border-color:#0d94888c;box-shadow:0 0 0 3px #0d948826}.tasks-run-output-log.is-error{border-color:#dc262673;background:linear-gradient(180deg,#fef2f2d9,#fff)}.tasks-public-tests-inline{display:grid;gap:.5rem;margin-top:.6rem}.tasks-public-test-item{border:1px dashed var(--color-border);border-radius:10px;padding:.5rem .6rem;background:#0f172a05}.tasks-public-tests-table-wrap{margin-top:.6rem}.tasks-public-tests-table{width:100%;border-collapse:collapse;margin-top:.45rem;font-size:.84rem}.tasks-public-tests-table th,.tasks-public-tests-table td{border:1px solid var(--color-border);padding:.35rem .45rem;text-align:left;vertical-align:top}.error{color:#b91c1c;font-size:.88rem;margin:.5rem 0 0}.nav-links{display:flex;gap:.5rem;margin:1rem 0 1.5rem;flex-wrap:wrap}.nav-links a{text-decoration:none;padding:.45rem .9rem;border-radius:999px;font-weight:600;font-size:.88rem;background:#0d94881f;color:var(--color-teal-dark)}.nav-links a:hover{background:#0d948833}.chat-log{white-space:pre-wrap;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;min-height:140px;margin-bottom:1rem;line-height:1.6}.tests{font-size:.9rem}.tests pre{background:linear-gradient(180deg,#f5fbf9,#e8f3f0);color:#115e59;padding:.85rem;border-radius:10px;overflow:auto;font-family:var(--font-mono);font-size:.82rem;border:1px solid rgba(13,148,136,.22);box-shadow:0 1px 2px #0d94880f}.tests table{width:100%;border-collapse:collapse}.tests th,.tests td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.tests th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.auth-card{margin-top:1rem;margin-left:max(0px,env(safe-area-inset-left,0px));margin-right:max(0px,env(safe-area-inset-right,0px));margin-bottom:max(0px,env(safe-area-inset-bottom,0px))}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem}.auth-card .subtitle{margin:0 0 1.25rem;color:var(--color-text-muted);font-size:.95rem}.auth-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-muted)}.auth-footer a{color:var(--color-teal-dark);font-weight:600}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0206178c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));animation:auth-modal-backdrop-in .22s ease-out both}.auth-modal-panel{position:relative;width:min(420px,100%);max-height:min(92dvh,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 28px));display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:radial-gradient(120% 80% at 100% -30%,rgba(13,148,136,.09),transparent 45%),radial-gradient(90% 60% at 0% 100%,rgba(99,102,241,.07),transparent 48%),#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 1px #ffffffe6 inset,0 28px 64px -24px #0f172a47,0 12px 32px -12px #0d94881f;padding:0;animation:auth-modal-panel-in .26s cubic-bezier(.22,1,.36,1) both}.auth-modal-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#0d9488,#14b8a6 35%,#6366f1 72%,#8b5cf6);z-index:1;pointer-events:none}@media (max-width: 1280px){.dashboard-root[data-role=student] .dash-header-row{gap:.3rem .4rem}.dashboard-root[data-role=student] .dash-header-row .dash-nav-main{justify-content:flex-start;padding-right:.35rem!important}.dashboard-root[data-role=student] .dash-nav-link{padding:.4rem .58rem;font-size:.82rem;gap:.28rem}}@media (max-width: 1440px){.dashboard-root[data-role=student] .dash-header-row .dash-nav-main{justify-content:flex-start;padding-right:.25rem!important}.dashboard-root[data-role=student] .dash-nav-link{padding:.42rem .62rem;font-size:.84rem}}.dashboard-root[data-role=student] .dash-header-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.45rem}.dashboard-root[data-role=student] .dash-header-row .dash-brand{min-width:fit-content}.dashboard-root[data-role=student] .dash-header-row .dash-nav-main{min-width:0;width:100%;justify-content:center;padding-left:.5rem!important;padding-right:.5rem!important}@media (max-width: 1360px){.dashboard-root[data-role=student] .dash-brand-text,.dashboard-root[data-role=student] .dash-nav-link-text{display:none}.dashboard-root[data-role=student] .dash-nav-link{padding:.44rem .58rem}}@media (max-width: 1120px){.dashboard-root[data-role=student] .dash-brand-text{display:none}.dashboard-root[data-role=student] .dash-header-row .dash-header-tools{gap:.25rem}}@media (max-width: 980px){.dashboard-root[data-role=student] .dash-nav-main{scrollbar-width:thin}}.auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.35rem 1.35rem .85rem;flex-shrink:0}.auth-modal-brand{display:flex;align-items:flex-start;gap:.9rem;min-width:0}.auth-modal-logo-wrap{flex-shrink:0;width:52px;height:52px;border-radius:16px;padding:2px;background:linear-gradient(145deg,#0d948833,#6366f126);box-shadow:0 4px 14px #0d94881f}.auth-modal-logo{width:100%;height:100%;border-radius:14px;object-fit:contain;background:#fff;display:block}.auth-modal-titles{display:flex;flex-direction:column;gap:.2rem;min-width:0}.auth-modal-kicker{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0d9488;margin:0}.auth-modal-title{font-size:1.28rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;color:#0f172a;margin:0}.auth-modal-lead{margin:.35rem 0 0;font-size:.86rem;line-height:1.45;color:var(--color-text-muted);font-weight:500}.auth-modal-close{flex-shrink:0;width:40px;height:40px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.auth-modal-close:hover{background:#fff;border-color:#0d948859;color:#0f766e}.auth-modal-close:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0d948859}.auth-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 1.35rem 1.35rem;display:flex;flex-direction:column;gap:1rem}.auth-modal-section{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.auth-modal-section--google{align-items:center}.auth-modal-section--google .auth-google-shell{background:transparent;border:none;box-shadow:none}.auth-section-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;text-align:center}.auth-role-block{margin-bottom:.85rem;text-align:center}.auth-role-field-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:.45rem;text-align:center}.auth-modal-hint{margin:0;font-size:.75rem;line-height:1.45;color:var(--color-text-muted);text-align:center}.auth-role-toggle{display:flex;width:100%;max-width:100%;margin:0;padding:4px;border-radius:14px;background:#f1f5f9;border:1px solid rgba(148,163,184,.35);box-shadow:inset 0 1px 2px #0f172a0a;gap:4px;box-sizing:border-box}.auth-role-toggle-btn{flex:1;min-width:0;border:none;border-radius:11px;padding:.52rem .65rem;font-size:.86rem;font-weight:600;cursor:pointer;color:#64748b;background:transparent;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.auth-role-toggle-btn:hover:not(:disabled){color:#0f172a}.auth-role-toggle-btn.is-active{color:#fff;background:linear-gradient(135deg,#0d9488,#0f766e);box-shadow:0 4px 14px #0d948852}.auth-role-toggle-btn:disabled{opacity:.55;cursor:not-allowed}.auth-role-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-text)}.auth-role-select{max-width:20rem;padding:.45rem .65rem;border-radius:.5rem;border:1px solid var(--color-border);background:var(--color-surface)}.auth-google-section{margin-bottom:.85rem;display:flex;flex-direction:column;align-items:stretch;width:100%}.auth-google-section .auth-google-shell{width:100%;max-width:min(22rem,100%);margin-left:auto;margin-right:auto}.auth-google-shell{padding:0;border-radius:14px;background:linear-gradient(135deg,#0d94881f,#7c3aed14);border:1px solid rgba(13,148,136,.15);box-shadow:inset 0 1px #fff9;width:100%;max-width:100%}.auth-google-shell .auth-google-wrap{border-radius:12px;overflow:visible;background:transparent}.auth-google-shell .auth-google-placeholder{background:transparent;padding:6px}.auth-google-placeholder{width:100%}.auth-google-fake-bar{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:2.75rem;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:linear-gradient(180deg,#fff,#f8fafc);color:#3c4043;font-size:.9rem;font-weight:600;font-family:Roboto,system-ui,sans-serif;box-shadow:0 2px 8px #0f172a0f}.auth-google-fake-g{flex-shrink:0}.auth-google-setup-hint{margin:.5rem 0 0;font-size:.75rem;line-height:1.45;color:var(--color-text-muted);text-align:center}.auth-google-wrap{position:relative;min-height:2.75rem;display:flex;align-items:center;justify-content:center;padding:4px}.auth-google-wrap--ready .auth-google-btn-host{width:100%}.auth-google-btn-host{display:flex;justify-content:center;align-items:center;min-height:2.75rem}.auth-google-btn-host iframe{border-radius:999px!important;box-shadow:0 2px 12px #0f172a1a}.auth-google-blocker{position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafc8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;cursor:not-allowed}.auth-modal-divider{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding-top:.25rem;color:#94a3b8;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.auth-modal-divider:before,.auth-modal-divider:after{content:none;display:none}.auth-modal-divider span{white-space:nowrap}.auth-modal-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field-label{font-size:.84rem;font-weight:600;color:#334155;letter-spacing:-.01em}.auth-field-input{width:100%;box-sizing:border-box;min-height:2.85rem;padding:.55rem .9rem;font-size:.95rem;line-height:1.35;color:#0f172a;background:#f8fafc;border:1.5px solid rgba(148,163,184,.45);border-radius:12px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.auth-field-input::placeholder{color:#94a3b8}.auth-field-input:hover:not(:disabled){border-color:#0d948859;background:#fff}.auth-field-input:focus{outline:none;border-color:#0d9488bf;background:#fff;box-shadow:0 0 0 4px #0d948824}.auth-field-input:disabled{opacity:.65;cursor:not-allowed}.auth-modal-error{padding:.65rem .85rem;border-radius:12px;font-size:.86rem;line-height:1.45;color:#991b1b;background:#fef2f2f2;border:1px solid rgba(252,165,165,.7)}.auth-modal-actions{margin-top:.25rem;display:flex;flex-direction:column;gap:.5rem}.auth-modal-submit{width:100%;min-height:3rem;justify-content:center;border-radius:14px!important;font-size:.95rem!important;font-weight:700!important;letter-spacing:-.01em;box-shadow:0 8px 24px #0d948847}.auth-modal-submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-modal-switch{margin-top:.15rem;padding-top:1rem;border-top:1px solid rgba(226,232,240,.95);color:#64748b;font-size:.9rem;line-height:1.5;text-align:center}.auth-modal-switch a{color:#0d9488;font-weight:700;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.auth-modal-switch a:hover{border-bottom-color:#0d948873;color:#0f766e}.auth-modal-subtitle{margin:0 0 1rem;color:var(--color-text-muted);font-size:.95rem}@keyframes auth-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes auth-modal-panel-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-modal-overlay,.auth-modal-panel{animation:none!important}}.muted{color:var(--color-text-muted)}.muted.small,.small{font-size:.88rem}.dash-xp{display:none;flex-direction:column;gap:.15rem;min-width:0;max-width:160px}@media (min-width: 720px){.dash-xp{display:flex}}a.dash-xp--link{text-decoration:none;color:inherit;cursor:pointer;border-radius:10px;padding:.2rem .35rem;margin:-.2rem -.35rem;transition:background .15s ease,box-shadow .15s ease}a.dash-xp--link:hover{background:#0d94881a;box-shadow:0 0 0 1px #0d94882e}a.dash-xp--link:focus-visible{outline:2px solid var(--color-teal, #0d9488);outline-offset:2px}.dash-xp-label{font-size:.72rem;font-weight:700;color:var(--color-teal-dark)}.dash-xp-bar{height:6px;border-radius:999px;background:#0d948833;overflow:hidden}.dash-xp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-teal),#059669);transition:width .35s ease}.dash-xp-n{font-size:.68rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-xp-pill{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;max-width:min(340px,56vw);padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(13,148,136,.22);background:#f0fdfaa6;font-size:.72rem;font-weight:650;color:var(--color-text);line-height:1.2}@media (max-width: 420px){.dash-xp-pill-meta{display:none}}a.dash-xp-pill--link{text-decoration:none;color:inherit;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}a.dash-xp-pill--link:hover{background:#0d94881f;box-shadow:0 0 0 1px #0d948833}.dash-xp-pill-lvl{color:var(--color-teal-dark);font-weight:800}.dash-xp-pill-xp{color:var(--color-text-muted);font-weight:700}.dash-xp-pill-track{width:48px;height:5px;border-radius:999px;background:#0d948833;overflow:hidden;flex-shrink:0}.dash-xp-pill-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-teal),#059669)}.dash-xp-pill-meta{font-size:.68rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.dashboard-quicklinks{align-items:center;flex-wrap:wrap;gap:.75rem}.dashboard-quicklinks .btn{text-decoration:none}.learning-path-card .learning-path-list{margin:.5rem 0 0;padding-left:1.1rem}.learning-path-card .learning-path-list ul{margin:.25rem 0 .75rem;padding-left:1.1rem;color:var(--color-text-muted);font-size:.92rem}.page [id^=analytics-]{scroll-margin-top:calc(var(--header-h, 64px) + 12px)}.analytics-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 900px){.analytics-grid{grid-template-columns:1fr 1fr}}.analytics-left-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.analytics-xp-breakdown-h{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:.75rem 0 .35rem}.analytics-xp-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr));gap:.5rem;margin-bottom:.35rem}.analytics-xp-metric{padding:.5rem .65rem;border-radius:var(--radius-md);background:linear-gradient(145deg,#7c3aed12,#0d94880d);border:1px solid rgba(124,58,237,.14);min-width:0}.analytics-xp-metric-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.2rem;line-height:1.2}.analytics-xp-metric-value{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-text);word-break:break-word}.analytics-week-goal-card{background:linear-gradient(160deg,#f0fdfabf,#fffffffa 55%,#faf5ff73);border:1px solid rgba(13,148,136,.22);box-shadow:0 10px 36px -20px #0d948859}.analytics-week-goal-card--met{border-color:#14b8a673;background:linear-gradient(160deg,#ccfbf18c,#fffffffa,#ede9fe59)}.analytics-week-goal-title{margin:0 0 .35rem;font-size:1.05rem}.analytics-week-goal-ratio{margin:0 0 .5rem;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-teal-dark)}.analytics-week-goal-hint{margin:0 0 .65rem;line-height:1.45;max-width:36rem}.analytics-week-goal-track{height:10px;border-radius:999px;background:#0d94881f;overflow:hidden;margin-bottom:.5rem}.analytics-week-goal-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-teal),#0d9488);transition:width .45s ease}.analytics-week-goal-card--met .analytics-week-goal-fill{background:linear-gradient(90deg,#14b8a6,#059669)}.analytics-week-goal-status{margin:0;font-size:.92rem;font-weight:600;color:var(--color-text)}.analytics-week-goal-status-main{color:var(--color-teal-dark)}.analytics-ladder-card{background:linear-gradient(160deg,#eef2ffb8,#fffffffa,#f0fdfa47);border:1px solid rgba(99,102,241,.22);box-shadow:0 10px 36px -20px #6366f147}.analytics-ladder-card.is-met{border-color:#6366f166}.analytics-ladder-title{margin:0 0 .35rem;font-size:1.02rem;font-weight:800}.analytics-ladder-hint{margin:0 0 .45rem;line-height:1.4;max-width:38rem}.analytics-ladder-line{margin:0 0 .5rem;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:#4338ca}.analytics-ladder-track{height:8px;border-radius:999px;background:#6366f11f;overflow:hidden;margin-bottom:.45rem}.analytics-ladder-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#818cf8);transition:width .45s ease}.analytics-ladder-stages{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.analytics-ladder-stage{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:999px;font-size:.78rem;font-weight:650;border:1px solid rgba(148,163,184,.4);background:#ffffffd9}.analytics-ladder-stage-n{font-variant-numeric:tabular-nums;font-weight:800;opacity:.85}.analytics-ladder-stage-target{font-variant-numeric:tabular-nums}.analytics-ladder-stage.is-met{border-color:#4f46e573;background:#eef2ffd9;color:#4338ca}.analytics-ladder-stage-check{font-weight:800}.stat-hero h2{margin-top:0}.level-big{font-size:1.75rem;margin:.25rem 0 .5rem}.xp-track{height:10px;border-radius:999px;background:#7c3aed1f;overflow:hidden;margin:.75rem 0 .35rem}.xp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-violet),#a78bfa);transition:width .4s ease}.chart-wrap{margin-top:.5rem}.chart-wrap.tall{margin-top:.75rem}.analytics-activity-card{background:linear-gradient(165deg,#f0fdfa8c,#fffffffa 48%,#faf5ff59);border:1px solid rgba(13,148,136,.18);box-shadow:0 12px 40px -18px #0d948840}.analytics-activity-lead{margin:0 0 .75rem;max-width:40rem;line-height:1.45}.analytics-week-strip{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.35rem}.analytics-week-pill{display:inline-flex;flex-direction:column;gap:.15rem;padding:.45rem .75rem;border-radius:var(--radius-md);background:#ffffffbf;border:1px solid rgba(13,148,136,.2);min-width:7.5rem}.analytics-week-pill-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.analytics-week-pill-value{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-teal-dark)}.analytics-week-pill--goal-met{border-color:#14b8a666;background:#ccfbf159}.analytics-chart-pad{margin-top:.35rem}.analytics-legend-text{font-size:.82rem;color:var(--color-text-muted)}.analytics-chart-tooltip{padding:.65rem .85rem;border-radius:12px;background:#fffffffa;border:1px solid rgba(13,148,136,.28);box-shadow:0 12px 36px #0f172a1f;font-size:.85rem;max-width:16rem}.analytics-chart-tooltip-title{font-weight:700;margin-bottom:.35rem;color:var(--color-text)}.analytics-chart-tooltip-row{display:flex;align-items:center;gap:.35rem;margin:.2rem 0}.analytics-chart-tooltip-row.muted{color:var(--color-text-muted);font-size:.82rem}.analytics-chart-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.analytics-chart-tooltip-meta{margin:0 0 .35rem;font-size:.82rem;color:var(--color-text-muted)}.analytics-chart-tooltip-pct{margin:0}.analytics-charts-row{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1rem}@media (min-width: 900px){.analytics-charts-row{grid-template-columns:1fr 1fr;align-items:stretch}}.analytics-pie-card,.analytics-topic-bars-card{border:1px solid rgba(124,58,237,.12);background:linear-gradient(180deg,#faf5ff66,#fffffffa)}.analytics-pie-wrap{display:flex;justify-content:center}.analytics-empty-hint{padding:2rem 1rem;text-align:center}.analytics-radar-card{margin-top:1rem;border:1px solid rgba(13,148,136,.15)}.analytics-topics-lead{margin:.35rem 0 .85rem;line-height:1.55;max-width:48rem}.analytics-topics-lead strong{display:block;margin-bottom:.25rem;font-weight:700;color:var(--color-text)}.badge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.badge-item{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;background:#0f172a08;border-radius:var(--radius);border:1px solid var(--color-border)}.badge-icon{font-size:1.5rem;line-height:1}.insights-list{margin:.5rem 0 0;padding-left:1.1rem}.insights-list li{margin-bottom:.35rem}.teacher-insights-course-line{margin:.35rem 0 0;font-size:1.02rem;font-weight:700;color:var(--color-text);line-height:1.35}.insights-list-users .insights-user-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.65rem}.insights-user-block{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 12rem}.insights-user-name{font-weight:600;line-height:1.35;word-break:break-word}.insights-user-email{word-break:break-all;line-height:1.35;font-size:.82rem}.insights-user-note{flex:0 0 auto;font-size:.88rem;color:var(--color-text-muted);text-align:right;line-height:1.35;max-width:100%}@media (max-width: 520px){.insights-user-note{text-align:left;width:100%}}.insights-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:.5rem}.insights-toolbar label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;color:var(--color-text-muted)}.insights-toolbar .insights-toolbar-actions{display:flex;gap:.5rem;align-items:center;margin-left:auto}.insights-toolbar input[type=number]{width:4.5rem}.insights-toolbar-period .insights-period-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:2.25rem}.insights-period-suffix{white-space:nowrap;font-weight:500}.insights-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none}.insights-tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.88rem;font-weight:600;padding:.45rem .75rem;border-radius:999px;cursor:pointer}.insights-tab:hover{border-color:#0d948859;color:var(--color-teal-dark)}.insights-tab.is-active{background:#0d94881f;border-color:#0d948873;color:var(--color-teal-dark)}.page.insights-pro{padding-bottom:2.5rem}.teacher-dash-lead-strip .insights-pro-course{margin:.65rem 0 0;font-size:1.1rem;font-weight:700;color:var(--color-teal-dark)}.analytics-modern-hero .insights-modern-course{margin:.5rem 0 0;font-size:1rem;font-weight:700;color:var(--color-teal-dark)}.insights-pro-toolbar-card{margin-bottom:1.25rem}.insights-pro-toolbar{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end}.insights-field{display:flex;flex-direction:column;gap:.35rem;min-width:min(100%,200px)}.insights-field-label{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.insights-field select,.insights-field input[type=number]{min-width:0;font-size:.95rem}.insights-period-inline{display:flex;align-items:center;gap:.5rem}.insights-field-period input[type=number]{width:4.25rem}.insights-refresh{margin-left:auto}.insights-mini-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.insights-mini-nav-btn{border:1px solid var(--color-border);background:#ffffffa6;font:inherit;font-size:.8rem;font-weight:600;padding:.35rem .65rem;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.insights-mini-nav-btn:hover{border-color:#7c3aed59;color:var(--color-violet);background:#7c3aed0f}.insights-pro-err{margin-top:.75rem}.insights-loading{margin:.5rem 0 0}.insights-pro-body{display:flex;flex-direction:column;gap:1.25rem}.insights-section{scroll-margin-top:calc(var(--header-h, 64px) + 12px)}.insights-kpi-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.65rem}@media (min-width: 720px){.insights-kpi-strip{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1024px){.insights-kpi-strip{grid-template-columns:repeat(7,1fr)}}.insights-kpi-card{padding:.85rem .9rem;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.25rem;min-height:4.6rem;justify-content:center}.insights-kpi-wide{grid-column:span 1}@media (min-width: 720px){.insights-kpi-wide{grid-column:span 2}}.insights-kpi-accent{border-color:#0d948859;background:linear-gradient(160deg,#0d948817,#ffffffd9)}.insights-kpi-violet{border-color:#7c3aed47;background:linear-gradient(160deg,#7c3aed14,#ffffffe6)}.insights-kpi-value{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--color-text)}.insights-kpi-label{font-size:.72rem;font-weight:600;line-height:1.35;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.insights-pro-grid{display:grid;gap:1.25rem}@media (min-width: 960px){.insights-pro-grid{grid-template-columns:1.4fr 1fr;align-items:stretch}}.insights-h2{margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.insights-h3{margin:0 0 .65rem;font-size:.95rem;font-weight:600;color:var(--color-text-muted)}.insights-caption{margin:0 0 .75rem;font-size:.9rem;line-height:1.5}.insights-chart-area{margin:0 -.25rem}.insights-card-tall{min-height:100%}.insights-empty-pad{padding:2rem 0;text-align:center}.insights-pie-wrap{margin-top:.25rem}.insights-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.5rem}.insights-field-inline{min-width:auto}.insights-roster-sort{display:flex;flex-wrap:wrap;gap:.4rem}.insights-roster-table-wrap{overflow-x:auto;margin-top:.5rem;border-radius:12px;border:1px solid var(--color-border)}.insights-roster-table{width:100%;border-collapse:collapse;font-size:.92rem}.insights-roster-table th{text-align:left;padding:.65rem .85rem;background:#0f172a0a;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.insights-roster-table td{padding:.75rem .85rem;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:middle}.insights-roster-table tr:last-child td{border-bottom:none}.insights-roster-name{font-weight:600}.insights-roster-email{display:block;margin-top:.15rem;word-break:break-all;font-size:.8rem}.insights-roster-bar-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.insights-roster-bar{flex:1 1 120px;min-width:100px;height:11px;border-radius:999px;background:#0f172a14;overflow:hidden}.insights-roster-bar-fill{height:100%;border-radius:inherit;min-width:4px;transition:width .35s ease}.insights-roster-meta{display:flex;flex-direction:column;gap:.1rem;flex-shrink:0;text-align:right}.insights-struggle-zone{display:grid;gap:1.25rem}@media (min-width: 900px){.insights-struggle-zone{grid-template-columns:1.2fr 1fr;align-items:start}}.insights-struggle-card-inner{margin:0}.insights-struggle-cards{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.insights-struggle-item{padding:.75rem .85rem;border-radius:12px;border:1px solid var(--color-border);background:#0f172a05}.insights-struggle-title-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.45rem}.insights-struggle-title{font-size:.95rem;line-height:1.4}.insights-struggle-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem .65rem}.insights-struggle-meter-label{grid-column:1 / -1}@media (min-width: 520px){.insights-struggle-meter-label{grid-column:auto}}.insights-struggle-track{height:8px;border-radius:999px;background:#e11d481f;overflow:hidden}.insights-struggle-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#fda4af,#e11d48)}.insights-struggle-pct{font-weight:800;font-size:.9rem;color:#be123c;min-width:2.5rem;text-align:right}.insights-inactive-card{margin:0}.insights-inactive-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.insights-inactive-li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.55rem 0;border-bottom:1px dashed var(--color-border);align-items:flex-start}.insights-inactive-li:last-child{border-bottom:none}.insights-inactive-email{display:block;word-break:break-all}.insights-inactive-badge{font-size:.84rem;font-weight:600;color:var(--color-amber);background:#d977061a;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.insights-ai-section .insights-ai-total{margin:.35rem 0 .75rem;font-weight:600;color:var(--color-text)}.insights-ai-chips{display:flex;flex-wrap:wrap;gap:.45rem}.insights-ai-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(124,58,237,.28);background:#7c3aed12;font-size:.86rem}.insights-ai-chip-n{font-weight:800;color:var(--color-violet);min-width:1.25rem;text-align:center}@media (max-width: 640px){.insights-refresh{margin-left:0;width:100%}}.analytics-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.analytics-page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.analytics-back-link{text-decoration:none;color:var(--color-teal);font-weight:600}.analytics-back-link:hover{text-decoration:underline}.analytics-narrative-card{margin-bottom:1.25rem}.analytics-narrative-h2{font-size:1.15rem;margin:0 0 .35rem}.analytics-narrative-md h2,.analytics-narrative-md h3{font-size:1.05rem;margin:1rem 0 .5rem}.analytics-narrative-md h2:first-child,.analytics-narrative-md h3:first-child{margin-top:0}.analytics-narrative-md p{margin:.45rem 0;line-height:1.55}.analytics-narrative-md ul{margin:.35rem 0 .5rem 1.1rem;padding:0}.insights-class-ai-card{margin-bottom:1.25rem}.insights-roster-name-link{text-decoration:none;color:inherit;display:inline-block}.insights-roster-name-link:hover .insights-roster-name{color:var(--color-teal);text-decoration:underline}.analytics-ai-shell{margin-bottom:1.25rem;padding:0;overflow:hidden;border:1px solid rgba(124,58,237,.22);background:linear-gradient(135deg,#7c3aed0f,#0d94880d);box-shadow:0 8px 32px #0f172a14}.analytics-ai-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid rgba(15,23,42,.06);background:#ffffff8c}.analytics-ai-toggle{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0;text-align:left;border:none;background:transparent;cursor:pointer;padding:.15rem 0;font:inherit;color:inherit}.analytics-ai-toggle:hover .analytics-ai-toggle-title{color:#5b21b6}.analytics-ai-toggle-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.85rem;background:linear-gradient(145deg,#7c3aed33,#0d94882e);color:#5b21b6;flex-shrink:0}.analytics-ai-toggle-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.analytics-ai-toggle-title{font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.analytics-ai-toggle-sub{display:block}.analytics-ai-chevron{flex-shrink:0;transition:transform .25s ease;color:#64748b}.analytics-ai-chevron.is-open{transform:rotate(180deg)}.analytics-ai-refresh{display:inline-flex;align-items:center;gap:.35rem}.analytics-ai-spin{animation:analytics-spin .9s linear infinite}@keyframes analytics-spin{to{transform:rotate(360deg)}}.analytics-ai-body{padding:0 1rem 1rem}.analytics-ai-lead{margin:0 0 .75rem!important}.analytics-ai-collapsed-hint{margin:0;padding:0 1rem .85rem}.xp-rules-card{margin-bottom:1.25rem}.xp-rules-list{margin:.5rem 0 0;padding-left:1.15rem;line-height:1.55;color:var(--color-text-muted)}.xp-rules-list li+li{margin-top:.45rem}.badges-gallery{overflow:hidden}.badges-gallery-head{margin-bottom:1rem}.badges-gallery-title{font-size:1.35rem;margin:0 0 .25rem;letter-spacing:-.02em;background:linear-gradient(120deg,#0d9488,#7c3aed 55%,#e11d48);-webkit-background-clip:text;background-clip:text;color:transparent}.badges-gallery-lead{max-width:46rem}.badges-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:1.25rem 1rem}.badges-gallery-card.badges-gallery-card--cs{position:relative;display:flex;gap:.85rem;padding:.5rem .25rem .65rem;border-radius:0;border:none;background:transparent;box-shadow:none;transition:transform .12s ease-out,filter .2s ease;cursor:pointer;text-align:left;font:inherit;color:var(--color-text)}.badges-gallery-card.badges-gallery-card--3d{transform-style:preserve-3d;transform:perspective(960px) rotateY(var(--badge-tilt-y, 0deg)) rotateX(var(--badge-tilt-x, 0deg));overflow:visible}.badges-gallery-holo,.badges-gallery-card--3d.is-earned .badges-gallery-holo{display:none}.badges-gallery-card--3d .badges-gallery-cs-frame,.badges-gallery-card--3d .badges-gallery-body{position:relative;z-index:1}@keyframes badge-holo-flow{0%,to{background-position:10% 30%}50%{background-position:90% 70%}}.badges-gallery-card--cs.is-earned:hover{transform:perspective(960px) rotateY(var(--badge-tilt-y, 0deg)) rotateX(var(--badge-tilt-x, 0deg)) translateY(-2px)}.badges-gallery-card--cs.is-locked .badges-gallery-cs-frame{filter:saturate(.5) brightness(.88);opacity:.88}.badges-gallery-card--cs.is-locked .badges-gallery-body{opacity:.88}.badges-gallery-cs-frame{position:relative;flex-shrink:0;width:4rem;height:4rem;background:linear-gradient(145deg,#94a3b859,#1e293bf2);display:grid;place-items:center;box-shadow:inset 0 0 0 2px #ffffff1f}.badges-gallery-cs-frame.badges-gallery-shape--0{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.badges-gallery-cs-frame.badges-gallery-shape--1{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.badges-gallery-cs-frame.badges-gallery-shape--2{clip-path:inset(8% round 32%)}.badges-gallery-cs-frame.badges-gallery-shape--3{clip-path:polygon(50% 4%,96% 50%,50% 96%,4% 50%)}.badges-gallery-cs-frame.badges-gallery-shape--4{clip-path:polygon(50% 0%,85% 15%,100% 45%,100% 55%,85% 85%,50% 100%,15% 85%,0% 55%,0% 45%,15% 15%)}.badges-gallery-cs-frame.badges-gallery-shape--5{clip-path:ellipse(46% 44% at 50% 50%)}.badges-gallery-card--cs.is-earned .badges-gallery-cs-frame{background:linear-gradient(200deg,#fbbf24,#d97706 40%,#92400e);box-shadow:inset 0 0 0 2px #ffffff59,0 0 24px #fbbf2473}.badges-gallery-cs-inner{width:78%;height:78%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),transparent 55%),linear-gradient(180deg,#0f172a,#1e293b);display:grid;place-items:center}.badges-gallery-cs-inner.badges-gallery-shape--0{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.badges-gallery-cs-inner.badges-gallery-shape--1{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.badges-gallery-cs-inner.badges-gallery-shape--2{clip-path:inset(8% round 32%)}.badges-gallery-cs-inner.badges-gallery-shape--3{clip-path:polygon(50% 4%,96% 50%,50% 96%,4% 50%)}.badges-gallery-cs-inner.badges-gallery-shape--4{clip-path:polygon(50% 0%,85% 15%,100% 45%,100% 55%,85% 85%,50% 100%,15% 85%,0% 55%,0% 45%,15% 15%)}.badges-gallery-cs-inner.badges-gallery-shape--5{clip-path:ellipse(46% 44% at 50% 50%)}.badges-gallery-card--cs.is-earned .badges-gallery-cs-inner{background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.55),transparent 50%),linear-gradient(180deg,#422006,#78350f)}.badges-gallery-shine{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(125deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);animation:badge-shine-sweep 3.5s ease-in-out infinite;pointer-events:none}.badges-gallery-shine.badges-gallery-shape--0{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.badges-gallery-shine.badges-gallery-shape--1{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.badges-gallery-shine.badges-gallery-shape--2{clip-path:inset(8% round 32%)}.badges-gallery-shine.badges-gallery-shape--3{clip-path:polygon(50% 4%,96% 50%,50% 96%,4% 50%)}.badges-gallery-shine.badges-gallery-shape--4{clip-path:polygon(50% 0%,85% 15%,100% 45%,100% 55%,85% 85%,50% 100%,15% 85%,0% 55%,0% 45%,15% 15%)}.badges-gallery-shine.badges-gallery-shape--5{clip-path:ellipse(46% 44% at 50% 50%)}@keyframes badge-shine-sweep{0%,to{opacity:.15;transform:translate(-30%)}50%{opacity:.55;transform:translate(30%)}}.badges-gallery-icon{font-size:1.75rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.badges-gallery-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:.25rem}.badges-gallery-name{font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.badges-gallery-pill{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:999px;background:#94a3b833;color:#94a3b8;border:1px solid rgba(148,163,184,.25)}.badges-gallery-pill--ok{background:#facc1533;color:#fbbf24;border-color:#facc1573}.badges-gallery-desc{margin:0 0 .35rem;font-size:.88rem;color:var(--color-text-muted);line-height:1.45}.badges-gallery-card--cs.is-locked .badges-gallery-desc{color:var(--color-text-muted)}.badges-gallery-cap{margin:0 0 .35rem!important}.badges-gallery-track{height:8px;border-radius:999px;overflow:hidden;border:1px solid rgba(148,163,184,.35);background:#f1f5f9f2;box-shadow:inset 0 1px 2px #0f172a0f}.badges-gallery-card--cs.is-locked .badges-gallery-track{background:#e2e8f0d9}.badges-gallery-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#a855f7,#22d3ee);transition:width .45s ease;box-shadow:0 0 12px #fbbf2459}.badges-gallery-card--cs.is-locked .badges-gallery-fill{box-shadow:none;opacity:.95}.badges-gallery-pct{margin:.25rem 0 0!important;font-variant-numeric:tabular-nums;color:var(--color-text-muted)!important}.badges-gallery-cap{color:#cbd5e1d9!important}.badge-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.badge-modal{position:relative;isolation:isolate;max-width:420px;width:100%;padding:1.5rem 1.35rem 1.35rem;text-align:center;border:2px solid rgba(71,85,105,.5);background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0;box-shadow:0 24px 64px #00000073;overflow:hidden}.badge-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(118deg,#5eead400,#a78bfa47 38%,#fbbf243d 52%,#2dd4bf38 68%,#5eead400);background-size:240% 240%;animation:badge-modal-open-shimmer 1.2s ease-out forwards}@keyframes badge-modal-open-shimmer{0%{background-position:0% 40%;opacity:1}to{background-position:100% 60%;opacity:0}}@media (prefers-reduced-motion: reduce){.badge-modal:before{animation:none;opacity:0}}.badge-modal>*{position:relative;z-index:1}.badge-modal--tilt-surface{transform-style:preserve-3d;transform:perspective(880px) rotateY(var(--badge-tilt-y, 0deg)) rotateX(var(--badge-tilt-x, 0deg));transition:transform .12s ease-out}.badge-modal-hex--holo{position:relative;overflow:hidden}.badge-modal-hex--holo:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 120deg,#5eead400,#a78bfa59,#fbbf2466,#2dd4bf4d,#5eead400);animation:badge-modal-holo-spin 12s linear infinite;opacity:.55;pointer-events:none}.badge-modal.is-earned .badge-modal-hex--holo:after{opacity:.75}@media (prefers-reduced-motion: reduce){.badge-modal-hex--holo:after{animation:none;opacity:.35}}@keyframes badge-modal-holo-spin{to{transform:rotate(360deg)}}.badge-modal.is-earned{border-color:#facc158c;box-shadow:0 0 0 1px #facc1533,0 24px 64px #00000073}.badge-modal.is-locked{border-color:#64748b8c;box-shadow:0 0 0 1px #94a3b81f,0 24px 64px #00000073}.badge-modal.is-locked .badge-modal-hex{background:linear-gradient(160deg,#475569,#1e293b);box-shadow:0 8px 28px #0f172a80;filter:grayscale(.35) brightness(.92)}.badge-modal.is-locked .badge-modal-icon{opacity:.88}.badge-modal-locked-note{margin:0 0 .5rem;font-size:.88rem;color:#cbd5e1f2;line-height:1.45}.badge-modal-close{position:absolute;top:.5rem;right:.6rem;z-index:3;width:2rem;height:2rem;border:none;border-radius:999px;background:#ffffff14;color:#94a3b8;font-size:1.35rem;line-height:1;cursor:pointer}.badge-modal-close:hover{background:#ffffff24;color:#e2e8f0}.badge-modal-hex{width:5.5rem;height:5.5rem;margin:0 auto 1rem;background:linear-gradient(160deg,#fbbf24,#92400e);display:grid;place-items:center;box-shadow:0 12px 40px #fbbf2459}.badge-modal-shape--0{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.badge-modal-shape--1{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.badge-modal-shape--2{clip-path:inset(8% round 32%)}.badge-modal-shape--3{clip-path:polygon(50% 4%,96% 50%,50% 96%,4% 50%)}.badge-modal-shape--4{clip-path:polygon(50% 0%,85% 15%,100% 45%,100% 55%,85% 85%,50% 100%,15% 85%,0% 55%,0% 45%,15% 15%)}.badge-modal-shape--5{clip-path:ellipse(46% 44% at 50% 50%)}.badge-modal.is-earned .badge-modal-hex{animation:badge-modal-pop .45s ease}@keyframes badge-modal-pop{0%{transform:scale(.85);opacity:.6}to{transform:scale(1);opacity:1}}.badge-modal-icon{font-size:2.75rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}.badge-modal-title{margin:0 0 .5rem;font-size:1.25rem;letter-spacing:-.02em}.badge-modal-desc{margin:0 0 .75rem;color:#e2e8f0d9;line-height:1.5;font-size:.95rem}.badge-modal-status{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.badge-modal-status--ok{color:#fbbf24}.badge-modal-track{margin-top:.5rem}.badge-modal.badge-modal--minimal{max-width:440px;padding:1.25rem 1rem 1.1rem;border:none;background:transparent;box-shadow:none;color:var(--color-text, #e2e8f0)}.badge-modal.badge-modal--minimal:before{display:none}.badge-modal.badge-modal--minimal .badge-modal-hex{width:7.5rem;height:7.5rem;margin-bottom:1.1rem;box-shadow:0 16px 48px #00000059}.badge-modal.badge-modal--minimal .badge-modal-icon{font-size:4rem;line-height:1}.badge-modal.badge-modal--minimal .badge-modal-title{color:#f8fafc;text-shadow:0 1px 12px rgba(0,0,0,.45)}.badge-modal.badge-modal--minimal .badge-modal-desc{color:#f8fafce6}.portal-lb{overflow:hidden;border:1px solid rgba(148,163,184,.18);background:linear-gradient(165deg,#1e293beb,#0f172afa 55%,#111827f2);box-shadow:inset 0 1px #ffffff0f,0 12px 40px #00000047}.portal-lb-head{margin-bottom:1rem}.portal-lb-title{margin:0 0 .25rem;font-size:1.28rem;letter-spacing:-.03em;background:linear-gradient(115deg,#2dd4bf,#6366f1 48%,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.portal-lb-lead{max-width:40rem;margin:0}.portal-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.portal-lb-row{display:grid;grid-template-columns:2.5rem 2.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem .75rem;padding:.55rem .65rem;border-radius:12px;border:1px solid rgba(71,85,105,.35);background:#0f172a73;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.portal-lb-row--clickable{cursor:pointer;text-align:left}.portal-lb-row--clickable:focus-visible{outline:2px solid rgba(45,212,191,.65);outline-offset:2px}.portal-lb-row:hover{border-color:#64748b80;background:#1e293b8c}.portal-lb-row.is-me{border-color:#2dd4bf73;background:linear-gradient(90deg,#0d94882e,#1e293b80);box-shadow:0 0 0 1px #2dd4bf1f}.portal-lb-row--gold{border-color:#eab30866;background:linear-gradient(90deg,#eab3081f,#0f172a80)}.portal-lb-row--silver{border-color:#94a3b873;background:linear-gradient(90deg,#94a3b81f,#0f172a80)}.portal-lb-row--bronze{border-color:#b4530966;background:linear-gradient(90deg,#b4530924,#0f172a80)}.portal-lb-rank{display:grid;place-items:center;min-width:2.25rem;font-variant-numeric:tabular-nums}.portal-lb-rank-num{font-weight:700;font-size:.95rem;color:#e2e8f0e0}.portal-lb-medal{font-size:1.15rem;line-height:1}.portal-lb-avatar{width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#f8fafc;background:linear-gradient(145deg,#6366f1,#0d9488);box-shadow:0 4px 14px #6366f159}.portal-lb-row.is-me .portal-lb-avatar{background:linear-gradient(145deg,#14b8a6,#2563eb);box-shadow:0 4px 16px #14b8a666}.portal-lb-mid{min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .5rem}.portal-lb-name{font-weight:650;font-size:1.02rem;line-height:1.35;letter-spacing:.01em;color:#f8fafc;overflow-wrap:anywhere;word-break:break-word;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-lb-you{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#5eead4;padding:.12rem .4rem;border-radius:999px;background:#0d948838;border:1px solid rgba(45,212,191,.35)}.portal-lb-stats{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;font-variant-numeric:tabular-nums}.portal-lb-pill{font-size:.72rem;font-weight:600;padding:.2rem .45rem;border-radius:999px;background:#334155a6;color:#e2e8f0e6;border:1px solid rgba(71,85,105,.5)}.portal-lb-xp{font-size:.85rem;font-weight:700;color:#a5f3fc}.portal-lb-foot{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(71,85,105,.4)}.portal-lb-me{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:#e2e8f0}.portal-lb-me-xp{margin:0}@media (max-width: 520px){.portal-lb-row{grid-template-columns:2.25rem 2.25rem minmax(0,1fr)}.portal-lb-stats{grid-column:1 / -1;justify-content:space-between;padding-left:.15rem}}.community-shell{width:100%;max-width:min(92rem,100%);margin:0 auto;padding:clamp(.5rem,2vw,.65rem) max(.5rem,env(safe-area-inset-right,0px)) clamp(1.5rem,4vw,2.25rem) max(.5rem,env(safe-area-inset-left,0px));box-sizing:border-box}.community-shell__header{margin-bottom:1.15rem}.community-shell__title{margin:0 0 .4rem;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--color-text)}.community-shell__lead{margin:0;font-size:.92rem;line-height:1.45;max-width:44rem}.dashboard-main:has(.vk-community){max-width:min(92rem,100%);overflow-x:visible}.vk-community{display:flex;align-items:flex-start;gap:0;width:100%;max-width:min(72rem,100%);margin:0 auto;min-height:calc(100vh - 140px)}.vk-community--on .vk-rail{position:sticky;top:var(--dash-sticky-below-header, 4.75rem);align-self:flex-start;max-height:calc(100vh - var(--dash-sticky-below-header, 4.75rem) - .75rem);overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;z-index:90;box-sizing:border-box}.vk-rail{flex:0 0 200px;position:relative;padding:.75rem .5rem;border-radius:0 12px 12px 0;border:1px solid rgba(39,60,131,.18);border-left:none;background:linear-gradient(180deg,#f4f6fb,#e8ecf4);box-shadow:2px 0 12px #0f172a0f}@media (min-width: 901px){.vk-community--on .vk-rail{flex:0 0 4.25rem;padding:.5rem .35rem}.vk-community--on .vk-rail-link{justify-content:center;padding:.55rem .3rem}.vk-community--on .vk-rail-link-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vk-community--on .vk-rail-badge{top:.08rem;right:.12rem;min-width:1rem;height:1rem;font-size:.58rem;line-height:1rem}}.vk-rail-brand{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#52607a;padding:.35rem .6rem .65rem;border-bottom:1px solid rgba(39,60,131,.12);margin-bottom:.35rem}.vk-rail-link{display:flex;align-items:center;gap:.55rem;padding:.5rem .55rem;margin:.1rem 0;border-radius:8px;color:#2a3a5c;text-decoration:none;font-size:.9rem;font-weight:550;position:relative;z-index:1;transition:background .12s ease,color .12s ease}.vk-rail-link:hover{background:#ffffffa6}.vk-rail-link.is-active{background:#fff;color:#1d4ed8;box-shadow:0 1px #273c8314}.vk-rail-link-icon{display:flex;color:#64748b;flex-shrink:0}.vk-rail-link.is-active .vk-rail-link-icon{color:#2563eb}.vk-rail-link-text{flex:1;min-width:0}.vk-rail-badge{position:absolute;top:.18rem;right:.3rem;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;font-size:.64rem;font-weight:800;line-height:1.1rem;text-align:center;color:#fff;background:linear-gradient(135deg,#e11d48,#f97316);box-shadow:0 2px 10px #e11d4880;z-index:2147483647;pointer-events:none}.vk-rail-badge--friends{background:linear-gradient(135deg,#2563eb,#6366f1);box-shadow:0 2px 10px #2563eb73}.vk-rail-badge--groups{background:linear-gradient(135deg,#0d9488,#7c3aed);box-shadow:0 2px 10px #0d948873}.vk-rail-badge--badges{background:linear-gradient(135deg,#ca8a04,#ea580c);box-shadow:0 2px 10px #ca8a0473}.community-badges-page{width:100%}.vk-community-main{flex:1;min-width:0;padding-left:.5rem}.community-leaderboard-page,.community-friends-page{width:100%}.community-friends-block{margin-bottom:1.5rem;padding:1rem 1rem 1.1rem;border-radius:12px;border:1px solid rgba(13,148,136,.12);background:#ffffffeb}.community-friends-h2{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:var(--color-text-muted)}.community-friends-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.community-friends-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.45rem 0;border-bottom:1px solid rgba(148,163,184,.2)}.community-friends-row:last-child{border-bottom:none}.community-friends-name{font-weight:650;color:var(--color-text);text-decoration:none}.community-friends-name:hover{text-decoration:underline}.community-friends-actions{margin-left:auto;display:flex;gap:.35rem}.community-friends-block--find{margin-bottom:1.25rem}.community-friends-search-input{max-width:28rem;margin-bottom:.35rem}.community-friends-search-hint{margin:.25rem 0 0}.community-friends-search-results{list-style:none;margin:.5rem 0 0;padding:0;max-width:28rem;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#fffffff2;max-height:12rem;overflow-y:auto}.community-friends-search-results li{border-bottom:1px solid rgba(148,163,184,.2)}.community-friends-search-results li:last-child{border-bottom:none}.community-friends-search-hit{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem;padding:.5rem .65rem;text-decoration:none;color:var(--color-text)}.community-friends-search-hit:hover{background:#0d94880f}.community-friends-search-hit-name{font-weight:650}.community-friends-search-hit-meta{font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 900px){.vk-community{flex-direction:column}.vk-community--on .vk-rail{position:sticky;top:var(--dash-sticky-below-header, 5.25rem);z-index:90;max-height:none;overflow-y:visible}.vk-rail{flex:none;width:100%;border-radius:12px;border-left:1px solid rgba(39,60,131,.18);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,152px),1fr));gap:.35rem;padding:.65rem .45rem}.vk-rail-brand{grid-column:1 / -1}.vk-rail-link{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding:.7rem .45rem;margin:0;min-height:5.25rem;border-radius:10px}.vk-rail-link-icon{width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:12px;background:#ffffff80}.vk-rail-link-text{flex:none;width:100%;font-size:.78rem;font-weight:650;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vk-rail-badge{top:.35rem;right:.35rem}.vk-community-main{padding-left:0;padding-top:.75rem}}:root[data-theme=dark] .vk-rail{border-color:#4755698c;background:linear-gradient(180deg,#0f172af5,#111827fa);box-shadow:2px 0 18px #0006}:root[data-theme=dark] .vk-rail-brand{color:#94a3b8;border-bottom-color:#47556980}:root[data-theme=dark] .vk-rail-link{color:#e2e8f0}:root[data-theme=dark] .vk-rail-link:hover{background:#3341556b}:root[data-theme=dark] .vk-rail-link.is-active{background:#1e293beb;color:#7dd3fc;box-shadow:inset 0 0 0 1px #38bdf847}:root[data-theme=dark] .vk-rail-link-icon{color:#94a3b8}:root[data-theme=dark] .vk-rail-link.is-active .vk-rail-link-icon{color:#38bdf8}@media (max-width: 900px){:root[data-theme=dark] .vk-rail-link-icon{background:#1e293bd9;border:1px solid rgba(71,85,105,.45)}}:root[data-theme=dark] .community-friends-block{border-color:#4755698c;background:#0f172aa6}:root[data-theme=dark] .community-friends-row{border-bottom-color:#47556973}:root[data-theme=dark] .community-friends-search-results{border-color:#47556980;background:#0f172ac7}:root[data-theme=dark] .community-friends-search-results li{border-bottom-color:#47556973}:root[data-theme=dark] .community-friends-search-hit:hover{background:#2dd4bf14}:root[data-theme=dark] .community-friends-search-input,:root[data-theme=dark] .peer-thread-search{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .community-friends-search-input::placeholder,:root[data-theme=dark] .peer-thread-search::placeholder{color:#94a3b8d1}:root[data-theme=dark] .student-profile-post{border-color:#47556980;background:#0f172ab8;box-shadow:none}:root[data-theme=dark] .student-profile-post-badge-pub{border-color:#eab30859;background:linear-gradient(125deg,#78350f59,#0f172ae0)}:root[data-theme=dark] .student-profile-post-badge-lead{color:#fbbf24}:root[data-theme=dark] .student-profile-badge{color:#5eead4;background:#0d948826;border-color:#2dd4bf59}:root[data-theme=dark] .student-profile-composer .input-field,:root[data-theme=dark] .student-profile-composer .input-textarea,:root[data-theme=dark] .student-profile-composer-row .input-field{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .student-profile-composer .input-field::placeholder,:root[data-theme=dark] .student-profile-composer .input-textarea::placeholder,:root[data-theme=dark] .student-profile-composer-row .input-field::placeholder{color:#94a3b8d1}:root[data-theme=dark] .student-profile-composer .input-field:focus,:root[data-theme=dark] .student-profile-composer .input-textarea:focus,:root[data-theme=dark] .student-profile-composer-row .input-field:focus{border-color:#2dd4bf85;box-shadow:0 0 0 3px #2dd4bf2e}:root[data-theme=dark] .social-embed{border-color:#47556980;background:#0f172aad}:root[data-theme=dark] .social-embed:hover{border-color:#64748b8c}:root[data-theme=dark] .social-attach-plus{border-color:#2dd4bf66;background:#0d94881f;color:#5eead4}:root[data-theme=dark] .social-attach-plus:hover{background:#0d948838;box-shadow:none}:root[data-theme=dark] .social-attach-chip{border-color:#47556980;background:#1e293b99}:root[data-theme=dark] .peer-messages-find{border-bottom-color:#47556973}:root[data-theme=dark] .peer-messages-search-hit:hover{background:#33415580}:root[data-theme=dark] .peer-messages-sidebar{border-color:#47556980;background:#0f172ab8}:root[data-theme=dark] .peer-thread-card{border-color:#47556973;background:linear-gradient(180deg,#1e293be0,#0f172ac2);box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .peer-thread-card--active{border-color:#2dd4bf73;box-shadow:0 0 0 1px #2dd4bf24,0 6px 18px #00000047}:root[data-theme=dark] .peer-thread-link:hover{background:#2dd4bf14}:root[data-theme=dark] .peer-thread-link.is-active{background:#2dd4bf1f}:root[data-theme=dark] .peer-thread-avatar{border-color:#47556980}:root[data-theme=dark] .peer-thread-avatar--photo{background:#0f172ae6}:root[data-theme=dark] .peer-thread-actions{border-left-color:#47556973;background:#0f172a8c}:root[data-theme=dark] .peer-thread-icon-btn{background:#1e293bd9;border-color:#47556980;color:#e2e8f0}:root[data-theme=dark] .peer-thread-icon-btn:hover:not(:disabled){background:#334155e6;border-color:#2dd4bf59;color:#5eead4}:root[data-theme=dark] .peer-thread-icon-btn--danger:hover:not(:disabled){background:#7f1d1d59;border-color:#f8717166}@media (max-width: 520px){:root[data-theme=dark] .peer-thread-actions{border-top-color:#47556973}}:root[data-theme=dark] .peer-messages-main{border-color:#47556980;background:#0f172ab8;box-shadow:0 8px 28px #00000059}:root[data-theme=dark] .peer-messages-peerbar{border-bottom-color:#47556973;background:linear-gradient(180deg,#1e293bc7,#0f172ae0)}:root[data-theme=dark] .peer-msg{background:#1e293bb8;border-color:#47556980}:root[data-theme=dark] .peer-msg--mine{background:#0d94882e;border-color:#2dd4bf59}:root[data-theme=dark] .peer-msg-attachment-img-wrap{border-color:#47556980}:root[data-theme=dark] .peer-messages-composer{border-top-color:#47556973;background:#0f172ac7}:root[data-theme=dark] .student-ig-placeholder{border-color:#47556980;background:#0f172a8c}:root[data-theme=dark] .student-ig-panel :where(.input-field,.input-textarea),:root[data-theme=dark] .teacher-groups-section :where(.input-field,.input-textarea,select){background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .student-ig-panel :where(.input-field,.input-textarea)::placeholder,:root[data-theme=dark] .teacher-groups-section :where(.input-field,.input-textarea,select)::placeholder{color:#94a3b8d1}:root[data-theme=dark] .student-ig-panel :where(.input-field,.input-textarea):focus,:root[data-theme=dark] .teacher-groups-section :where(.input-field,.input-textarea,select):focus{border-color:#2dd4bf85;box-shadow:0 0 0 3px #2dd4bf2e}:root[data-theme=dark] .student-ig-code{background:#33415580;color:#e2e8f0}:root[data-theme=dark] .student-ig-group-btn{border-color:#47556980;background:#1e293bbf;color:#e2e8f0}:root[data-theme=dark] .student-ig-group-btn:hover{border-color:#2dd4bf59;background:#0d948824}:root[data-theme=dark] .student-ig-group-btn.is-active{border-color:#2dd4bf73;background:#0d948833;box-shadow:0 0 0 1px #2dd4bf1f}:root[data-theme=dark] .student-ig-post{border-bottom-color:#47556973}:root[data-theme=dark] .badges-gallery-cs-frame{background:linear-gradient(145deg,#4755698c,#0f172af2);box-shadow:inset 0 0 0 2px #ffffff0f}:root[data-theme=dark] .badges-gallery-card--cs.is-earned .badges-gallery-cs-inner{background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.12),transparent 52%),linear-gradient(180deg,#292524,#451a03)}:root[data-theme=dark] .badges-gallery-shine{background:linear-gradient(125deg,transparent 40%,rgba(255,255,255,.09) 50%,transparent 60%)}:root[data-theme=dark] .badges-gallery-track{border-color:#47556980;background:#0f172ad9;box-shadow:inset 0 1px 2px #00000059}:root[data-theme=dark] .badges-gallery-card--cs.is-locked .badges-gallery-track{background:#1e293bbf}:root[data-theme=dark] .teacher-groups-pick{width:100%;text-align:left;padding:.5rem .55rem;border-radius:10px;border:1px solid rgba(71,85,105,.5);background:#1e293bbf;color:#e2e8f0;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;transition:background .12s ease,border-color .12s ease}:root[data-theme=dark] .teacher-groups-pick:hover{border-color:#2dd4bf59;background:#0d948824}:root[data-theme=dark] .teacher-groups-pick.is-active{border-color:#2dd4bf73;background:#0d948833;box-shadow:0 0 0 1px #2dd4bf1f}:root[data-theme=dark] .portal-lb.portal-lb-v2{border-color:#4755698c;background:linear-gradient(165deg,#0f172ae6,#111827f0 52%,#0f172af5);box-shadow:0 10px 34px #00000059}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row{border-color:#47556985;background:#1e293bc7;box-shadow:none}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row:hover{border-color:#2dd4bf61;background:#0d948824;box-shadow:0 6px 18px #0003}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row.is-me{border-color:#2dd4bf73;background:linear-gradient(90deg,#0d94883d,#1e293be0)}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row--gold{border-color:#eab30861;background:linear-gradient(90deg,#78350f66,#1e293be6)}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row--silver{border-color:#94a3b87a;background:linear-gradient(90deg,#47556970,#1e293be6)}:root[data-theme=dark] .portal-lb.portal-lb-v2 .portal-lb-row--bronze{border-color:#b453096b;background:linear-gradient(90deg,#7c2d1266,#1e293be6)}:root[data-theme=dark] .portal-lb-v2-you{color:#5eead4!important;background:#0d94882e!important;border-color:#2dd4bf59!important}:root[data-theme=dark] .portal-lb-v2-pill{background:#0d948829!important;color:#99f6e4!important;border-color:#2dd4bf59!important}:root[data-theme=dark] .portal-lb-v2-xp{color:#67e8f9!important}:root[data-theme=dark] .portal-lb-v2-foot{border-top-color:#47556980}.student-profile-page{max-width:min(58rem,96vw);margin:0 auto;padding:1.25rem 1rem 2.5rem;border-radius:var(--radius-lg, 1rem);border:1px solid rgba(13,148,136,.15);background:linear-gradient(165deg,#fff,#f8fafcfa);box-shadow:0 8px 32px #0f172a0f}.student-profile-hero{position:relative;margin:-1.25rem -1rem 1rem;min-height:120px;max-height:min(220px,42vw);border-radius:var(--radius-lg, 1rem) var(--radius-lg, 1rem) 0 0;background:linear-gradient(135deg,#0d948833,#6366f126);background-size:cover;background-position:center;overflow:hidden}.student-profile-hero[style*=url] .student-profile-hero-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(15,23,42,.65) 0%,rgba(15,23,42,.15) 45%,transparent 72%);pointer-events:none;z-index:0}.student-profile-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;gap:.85rem;padding:1rem 1rem .85rem;min-height:120px}.student-profile-avatar-lg{width:4.25rem;height:4.25rem;min-width:0;min-height:0;border-radius:999px;border:3px solid #fff;box-shadow:0 4px 16px #0f172a1f;background:#fffffff2;display:grid;place-items:center;font-size:2rem;flex-shrink:0;margin-bottom:-.5rem;overflow:hidden}.student-profile-avatar-lg>img,.student-profile-avatar-photo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;display:block;border-radius:inherit}.student-profile-hero-text{flex:1;min-width:0;padding-bottom:.15rem;position:relative;z-index:1}.student-profile-name-plate{display:inline-block;max-width:100%;padding:.45rem .9rem .5rem;border-radius:12px;background:#fffffff0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 22px #0f172a2e;border:1px solid rgba(255,255,255,.95)}.student-profile-stats-card{margin:0 0 1.15rem;padding:1rem 1rem 1.05rem;border-radius:14px;border:1px solid rgba(13,148,136,.2);background:linear-gradient(145deg,#f0fdfaa6,#fffffff5);box-shadow:0 4px 20px #0f172a0d}.student-profile-stats-title{margin:0 0 .65rem;font-size:.95rem;font-weight:750;color:var(--color-teal-dark);letter-spacing:.02em}.student-profile-stats-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.student-profile-stats-level{display:flex;flex-direction:column;gap:.2rem;min-width:0}.student-profile-stats-lv{font-size:1.35rem;font-weight:800;line-height:1.1;color:var(--color-text);letter-spacing:-.02em}.student-profile-stats-analytics{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:650;padding:.35rem .65rem;border-radius:999px}.student-profile-stats-next{margin:.5rem 0 .35rem}.student-profile-stats-track{height:9px;border-radius:999px;background:#7c3aed1f;overflow:hidden}.student-profile-stats-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .35s ease}.student-profile-stats-grid{list-style:none;margin:.85rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem}@media (min-width: 520px){.student-profile-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.student-profile-stats-grid li{display:flex;flex-direction:column;gap:.15rem;min-width:0}.student-profile-stats-k{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);line-height:1.25}.student-profile-stats-v{font-size:.9rem;font-weight:700;color:var(--color-text);line-height:1.3;word-break:break-word}.student-profile-hub{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.student-profile-hub a{text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;font-size:.86rem;font-weight:650;border:1px solid rgba(13,148,136,.28);background:#f0fdfad9;color:var(--color-teal-dark);transition:background .15s ease,box-shadow .15s ease}.student-profile-hub a:hover{background:#fff;box-shadow:0 2px 8px #0d94881f}.student-profile-back--hero{position:absolute;top:.65rem;left:.65rem;z-index:2;background:#ffffffeb!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.student-profile-hub-btn{cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;font-size:.86rem;font-weight:650;border:1px solid rgba(13,148,136,.28);background:#fffffff2;color:var(--color-teal-dark);transition:background .15s ease,box-shadow .15s ease}.student-profile-hub-btn:hover{background:#fff;box-shadow:0 2px 8px #0d94881f}.student-profile-top{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.student-profile-back{flex-shrink:0;padding:.4rem;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff}.student-profile-head{min-width:0}.student-profile-name{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text);line-height:1.25;word-break:break-word}.student-profile-meta{margin:.35rem 0 0;color:var(--color-text-muted)}:root[data-theme=dark] .student-profile-page{border-color:#475569a6;background:linear-gradient(165deg,#0f1a2d,#111b2f);box-shadow:0 16px 42px #02061773}:root[data-theme=dark] .student-profile-name-plate{background:#0f172ae6;border-color:#4755699e;box-shadow:0 6px 22px #02061780}:root[data-theme=dark] .student-profile-avatar-lg{border-color:#475569b8;background:#0f172af0}:root[data-theme=dark] .student-profile-stats-card{border-color:#4755699e;background:linear-gradient(145deg,#0f172abd,#111b2feb);box-shadow:0 10px 26px #02061757}:root[data-theme=dark] .student-profile-hub a,:root[data-theme=dark] .student-profile-hub-btn{background:#0f172ac2;border-color:#4755699e;color:#7df2df}:root[data-theme=dark] .student-profile-hub a:hover,:root[data-theme=dark] .student-profile-hub-btn:hover{background:#0f172af2;border-color:#2dd4bf6b}:root[data-theme=dark] .student-profile-back,:root[data-theme=dark] .student-profile-back--hero{background:#0f172adb!important;border-color:#4755699e;color:#dce8fb}.student-profile-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.25rem}.student-profile-actions .btn-primary,.student-profile-actions .btn-secondary{display:inline-flex;align-items:center;gap:.4rem}.student-profile-chat-link{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.student-profile-badge{font-size:.8rem;font-weight:600;color:var(--color-teal-dark);padding:.3rem .65rem;border-radius:999px;background:#f0fdfaf2;border:1px solid rgba(13,148,136,.28)}.student-profile-wall-title{margin:0 0 .75rem;font-size:1.12rem;font-weight:750;color:var(--color-text)}.student-profile-composer{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.student-profile-composer .input-field{max-width:100%}.student-profile-composer-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:.45rem}.student-profile-composer-row .input-field{flex:1 1 180px;min-width:0}.social-attach-wrap{position:relative;flex-shrink:0}.social-attach-plus{width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid rgba(13,148,136,.35);background:#f0fdfae6;color:var(--color-teal-dark);font-size:1.35rem;font-weight:300;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,box-shadow .15s ease}.social-attach-plus:hover{background:#fff;box-shadow:0 2px 10px #0d948826}.social-attach-dropdown{position:absolute;bottom:calc(100% + .35rem);left:0;z-index:30;min-width:11rem;padding:.35rem;border-radius:12px;border:1px solid rgba(13,148,136,.22);background:#fff;box-shadow:0 10px 36px #0f172a1f;display:flex;flex-direction:column;gap:.15rem}.social-attach-dropdown button{text-align:left;border:none;background:transparent;padding:.45rem .55rem;border-radius:8px;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-text)}.social-attach-dropdown button:hover{background:#0d94881a}.social-attach-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;border:1px solid rgba(13,148,136,.28);background:#f0fdfaa6;font-size:.78rem;max-width:100%;word-break:break-all}.social-attach-chip button{border:none;background:transparent;cursor:pointer;padding:0 .15rem;font-size:1rem;line-height:1;color:var(--color-text-muted)}.social-attach-chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.social-attach-chip--link span{max-width:min(100%,18rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}.peer-messages-link-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;flex:1 1 200px;min-width:0}.peer-captcha-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a73;display:grid;place-items:center;padding:1rem}.peer-captcha-modal{width:min(100%,22rem);padding:1.15rem 1.25rem;border-radius:14px;background:#fff;border:1px solid rgba(13,148,136,.25);box-shadow:0 18px 48px #0f172a2e}.peer-captcha-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:750}.peer-captcha-question{margin:.5rem 0;font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.peer-captcha-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.85rem}.social-embed{display:flex;align-items:center;gap:.55rem;margin-top:.5rem;padding:.55rem .65rem;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;text-decoration:none;color:var(--color-text);max-width:100%;transition:border-color .15s ease,box-shadow .15s ease}.social-embed:hover{border-color:#0d948859;box-shadow:0 2px 10px #0d948814}.social-embed--img{padding:0;border:none;background:transparent;display:block;max-width:min(100%,420px);margin-left:auto;margin-right:auto;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.25)}.social-embed-img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#0f172a0a}.social-embed--vid{padding:0;border:none;background:transparent;max-width:min(100%,480px)}.social-embed-video{width:100%;border-radius:12px;max-height:280px;background:#000}.social-embed--aud{flex-wrap:wrap}.social-embed-audio{flex:1 1 200px;min-width:0;height:2.25rem}.social-embed-file-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.social-embed-file-name{font-weight:650;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-embed-file-sub{font-size:.72rem}.social-embed-open{flex-shrink:0;opacity:.6}.social-embed-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem}.social-embed-download{width:1.65rem;height:1.65rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:#0f172a0f}.social-embed-download-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.16rem .52rem;font-size:.72rem;font-weight:600;color:var(--color-text-muted);background:#ffffffb3}.social-embed:hover .social-embed-download-btn{border-color:#0d948859;color:#0f766e}.social-embed-link-host{font-weight:600;font-size:.88rem;word-break:break-all}.peer-msg-composer-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.45rem}.peer-msg-composer-bar .input-textarea{flex:1 1 220px;min-width:0;max-height:280px;resize:none;overflow-y:auto;min-height:2.5rem}.peer-composer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.peer-msg .social-embed{margin-top:.45rem}.student-profile-wall-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.student-profile-post{padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:#fff;box-shadow:0 1px 3px #0f172a0a}.student-profile-post-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem}.student-profile-post-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.student-profile-post-author{font-weight:650;color:var(--color-text)}.student-profile-post-body{white-space:pre-wrap;word-break:break-word;color:var(--color-text);line-height:1.5}.student-profile-post-badge-pub{display:flex;align-items:center;gap:.85rem;margin-top:.25rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(251,191,36,.35);background:linear-gradient(125deg,#fef3c78c,#ffffffe6)}.student-profile-post-badge-icon{font-size:3rem;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.student-profile-post-badge-text{min-width:0}.student-profile-post-badge-lead{margin:0 0 .2rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#b45309}.student-profile-post-badge-name{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text)}.student-profile-post-link{display:inline-block;margin-top:.5rem;font-size:.85rem;word-break:break-all;color:#0d9488;font-weight:600}.student-profile-post-del{font-size:.75rem;padding:.2rem .4rem}.peer-messages-shell{min-height:min(78vh,900px)}.peer-messages-layout{display:grid;grid-template-columns:minmax(15rem,17.5rem) minmax(0,1fr);gap:.75rem 1rem;align-items:stretch}@media (min-width: 1100px){.peer-messages-layout{grid-template-columns:minmax(16rem,18rem) minmax(0,1fr);gap:1rem 1.25rem}}.peer-messages-find{margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid rgba(148,163,184,.35)}.peer-messages-find-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.35rem}.peer-messages-find-input{width:100%;font-size:.88rem}.peer-messages-search-hint{margin:.35rem 0 0;font-size:.72rem}.peer-messages-search-results{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem;max-height:11rem;overflow-y:auto}.peer-messages-search-hit{display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;padding:.4rem;border-radius:8px;text-decoration:none;color:var(--color-text);font-size:.82rem;line-height:1.25;transition:background .12s ease}.peer-messages-search-hit:hover{background:#fffffff2}.peer-messages-search-hit-name{font-weight:650}.peer-messages-search-hit-meta{font-size:.68rem;color:var(--color-text-muted)}.peer-messages-sidebar{border:1px solid rgba(148,163,184,.4);border-radius:12px;background:#f8fafceb;padding:.4rem .35rem;max-height:min(78vh,820px);overflow-y:auto;min-height:min(52vh,520px)}.peer-thread-list{list-style:none;margin:0;padding:0}.peer-thread-search{width:100%;margin-bottom:.7rem}.social-embed--composer{margin:0;max-width:72px;max-height:54px;overflow:hidden}.social-attach-chip-preview{display:inline-flex;align-items:center;margin-right:.45rem}.peer-thread-li{list-style:none}.peer-thread-card{display:flex;flex-direction:row;align-items:stretch;margin-bottom:.4rem;border:1px solid rgba(148,163,184,.32);border-radius:12px;background:linear-gradient(180deg,#fffffff2,#f8fafce0);overflow:hidden;box-shadow:0 1px #fffc inset;transition:border-color .15s ease,box-shadow .15s ease}.peer-thread-card--active{border-color:#0d948880;box-shadow:0 0 0 1px #0d94881f,0 6px 18px #0d94881a}.peer-thread-link{display:flex;flex-direction:row;align-items:center;gap:.45rem;flex:1;min-width:0;padding:.45rem .5rem .45rem .45rem;color:var(--color-text);text-decoration:none;font-size:.84rem;border:none;transition:background .12s ease}.peer-thread-link:hover{background:#f0fdfa73}.peer-thread-link.is-active{background:#f0fdfa8c}.peer-thread-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:#0f766e;background:linear-gradient(145deg,#0d948833,#7c3aed1f);border:1px solid rgba(13,148,136,.22);overflow:hidden}.peer-thread-avatar--photo{padding:0;font-size:0;line-height:0;background:#f8fafcf2}.peer-thread-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.peer-thread-body{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.peer-thread-name-row{display:flex;align-items:center;gap:.35rem;min-width:0}.peer-thread-name{font-weight:650;line-height:1.25;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-thread-unread-badge{flex-shrink:0;min-width:1.05rem;height:1.05rem;padding:0 .32rem;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1.05rem;text-align:center;color:#fff;background:linear-gradient(135deg,#e11d48,#f97316);box-shadow:0 1px 6px #e11d4873}.peer-thread-courses{font-size:.68rem;line-height:1.25}.peer-thread-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.72rem;line-height:1.3}.peer-thread-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;min-width:fit-content;gap:.2rem;padding:.35rem .4rem;border-left:1px solid rgba(148,163,184,.28);background:#f8fafca6}.peer-thread-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:9px;background:#ffffffeb;color:var(--color-text);cursor:pointer;text-decoration:none;line-height:1;border:1px solid rgba(148,163,184,.38);transition:background .12s ease,border-color .12s ease,color .12s ease}.peer-thread-icon-btn:hover:not(:disabled){background:#fff;border-color:#0d94886b;color:#0f766e}.peer-thread-icon-btn:disabled{opacity:.5;cursor:not-allowed}.peer-thread-icon-btn--danger{color:#b91c1c;border-color:#b91c1c52}.peer-thread-icon-btn--danger:hover:not(:disabled){background:#fef2f2f2;border-color:#b91c1c73}@media (max-width: 520px){.peer-thread-card{flex-wrap:wrap;align-items:stretch}.peer-thread-link{flex:1 1 100%;min-width:0;align-items:center}.peer-thread-actions{flex:1 1 100%;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;align-self:center;border-left:none;border-top:1px solid rgba(148,163,184,.28);padding:.45rem .5rem;gap:.35rem}}.peer-messages-peerbar-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.peer-messages-peerbar-courses{margin:0;font-size:.82rem}.peer-messages-main{border:1px solid rgba(148,163,184,.4);border-radius:14px;background:#fff;padding:0;min-height:min(78vh,820px);display:flex;flex-direction:column;box-shadow:0 4px 24px #0f172a0f;flex:1;min-width:0}.peer-messages-pick{margin:0;padding:3rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.95rem}.peer-messages-peerbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1rem .65rem;border-bottom:1px solid rgba(148,163,184,.3);background:linear-gradient(180deg,#f8fafc99,#fff);border-radius:14px 14px 0 0}.peer-messages-peerbar strong{color:var(--color-text)}.peer-messages-profile-link{font-size:.88rem;font-weight:650;color:#0d9488;text-decoration:none}.peer-messages-profile-link:hover{text-decoration:underline}.peer-messages-stream{flex:1;min-height:0;overflow-y:auto;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.65rem}.peer-msg{align-self:flex-start;max-width:min(100%,36rem);padding:.55rem .75rem;border-radius:12px;background:#f8fafcf2;border:1px solid rgba(148,163,184,.4)}.peer-msg--mine{align-self:flex-end;background:#f0fdfaf2;border-color:#0d948859}.peer-msg-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.25rem;font-size:.78rem}.peer-msg-name{font-weight:650;color:var(--color-text-muted)}.peer-msg-body{white-space:pre-wrap;word-break:break-word;line-height:1.45;color:var(--color-text)}.peer-msg-link{display:inline-block;margin-top:.35rem;font-size:.82rem;word-break:break-all;color:#0d9488;font-weight:600}.peer-msg-attachment-img-wrap{display:block;margin-top:.4rem;border-radius:10px;overflow:hidden;max-width:min(100%,280px);border:1px solid rgba(148,163,184,.45)}.peer-msg-attachment-img{display:block;width:100%;height:auto;vertical-align:middle}.peer-messages-attach-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.peer-messages-attach-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem}.peer-messages-link-field{flex:1 1 160px;min-width:0}.peer-messages-composer{margin-top:auto;padding:.85rem 1rem 1rem;border-top:1px solid rgba(148,163,184,.35);display:flex;flex-direction:column;gap:.45rem;background:#f8fafc80;border-radius:0 0 14px 14px}@media (max-width: 720px){.peer-messages-layout{grid-template-columns:1fr;gap:.65rem}.peer-messages-sidebar{max-height:min(40vh,18rem);min-height:auto}.peer-messages-main{min-height:min(50dvh,28rem)}.peer-messages-peerbar{flex-wrap:wrap;padding:.75rem .85rem .55rem}.peer-messages-composer{padding:.75rem .85rem .85rem;padding-bottom:max(.85rem,env(safe-area-inset-bottom,0px))}}.chat-typing-turn{margin-top:.35rem}.chat-typing-meta{margin-bottom:.25rem}.chat-typing-bubble{position:relative;display:inline-block;max-width:min(100%,22rem);padding:.72rem 1rem .62rem;border-radius:1.05rem 1.05rem 1.05rem .38rem;background:linear-gradient(145deg,#7c3aed24,#0d94881a);border:1px solid rgba(124,58,237,.28);box-shadow:0 1px #ffffff0f inset,0 8px 28px #7c3aed1f;overflow:hidden}.chat-typing-bubble:before{content:"";position:absolute;top:-40%;right:-30%;bottom:-40%;left:-30%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.14) 48%,rgba(255,255,255,.06) 52%,transparent 58%);animation:chat-typing-shimmer 2.8s ease-in-out infinite;pointer-events:none}@media (prefers-reduced-motion: reduce){.chat-typing-bubble:before{animation:none;opacity:0}}@keyframes chat-typing-shimmer{0%{transform:translate(-18%) rotate(6deg);opacity:.2}45%{opacity:.55}to{transform:translate(22%) rotate(6deg);opacity:.2}}.chat-typing-main{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .65rem}.chat-typing-word{font-size:.95rem;font-weight:700;letter-spacing:.01em;background:linear-gradient(120deg,#5b21b6,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent;animation:chat-typing-word-pulse 1.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.chat-typing-word{color:#5b21b6;background:none;animation:none}}@keyframes chat-typing-word-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}.chat-typing-dots{display:inline-flex;align-items:center;gap:6px}.chat-typing-dot{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0%,transparent 42%),linear-gradient(155deg,#a78bfa,#14b8a6);box-shadow:0 1px 3px #5b21b659;animation:chat-dot-bounce 1.15s ease-in-out infinite}.chat-typing-dot:nth-child(2){animation-delay:.18s}.chat-typing-dot:nth-child(3){animation-delay:.36s}@keyframes chat-dot-bounce{0%,to{transform:translateY(0) scale(1);opacity:.55}45%{transform:translateY(-6px) scale(1.08);opacity:1}}.chat-typing-hint{position:relative;z-index:1;margin:.45rem 0 0;font-size:.8rem;line-height:1.35;color:var(--color-text-muted);opacity:.95;animation:chat-typing-hint-in .45s ease both}@keyframes chat-typing-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-typing-avatar{position:relative;animation:chat-typing-avatar-glow 2s ease-in-out infinite}.chat-typing-avatar:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:12px;border:2px solid rgba(124,58,237,.4);animation:chat-typing-ring 2s ease-in-out infinite;pointer-events:none}@media (prefers-reduced-motion: reduce){.chat-typing-avatar{animation:none}.chat-typing-avatar:after{display:none}.chat-typing-hint{animation:none}}@keyframes chat-typing-avatar-glow{0%,to{box-shadow:0 0 #7c3aed00}50%{box-shadow:0 0 18px #7c3aed59}}@keyframes chat-typing-ring{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.12);opacity:.9}}.chat-layout{display:grid;gap:0;grid-template-columns:1fr;grid-template-rows:auto 1fr;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--chat-border-soft);background:var(--chat-surface);box-shadow:var(--shadow-sm);flex:1;min-height:0}@media (min-width: 960px){.chat-layout{grid-template-columns:minmax(240px,300px) 1fr;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:min(78vh,640px)}}.chat-history-aside{--chat-sidebar-hover: rgba(15, 23, 42, .06);--chat-sidebar-active: rgba(13, 148, 136, .12);background:var(--chat-sidebar);border-bottom:1px solid var(--chat-border-soft);max-height:min(72vh,560px);display:flex;flex-direction:column;overflow:hidden;padding:.65rem .5rem .5rem}@media (min-width: 960px){.chat-history-aside{border-bottom:none;border-right:1px solid var(--chat-border-soft);max-height:none}}.chat-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem;padding:0 .35rem;flex-shrink:0}.chat-history-title{margin:0;font-size:.8125rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.chat-sidebar-new-btn{flex-shrink:0;white-space:nowrap;padding:.35rem .65rem;font-size:.8rem;border-radius:999px}.chat-sidebar-err,.chat-sidebar-empty{margin:0 .35rem .5rem;font-size:.82rem;line-height:1.4}.chat-history-list{list-style:none;margin:0;padding:0 .15rem .35rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:2px}.chat-history-msg{position:relative;display:flex;align-items:flex-start;gap:.35rem;padding:.5rem .45rem .5rem .55rem;margin:0;border-radius:10px;border:none;font-size:.875rem;background:transparent;cursor:pointer;transition:background .12s ease;outline:none;min-width:0}.chat-history-msg:hover{background:var(--chat-sidebar-hover)}.chat-history-msg:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-primary) 40%,transparent)}.chat-history-msg.is-active{background:var(--chat-sidebar-active)}.chat-history-item-main{min-width:0;flex:1;overflow:hidden}.chat-history-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;min-width:0}.chat-history-item-title{display:block;min-width:0;flex:1;font-weight:600;color:var(--color-text);line-height:1.35;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.28rem;max-width:100%}.chat-history-preview-snippet{margin:.3rem 0 0;font-size:.75rem;line-height:1.38;color:var(--color-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.chat-history-time{flex-shrink:0;font-size:.65rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;line-height:1.3;padding-top:.15rem;max-width:5.25rem;overflow:hidden;text-overflow:ellipsis;text-align:right}.chat-history-item-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.1rem;flex-shrink:0;align-self:center;opacity:.55;transition:opacity .15s ease}@media (hover: hover) and (pointer: fine){.chat-history-msg:hover .chat-history-item-actions,.chat-history-msg:focus-within .chat-history-item-actions{opacity:1}}@media (hover: none),(pointer: coarse){.chat-history-item-actions{opacity:1}}.chat-history-item-actions .chat-history-delete,.chat-history-item-actions .chat-history-open-lecture,.chat-history-item-actions .chat-history-open-task{position:static;width:1.75rem;height:1.75rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.chat-session-task-badge{display:inline-block;max-width:100%;padding:.06rem .4rem;font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#1a5fb4;background:#1a5fb41a;border-radius:999px}.chat-session-lecture-badge{display:inline-block;max-width:100%;padding:.06rem .4rem;font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#0f766e;background:#0d94881f;border-radius:999px}.chat-lecture-banner{border-color:color-mix(in srgb,#0d9488 28%,var(--chat-border-soft));background:color-mix(in srgb,#0d9488 7%,var(--chat-surface))}.chat-task-banner{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem .85rem;margin-bottom:.75rem;border:1px solid var(--chat-border-soft);border-radius:.5rem;background:var(--chat-surface)}.chat-task-banner-text{flex:1;min-width:10rem}.chat-lecture-link{color:#1a5fb4;text-decoration:underline;text-underline-offset:2px}.chat-lecture-link:hover{color:#0d3d82}.material-page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1rem}.material-page-toolbar--lecture{padding:.65rem .75rem;margin-bottom:1.1rem;border-radius:12px;background:color-mix(in srgb,var(--color-surface-elevated, var(--color-bg)) 88%,var(--color-text) 4%);border:1px solid color-mix(in srgb,var(--color-border) 35%,transparent)}.material-page-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.material-toolbar-link{display:inline-flex;align-items:center;gap:.35rem}.material-lecture-card{position:relative}.material-lecture-heading{margin:0 0 .25rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--color-border) 38%,transparent)}.material-page-title{margin:0 0 .35rem;font-size:clamp(1.25rem,2.8vw,1.55rem);font-weight:800;letter-spacing:-.025em;line-height:1.25;color:var(--color-text)}.material-lecture-topic-line{margin:0 0 .5rem;font-size:.88rem;line-height:1.4;color:color-mix(in srgb,var(--color-text) 58%,transparent)}.material-lecture-topic-name{font-weight:600;color:color-mix(in srgb,var(--color-text) 78%,transparent)}.material-lecture-topic-dot{margin:0 .28rem;opacity:.45}.material-lecture-class-name{font-weight:500}.material-lecture-hint{margin:0;font-size:.86rem;line-height:1.5;color:color-mix(in srgb,var(--color-text) 58%,transparent)}.material-lecture-body{margin-top:1.05rem}.material-lecture-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:1rem}.material-lecture-layout--full{grid-template-columns:minmax(0,1fr)}.material-lecture-main{min-width:0}.material-outline-toggle{margin-bottom:.45rem}.material-outline-controls{display:flex;gap:.4rem;margin-bottom:.45rem}.material-lecture-outline{position:static;top:calc(var(--header-h) + .8rem);align-self:start;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:.65rem;max-height:calc(100dvh - var(--header-h) - 1.6rem);overflow:auto}.material-lecture-outline.is-pinned{position:sticky}.material-lecture-outline-head{display:grid;gap:.12rem;margin-bottom:.5rem}.material-lecture-outline-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.material-lecture-outline-item{width:100%;border:1px solid transparent;background:transparent;border-radius:10px;display:flex;align-items:center;gap:.5rem;text-align:left;padding:.42rem .5rem;cursor:pointer}.material-lecture-outline-item:hover{background:#0d948814}.material-lecture-outline-item.is-active{border-color:#0d948859;background:#0d94881f}.material-lecture-outline-item.is-done .material-lecture-outline-index{background:#14b8a633;color:#0f766e}.material-lecture-outline-index{width:1.35rem;height:1.35rem;border-radius:999px;background:#0f172a14;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;flex:0 0 auto}.material-lecture-outline-title{min-width:0;font-size:.84rem}.material-lecture-outline-state{margin-left:auto;font-size:.68rem}.wall-comments{margin-top:.65rem}.wall-comments-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.35rem}.wall-comments-count{font-variant-numeric:tabular-nums}.wall-comments-toggle{flex:0 0 auto}.wall-comment{border:1px solid var(--color-border);border-radius:10px;padding:.5rem .6rem;margin-top:.45rem}.wall-comment--reply{margin-left:1rem}.wall-comment-head{display:flex;justify-content:space-between;gap:.5rem}.wall-comment-actions{display:flex;gap:.35rem}.wall-comment-composer{display:flex;gap:.45rem;margin-top:.5rem}.wall-comment-composer input{flex:1}.student-reading-controls{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .5rem;border:1px solid var(--color-border);border-radius:999px;padding:.18rem .3rem;background:color-mix(in srgb,var(--color-surface) 92%,var(--color-text) 3%)}@media (max-width: 960px){.material-lecture-layout{grid-template-columns:1fr}.material-lecture-outline{position:static;max-height:none}}.material-lecture-pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem .55rem;align-items:stretch;margin:0 0 .65rem;padding:.45rem .5rem;border-radius:12px;background:linear-gradient(135deg,#f0fdfa8c,#ffffffeb 55%,#f8fafcf2);border:1px solid color-mix(in srgb,var(--color-accent, #0d9488) 22%,var(--color-border) 45%);box-shadow:0 6px 22px #0d948812}.material-lecture-pager--bottom{margin:.85rem 0 0;border-top:none}.material-lecture-pager-side{display:flex;align-items:center;gap:.35rem;margin:0;padding:.32rem .42rem;min-height:2.35rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-border) 45%,transparent);background:#fff;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.material-lecture-pager-side:hover:not(:disabled){border-color:#0d948873;background:#f0fdfaa6;box-shadow:0 2px 10px #0d94881a}.material-lecture-pager-side:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.material-lecture-pager-side--next{text-align:right;justify-content:flex-end}.material-lecture-pager-side-text{display:flex;flex-direction:column;gap:.06rem;min-width:0}.material-lecture-pager-side-label{font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--color-accent, #0f766e) 88%,var(--color-text) 12%)}.material-lecture-pager-side-title{font-size:.8rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-lecture-pager-chevron{flex-shrink:0;opacity:.75;color:color-mix(in srgb,var(--color-accent, #0d9488) 85%,var(--color-text) 15%)}.material-lecture-pager-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:min(180px,28vw);padding:.05rem 0}.material-lecture-pager-track{width:100%;height:3px;border-radius:999px;background:#0f172a14;overflow:hidden}.material-lecture-pager-track-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#34d399);transition:width .25s ease}.material-lecture-pager-meta{display:flex;flex-direction:column;align-items:center;gap:.02rem;font-size:.65rem;text-align:center}.material-lecture-pager-meta strong{font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--color-text)}.material-lecture-pager-next-hint{text-align:center;max-width:220px;line-height:1.2;font-size:.68rem}@media (max-width: 720px){.material-lecture-pager{grid-template-columns:1fr;padding:.65rem .55rem}.material-lecture-pager-mid{order:-1;min-width:0;width:100%}.material-lecture-pager-side--next{flex-direction:row-reverse}}.chat-code-block--lecture{margin:.85rem auto 1rem;max-width:min(920px,94%);border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(165deg,#1f2430,#1a2333 52%,#18202f);box-shadow:0 8px 26px #02061757,inset 0 1px #ffffff0f}.chat-code-block--lecture .chat-code-head{background:#0f172a73;border-bottom:1px solid rgba(255,255,255,.07)}.chat-code-block--lecture .chat-code-copy{border-color:#ffffff2e;background:#ffffff1a}.chat-code-block--lecture .chat-code-copy:hover{border-color:#2dd4bf73;background:#0d948840}.material-page-body{margin-top:.85rem}.material-ai-answer{margin-top:.75rem;max-height:320px;overflow:auto}.material-ai-fab{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(13,148,136,.35);background:linear-gradient(135deg,#0d9488,#10b981);color:#fff;box-shadow:0 10px 24px #0d948852;display:inline-flex;align-items:center;justify-content:center;z-index:35;animation:material-bot-float 2.8s ease-in-out infinite}.material-ai-fab.is-open{animation:none}@keyframes material-bot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.material-ai-dock{position:fixed;right:20px;bottom:84px;width:min(420px,calc(100vw - 28px));max-height:min(72vh,640px);overflow:auto;border:1px solid var(--color-border);border-radius:14px;padding:.85rem;background:var(--color-surface);box-shadow:var(--shadow-lg);z-index:34}.material-ai-dock-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.material-ai-dock .material-ai-autosize-ta{display:block;width:100%;resize:none;min-height:2.6rem;max-height:320px;overflow-y:auto;box-sizing:border-box}.material-ai-dock .material-ai-question-ta{min-height:2.35rem;max-height:200px;margin-top:.35rem;font:inherit;line-height:1.45;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.page.teacher-studio .teacher-studio-ai-fab{position:fixed;right:22px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(13,148,136,.35);background:linear-gradient(135deg,#0d9488,#10b981);color:#fff;box-shadow:0 10px 24px #0d948847;display:inline-flex;align-items:center;justify-content:center;z-index:38;cursor:pointer;padding:0;transition:transform .15s ease,box-shadow .15s ease}.page.teacher-studio .teacher-studio-ai-fab:hover{transform:translateY(-2px)}.page.teacher-studio .teacher-studio-ai-fab--material{bottom:24px}.page.teacher-studio .teacher-studio-ai-fab--task{bottom:24px;border-color:#7c3aed6b;background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 10px 24px #7c3aed4d;z-index:37}.page.teacher-studio .teacher-studio-ai-fab--task.is-stacked{bottom:92px}.page.teacher-studio .teacher-studio-ai-fab.is-open{animation:none}.page.teacher-studio .teacher-studio-ai-dock{position:fixed;right:22px;bottom:84px;width:min(420px,calc(100vw - 28px));max-height:min(70vh,620px);overflow:auto;border:1px solid var(--color-border);border-radius:14px;padding:.85rem .9rem;background:var(--color-surface);box-shadow:var(--shadow-lg);z-index:40}.page.teacher-studio .teacher-studio-ai-dock--task.is-raised{bottom:156px}.page.teacher-studio .teacher-studio-ai-dock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.page.teacher-studio .teacher-studio-ai-dock-head strong{font-size:.95rem;line-height:1.35;padding-right:.25rem}.page.teacher-studio .teacher-studio-ai-dock-lead{margin:0 0 .65rem;font-size:.82rem;line-height:1.45}.page.teacher-studio .teacher-studio-ai-dock .teacher-material-ai{margin:0;padding:0;border:none;background:transparent;box-shadow:none}.page.teacher-studio .teacher-studio-ai-dock .teacher-material-ai-result{max-height:min(36vh,260px)}.material-topic-tasks{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--color-border)}.topic-material-open-btn{background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.topic-material-open-btn.is-active{text-decoration:underline}.task-work-card{transition:box-shadow .25s ease,border-color .25s ease}.task-work-card--studio{padding:0;overflow:hidden;border:1px solid rgba(13,148,136,.22);background:linear-gradient(180deg,rgba(240,253,250,.35) 0%,var(--color-surface) 12%);box-shadow:0 16px 48px -24px #0d948859}.task-work-shell{display:flex;flex-direction:column;gap:0}.task-work-title-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem 1.15rem .45rem;border-bottom:1px solid rgba(13,148,136,.1);background:#ffffff80}.task-work-title-strip .task-work-title{margin:0;flex:1 1 12rem;min-width:0}.task-brief-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.65rem}.task-panel__title.task-panel__title--brief{margin-bottom:0}.task-brief-ai-btn{flex-shrink:0}.task-work-hero{padding:1rem 1.15rem;border-bottom:1px solid rgba(13,148,136,.12);background:linear-gradient(125deg,#ffffffeb,#f0fdfa80)}.task-work-chat-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:.85rem;padding:.75rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(13,148,136,.28);background:#ffffffd9;box-shadow:0 4px 20px #0d948814}.task-work-chat-cta-text{display:flex;flex-direction:column;gap:.2rem;min-width:min(100%,220px);flex:1}.task-work-chat-cta-label{font-weight:800;font-size:.95rem;letter-spacing:-.02em;color:var(--color-teal-dark)}.task-work-chat-cta-sub{max-width:36rem;line-height:1.45}.task-work-chat-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.45rem;box-shadow:0 6px 20px #0d948840}.task-work-hero--compact{padding:.65rem 1.15rem .55rem}.task-work-hero-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .85rem}.task-work-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;flex-shrink:0}.task-work-toolbar-btn{white-space:nowrap}.task-work-toolbar-meta{max-width:11rem;line-height:1.3}@media (max-width: 520px){.task-work-toolbar-meta{width:100%;max-width:none}}.task-work-flow-hint{margin:.45rem 0 0;line-height:1.45;max-width:48rem}.task-hints-details{border-top:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#ffffff80,#fef3c714)}.task-hints-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;padding:.65rem 1.15rem;cursor:pointer;font-weight:750;font-size:.9rem;color:var(--color-text);list-style:none}.task-hints-summary::-webkit-details-marker{display:none}.task-hints-summary .task-hints-summary-count{font-weight:600}.task-panel--hints-below{border-bottom:none;padding-top:0}@media (max-width: 900px){.task-submit-row--primary{position:sticky;bottom:0;z-index:8;padding-top:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));margin-left:-1px;margin-right:-1px;border-top:1px solid rgba(13,148,136,.2);box-shadow:0 -10px 28px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.task-panel{padding:1rem 1.15rem;border-bottom:1px solid rgba(148,163,184,.2)}.task-panel:last-of-type{border-bottom:none}.task-panel--brief{background:#ffffffa6}.task-panel--hints{background:linear-gradient(180deg,#fef3c733,#ffffff80)}.task-panel--code{background:#0f172a05}.task-panel--run{background:#7c3aed0a}.task-panel__title{display:flex;align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.task-panel__body{margin:0}.task-panel__due{margin-top:.75rem}.hint-chat-hint{margin:.65rem 0 0!important;max-width:40rem}.task-work-form{display:flex;flex-direction:column;gap:0}.task-run-panel{display:flex;flex-direction:column;gap:.65rem}.task-run-actions{display:flex;flex-wrap:wrap;gap:.5rem}.task-submit-row--primary{padding:1rem 1.15rem 1.15rem;margin-top:0;border-top:1px solid rgba(13,148,136,.15);background:linear-gradient(180deg,#ffffff80,#f0fdfa66);justify-content:flex-start}.task-submit-main{min-width:min(100%,220px);font-weight:700}.tasks-result-card--nested{margin:0;border:none;border-radius:0;border-top:1px solid rgba(13,148,136,.2);padding:1rem 1.15rem 1.15rem;background:linear-gradient(180deg,rgba(248,250,252,.9) 0%,var(--color-surface) 100%);box-shadow:none;scroll-margin-top:.75rem;scroll-margin-bottom:5rem}.tasks-result-card--above-code{border-top:none;border-bottom:1px solid rgba(13,148,136,.22);border-radius:var(--radius-lg);margin-bottom:.85rem;scroll-margin-top:5rem}.tasks-result-tests-wrap{margin-top:.35rem}.tasks-tests-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.5rem}.tasks-tests-head .tasks-tests-title{margin:0}.tasks-test-compact-bar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.tasks-test-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .35rem;border-radius:8px;font:inherit;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;border:1px solid var(--color-border);background:#0f172a0a;color:var(--color-text-muted);cursor:pointer;transition:box-shadow .15s ease,transform .1s ease}.tasks-test-pill:hover{filter:brightness(.97)}.tasks-test-pill.is-pass{border-color:#10b98173;background:#10b9811f;color:#047857}.tasks-test-pill.is-fail{border-color:#ef444466;background:#fee2e28c;color:#b91c1c}.tasks-test-pill.is-active{box-shadow:0 0 0 2px #0d94888c;transform:scale(1.06)}.tasks-test-pill.is-active.is-fail{box-shadow:0 0 0 2px #dc262673}.tasks-test-single-toolbar{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:.55rem}.tasks-test-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background .15s ease,opacity .15s ease}.tasks-test-nav-btn:hover:not(:disabled){background:#0d94881a;border-color:#0d948859}.tasks-test-nav-btn:disabled{opacity:.35;cursor:not-allowed}.tasks-test-single-position{font-weight:600;font-variant-numeric:tabular-nums;min-width:6.5rem;text-align:center}.tasks-test-single-card{border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface)}.tasks-test-single-card.is-pass{border-color:#10b98159;background:#10b9810a}.tasks-test-single-card.is-fail{border-color:#ef444447;background:#ef44440a}.tasks-test-single-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:#0f172a08}.tasks-test-io-heading{padding:.35rem .75rem 0;margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.tasks-test-single-card .tasks-test-body{padding:.55rem .75rem .65rem}.tasks-test-list--failures{margin-bottom:.5rem}.tasks-test-item--compact .tasks-test-item-top{padding:.45rem .65rem}.tasks-test-item--compact .tasks-test-details summary{padding:.38rem .65rem;font-size:.72rem}.tasks-test-item--compact .tasks-test-body{padding:.5rem .65rem}.tasks-tests-passed-block{margin-top:.35rem;border-radius:var(--radius);border:1px dashed rgba(16,185,129,.35);background:#10b98108;overflow:hidden}.tasks-tests-passed-summary{cursor:pointer;padding:.5rem .75rem;font-size:.84rem;font-weight:700;color:var(--color-text);list-style:none}.tasks-tests-passed-summary::-webkit-details-marker{display:none}.tasks-tests-passed-block .tasks-test-list--passed{gap:.45rem;padding:0 .65rem .65rem}.tasks-result-card--nested .tasks-result-h2{margin-top:0;font-size:1.05rem}.tasks-result-panel-details{border:none;margin:0;padding:0}.tasks-result-panel-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:0;margin:0 0 .35rem}.tasks-result-panel-summary::-webkit-details-marker{display:none}.tasks-result-panel-summary::marker{content:""}.tasks-result-panel-summary .tasks-result-h2{margin:0;flex:1;font-size:1.05rem}.tasks-result-panel-body{padding-top:.1rem}.tasks-test-single-label-row{display:flex;justify-content:center;margin-bottom:.55rem}.tasks-ai-feedback-block{margin-bottom:1rem;padding:.75rem .85rem;border-radius:var(--radius-lg);border:1px solid rgba(13,148,136,.28);background:linear-gradient(135deg,#0d948812,#a78bfa0f)}.tasks-ai-feedback-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.5rem}.tasks-ai-feedback-h3{margin:0 0 .15rem;font-size:1rem}.tasks-ai-feedback-lead{margin:0!important}.tasks-ai-feedback-md{margin-top:.35rem}.task-work-card.is-focus-pulse{box-shadow:0 0 0 3px #0d948838;border-color:#0d94887a}.tasks-focus-anchor{height:0;outline:none;border-radius:8px;transition:box-shadow .25s ease}.tasks-focus-anchor.is-focus-pulse{box-shadow:0 0 0 3px #0d948833}.tasks-lecture-inline{margin-top:.85rem;border:1px solid var(--color-border);border-radius:12px;padding:.75rem;background:color-mix(in srgb,var(--color-surface) 92%,var(--color-primary) 8%)}.tasks-lecture-inline-body{max-height:320px;overflow:auto}.chat-history-meta{display:block;font-size:.68rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.3rem}.chat-history-delete{border:0;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.chat-history-delete:hover{background:#ef44441a;color:#b91c1c}.chat-history-open-lecture{border:0;background:transparent;color:#0f766e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.chat-history-open-lecture:hover{background:#0d948824;color:#0d9488}.chat-history-open-task{border:0;background:transparent;color:#7c3aed;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.chat-history-open-task:hover{background:#7c3aed1f;color:#6d28d9}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061773;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-modal{width:min(460px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-lg);padding:1rem 1rem .9rem}.confirm-modal h3{margin:0 0 .35rem}.confirm-title-row{display:inline-flex;align-items:center;gap:.45rem}.confirm-title-icon{width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;color:#b45309}.confirm-modal.is-danger .confirm-title-icon{color:#b91c1c}.confirm-modal p{margin:0;color:var(--color-text);white-space:pre-wrap}.confirm-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.5rem}.settings-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;display:grid;place-items:center;padding:.75rem;box-sizing:border-box}.settings-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;cursor:pointer;background:#0f172a66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-modal-panel{position:relative;z-index:1;width:min(80vw,76rem);max-height:min(92vh,52rem);display:flex;flex-direction:column;overflow:hidden;margin:0;box-shadow:0 24px 64px #0f172a38}@media (max-width: 900px){.settings-modal-panel{width:min(96vw,100%)}}.settings-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-surface)}.settings-modal-title{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.settings-modal-close{flex-shrink:0}.settings-modal-body{overflow-y:auto;flex:1;min-height:0;padding:.5rem 1rem 1rem;box-sizing:border-box;scrollbar-width:thin}.settings-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--color-border);flex-shrink:0;background:#f8fafcf5}.settings-page{max-width:40rem;margin:0 auto;padding:.75rem 1rem 2rem;box-sizing:border-box}.settings-page-head{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem}@media (min-width: 480px){.settings-page-head{flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap}}.settings-page-title{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.settings-page-back{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.settings-page-section{border:1px solid var(--color-border);border-radius:12px;padding:1rem 1.1rem 1.1rem;margin-bottom:.8rem;background:var(--color-surface);max-width:100%;box-sizing:border-box;box-shadow:0 6px 22px #0f172a0f}.settings-page-section--ide{padding-top:.85rem}.settings-page-section-title{margin:0 0 .85rem;font-size:1rem;font-weight:750;color:var(--color-text)}.settings-page-section:last-child{margin-bottom:0}.settings-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:.25rem}.settings-ide-fieldset--page{margin:.5rem 0 0;padding:.55rem .65rem .65rem;max-width:100%;box-sizing:border-box}.settings-page .settings-ide-fieldset label.settings-check--visible,.settings-modal-panel .settings-ide-fieldset label.settings-check--visible{grid-template-columns:1rem minmax(0,1fr);column-gap:.5rem;padding:.32rem .4rem;align-items:flex-start;max-width:100%;box-sizing:border-box}.settings-page .settings-ide-fieldset label.settings-check--visible input[type=checkbox],.settings-modal-panel .settings-ide-fieldset label.settings-check--visible input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin-top:.12rem;border-radius:4px;background-size:.55rem}.settings-page .settings-ide-fieldset label.settings-check--visible span,.settings-modal-panel .settings-ide-fieldset label.settings-check--visible span{font-size:.84rem;line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.student-community-shell{display:flex;align-items:stretch;gap:0;width:100%;max-width:min(88rem,100%);margin:0 auto;min-height:60vh}.student-community-rail{flex:0 0 auto;width:11.5rem;padding:.65rem .5rem;display:flex;flex-direction:column;gap:.35rem;border:1px solid rgba(13,148,136,.18);border-radius:14px;background:linear-gradient(180deg,#fffffff2,#f0fdfae0);box-shadow:0 4px 20px #0f172a0f;align-self:flex-start;position:sticky;top:4.5rem}.student-community-rail-link{display:flex;align-items:center;gap:.45rem;padding:.45rem .55rem;border-radius:10px;text-decoration:none;font-size:.88rem;font-weight:650;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.student-community-rail-link:hover{color:var(--color-text);background:#0d94881a}.student-community-rail-link.active{color:var(--color-teal-dark);background:#0d948829}.student-community-main{flex:1 1 0;min-width:0;padding-left:.75rem}@media (max-width: 720px){.student-community-shell{flex-direction:column}.student-community-rail{width:100%;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;padding:.5rem}.student-community-rail-link{flex:1 1 auto;justify-content:center;min-width:7rem}.student-community-main{padding-left:0;padding-top:.5rem}}.settings-check--teacher-page{margin-top:.75rem;max-width:100%;box-sizing:border-box}.settings-check--teacher-page input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin-top:.2rem}.student-settings-modal{width:min(520px,100%);max-height:min(88vh,760px);overflow-y:auto}.student-settings-modal--wide{width:min(920px,calc(100vw - 1.5rem));max-height:min(90vh,820px)}.student-settings-layout{display:grid;gap:1rem 1.25rem;width:100%}@media (min-width: 720px){.student-settings-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start}}.student-settings-col{min-width:0}.settings-media-block{margin-top:.75rem;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f8fafce6}.settings-media-grid{display:grid;gap:.7rem}@media (min-width: 980px){.settings-media-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.settings-media-title{margin:0 0 .5rem;font-size:.82rem;font-weight:700;color:var(--color-text)}.settings-media-preview{margin:0 0 .55rem;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.45);background:#f1f5f9e6}.settings-media-preview--avatar{width:4.5rem;height:4.5rem}.settings-media-preview--cover{max-width:14rem;height:4rem}.settings-media-preview-img{width:100%;height:100%;object-fit:cover;display:block}.settings-media-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.55rem}.settings-ide-fieldset{border:1px solid var(--color-border);border-radius:10px;margin:.75rem 0 0;padding:.65rem .85rem .75rem}.settings-ide-fieldset legend{padding:0 .35rem;font-weight:700;font-size:.88rem;color:var(--color-text)}.settings-ide-fieldset .settings-field-label{display:block;margin-top:.55rem}.settings-ide-fieldset>legend+.settings-field-label{margin-top:.3rem}.settings-ide-lead{margin:.35rem 0 .5rem;line-height:1.45;max-width:36rem}.settings-check-list{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0 .45rem}.settings-check-list--visible{gap:.4rem}.settings-ide-fieldset label.settings-check{display:grid;grid-template-columns:1.35rem minmax(0,1fr);column-gap:.75rem;align-items:center;margin:0;padding:0;cursor:pointer;font-size:.9rem;line-height:1.35}.settings-ide-fieldset label.settings-check--visible{padding:.55rem .62rem;border-radius:12px;border:1px solid rgba(148,163,184,.34);background:linear-gradient(180deg,#f8fafceb,#fffffffa);box-shadow:0 1px #ffffffeb inset,0 4px 14px #0f172a0d;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.settings-ide-fieldset label.settings-check--visible:hover{border-color:#0d948859;background:#fff;box-shadow:0 1px #fffffffa inset,0 8px 18px #0d94881f;transform:translateY(-1px)}.settings-ide-fieldset label.settings-check input[type=checkbox]{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--color-teal);justify-self:center}.settings-ide-fieldset label.settings-check--visible input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.28rem;height:1.28rem;border-radius:6px;border:2px solid #0d9488;background:#fff;flex-shrink:0;display:grid;place-content:center;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.settings-ide-fieldset label.settings-check--visible input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #0d948847}.settings-ide-fieldset label.settings-check--visible input[type=checkbox]:checked{background-color:#0d9488;border-color:#0f766e;box-shadow:0 0 0 2px #0d94881f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.72rem}.settings-ide-fieldset label.settings-check span{min-width:0;font-weight:600;color:var(--color-text)}.student-settings-modal label.settings-check-modal-field,.confirm-modal.student-settings-modal label.settings-check-modal-field{display:grid;grid-template-columns:1.15rem minmax(0,1fr);column-gap:.7rem;align-items:start;margin:.85rem 0 0;padding:0;cursor:pointer;font-size:.9rem;line-height:1.4}.student-settings-modal label.settings-check-modal-field input[type=checkbox]{width:1.08rem;height:1.08rem;margin:.22rem 0 0;accent-color:var(--color-teal);justify-self:center;align-self:start}.settings-check-modal-text{display:flex;flex-direction:column;gap:.3rem;min-width:0}.settings-check-modal-text strong{line-height:1.35}.settings-check-modal-hint{display:block;line-height:1.45;font-weight:400}:root[data-theme=dark] .settings-modal-body{scrollbar-color:rgba(71,85,105,.8) transparent}:root[data-theme=dark] .settings-page-section{background:radial-gradient(120% 90% at 100% -35%,rgba(45,212,191,.08),transparent 44%),#111b2f;border-color:#475569a6;box-shadow:0 12px 30px -20px #020617cc}:root[data-theme=dark] .settings-page-section-title{color:#e6edf8}:root[data-theme=dark] .settings-ide-lead,:root[data-theme=dark] .settings-page-section .muted.small{color:#9fb0c8}:root[data-theme=dark] .settings-media-block{background:#0f172a99;border-color:#475569a6}:root[data-theme=dark] .dashboard-root .settings-modal-panel{background:#0f1a2d;border-color:#475569b8}:root[data-theme=dark] .dashboard-root .settings-modal-toolbar,:root[data-theme=dark] .dashboard-root .settings-modal-actions{background:#0c1422f0;border-color:#475569ad}:root[data-theme=dark] .dashboard-root .settings-modal-title{color:#e6edf8}:root[data-theme=dark] .dashboard-root .settings-modal-close{color:#c7d2e5}:root[data-theme=dark] .dashboard-root .settings-page-section a{color:#7df2df}:root[data-theme=dark] .dashboard-root .settings-page-section label,:root[data-theme=dark] .dashboard-root .settings-field-label{color:#cbd7ea}:root[data-theme=dark] .dashboard-root .settings-page-section input,:root[data-theme=dark] .dashboard-root .settings-page-section select,:root[data-theme=dark] .dashboard-root .settings-page-section textarea{background:#0f172ac7;border-color:#64748b9e;color:#e6edf8}:root[data-theme=dark] .dashboard-root .settings-page-section input::placeholder,:root[data-theme=dark] .dashboard-root .settings-page-section textarea::placeholder{color:#8090aa}:root[data-theme=dark] .dashboard-root .settings-page-section input:focus,:root[data-theme=dark] .dashboard-root .settings-page-section select:focus,:root[data-theme=dark] .dashboard-root .settings-page-section textarea:focus{border-color:#2dd4bf9e;box-shadow:0 0 0 3px #2dd4bf24}:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-secondary,:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-ghost,:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-outline{background:#0f172ab8;border-color:#475569ad;color:#dce8fb}:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-secondary:hover:not(:disabled),:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-ghost:hover:not(:disabled),:root[data-theme=dark] .dashboard-root .settings-modal-panel .btn-outline:hover:not(:disabled){background:#0f172aeb;border-color:#2dd4bf66;color:#eafffa}:root[data-theme=dark] .dashboard-root .settings-modal-panel .avatar-pick-btn{background:#0f172ac7;border-color:#475569ad;color:#e6edf8}:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check input[type=checkbox],:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check-modal-field input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.15rem;height:1.15rem;border-radius:6px;border:2px solid #2dd4bf;background:#0f1a2d;display:grid;place-content:center;margin:.12rem 0 0}:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check input[type=checkbox]:checked,:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check-modal-field input[type=checkbox]:checked{background-color:#14b8a6;border-color:#14b8a6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%230f172a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.7rem}:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check input[type=checkbox]:focus-visible,:root[data-theme=dark] .dashboard-root .settings-page-section .settings-check-modal-field input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #2dd4bf33}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-modal-panel{background:#0f1a2d;border-color:#475569b8}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-modal-toolbar,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-modal-actions{background:#0c1422f0;border-color:#475569ad}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-modal-title{color:#e6edf8}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section label,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-field-label{color:#cbd7ea}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section input,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section select,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section textarea{background:#0f172ac7;border-color:#64748b9e;color:#e6edf8}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section input::placeholder,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section textarea::placeholder{color:#8090aa}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section input:focus,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section select:focus,:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section textarea:focus{border-color:#2dd4bf9e;box-shadow:0 0 0 3px #2dd4bf24}:root[data-theme=dark] .dashboard-root[data-role=student] .settings-page-section input[type=range]{accent-color:#2dd4bf;background:transparent}:root[data-theme=dark] .settings-media-preview{border-color:#475569a8;background:#0f172abd}:root[data-theme=dark] .settings-ide-fieldset{border-color:#4755699e;background:#0f172a73}:root[data-theme=dark] .settings-ide-fieldset legend{color:#dce8fb}:root[data-theme=dark] .settings-ide-fieldset label.settings-check--visible{border-color:#4755699e;background:linear-gradient(180deg,#0f172ab8,#0f172ae0);box-shadow:0 1px #94a3b814 inset,0 8px 20px #02061757}:root[data-theme=dark] .settings-ide-fieldset label.settings-check--visible:hover{border-color:#2dd4bf70;background:#0f172af0;box-shadow:0 1px #94a3b81a inset,0 10px 24px #0206176b;transform:translateY(-1px)}:root[data-theme=dark] .settings-ide-fieldset label.settings-check--visible input[type=checkbox]{border-color:#2dd4bf;background:#0f1a2d}:root[data-theme=dark] .settings-ide-fieldset label.settings-check--visible input[type=checkbox]:checked{box-shadow:0 0 0 2px #2dd4bf33}.chat-main-col{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;background:var(--chat-page-bg)}.chat-thread-card{padding:0;display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;background:var(--chat-page-bg);border:none;box-shadow:none;border-radius:0}:root[data-theme=dark] .chat-copy-msg{background:#0f172ad1;border-color:#4755699e;color:#b6c4dc}:root[data-theme=dark] .chat-copy-msg:hover{background:#0f172af5;color:#e6edf8}:root[data-theme=dark] .chat-bubble-text{color:#dce8fb}:root[data-theme=dark] .chat-lecture-para,:root[data-theme=dark] .chat-lecture-ul li,:root[data-theme=dark] .chat-lecture-ol li{color:#dce8fb}:root[data-theme=dark] .chat-lecture-h,:root[data-theme=dark] .chat-lecture-strong{color:#f2f7ff}:root[data-theme=dark] .chat-lecture-inline-code{color:#f8fbff;background:#0f172ad1;border-color:#94a3b866}:root[data-theme=dark] .chat-lecture-link{color:#67e8f9}:root[data-theme=dark] .chat-lecture-link:hover{color:#a5f3fc}:root[data-theme=dark] .chat-quiz{border-color:#475569a3;background:linear-gradient(165deg,#0f172adb,#111b2ff5);box-shadow:0 8px 24px #02061759}:root[data-theme=dark] .chat-quiz--error{border-color:#f871718c;background:#7f1d1d42}:root[data-theme=dark] .chat-quiz-title,:root[data-theme=dark] .chat-quiz-prompt{color:#e6edf8}:root[data-theme=dark] .chat-quiz-badge{background:#2dd4bf29;color:#99f6e4;border-color:#2dd4bf59}:root[data-theme=dark] .chat-quiz-opt{background:#0f172ab3;border-color:#4755699e;color:#dce8fb}:root[data-theme=dark] .chat-quiz-opt:hover{background:#0f172aeb;border-color:#2dd4bf66}:root[data-theme=dark] .chat-composer-shell{background:#0f172ae6;border-color:#4755699e;box-shadow:0 8px 28px #02061766}:root[data-theme=dark] .chat-composer-shell:focus-within{border-color:#2dd4bf73;box-shadow:0 8px 30px #02061773}:root[data-theme=dark] .chat-composer-topic input{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .chat-composer-topic input::placeholder{color:#94a3b8d1}:root[data-theme=dark] .chat-composer-message--question{border-color:#2dd4bf52;background:linear-gradient(180deg,#0d94881f,#0f172ab8 58%,#0f172ad6);box-shadow:inset 0 1px #ffffff0f}:root[data-theme=dark] .chat-composer-shell:focus-within .chat-composer-message--question{border-color:#2dd4bf73;background:linear-gradient(180deg,#0d948829,#0f172ac7)}:root[data-theme=dark] .chat-composer-message textarea.code,:root[data-theme=dark] .chat-composer-question-input{color:#e2e8f0}:root[data-theme=dark] .chat-composer-message textarea.code::placeholder,:root[data-theme=dark] .chat-composer-question-input::placeholder{color:#94a3b8d1}:root[data-theme=dark] .chat-composer-clear{background:#1e293bc7;color:#cbd5e1}:root[data-theme=dark] .chat-composer-clear:hover{background:#334155eb;color:#f1f5f9}.chat-thread-header{padding:.75rem 1rem;border-bottom:1px solid var(--chat-border-soft);display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:var(--chat-page-bg);flex-shrink:0;z-index:2}.chat-thread-title{font-weight:600;letter-spacing:-.01em;font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread{padding:0;padding-bottom:.35rem;overflow-x:hidden;overflow-y:auto;flex:1 1 0;min-height:0;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.chat-thread-end{width:100%;height:1px;flex-shrink:0;pointer-events:none}.chat-thread-empty{padding:.85rem 1rem;max-width:var(--chat-prose-width);margin:0 auto;text-align:center}.chat-turn{width:100%;border-bottom:1px solid var(--chat-border-soft)}.chat-turn:last-child{border-bottom:none}.chat-turn-inner{max-width:var(--chat-prose-width);margin:0 auto;padding:1.15rem 1.25rem;display:flex;gap:.85rem;align-items:flex-start}.chat-turn-assistant{background:var(--chat-assistant-band)}.chat-avatar{flex-shrink:0;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;letter-spacing:.02em;background:#1f1f1f;color:#fff}.chat-avatar svg{flex-shrink:0}.chat-avatar-user{background:#8e8e8e}.chat-turn-body{min-width:0;flex:1}.chat-bubble{border-radius:0;border:none;padding:0;max-width:none;box-shadow:none;background:transparent}.chat-bubble-user .chat-turn-inner{justify-content:flex-end}.chat-bubble-user .chat-avatar{order:2;overflow:hidden}.chat-user-avatar-emoji{font-size:.95rem;line-height:1}.chat-user-avatar-img{width:1.65rem;height:1.65rem;border-radius:999px;object-fit:cover;display:block}.chat-bubble-user .chat-turn-body{max-width:min(85%,36rem)}.chat-user-pill{background:linear-gradient(180deg,color-mix(in srgb,#0d9488 9%,var(--chat-user-bubble)) 0%,var(--chat-user-bubble) 100%);border-radius:1.15rem;padding:.65rem .95rem;border:1px solid color-mix(in srgb,#0d9488 22%,var(--chat-border-soft));box-shadow:0 1px #0d94881f,0 4px 14px #0d948814}.chat-bubble-meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center;font-size:.68rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.45rem;line-height:1.2}.chat-bubble-time{font-variant-numeric:tabular-nums;white-space:nowrap}.chat-copy-msg{border:1px solid var(--chat-border-soft);background:#ffffffb8;color:var(--color-text-muted);border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:600;cursor:pointer}.chat-copy-msg:hover{color:var(--color-text);background:#fff}.chat-bubble-text{white-space:normal;word-break:break-word;line-height:1.65;font-size:.9375rem;color:#1f1f1f}.chat-bubble-text .chat-quiz{margin:.65rem 0 .25rem}.chat-quiz{border-radius:14px;border:1px solid color-mix(in srgb,var(--color-accent, #0d9488) 35%,var(--color-border) 40%);background:linear-gradient(165deg,#f0fdfae6,#fffffff2 48%,#f8fafc);padding:.75rem .85rem .85rem;box-shadow:0 4px 18px #0d948814}.chat-quiz--error{border-color:color-mix(in srgb,#f87171 45%,var(--color-border) 35%);background:#fff7f7;padding:.55rem .65rem}.chat-quiz-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin-bottom:.55rem}.chat-quiz-badge{font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent, #0d9488) 18%,transparent);color:color-mix(in srgb,var(--color-accent, #0f766e) 90%,var(--color-text) 10%);border:1px solid color-mix(in srgb,var(--color-accent, #0d9488) 28%,transparent)}.chat-quiz-title{font-weight:700;font-size:.88rem;color:#0f172a;flex:1 1 140px;min-width:0}.chat-quiz-progress{font-size:.72rem;margin-left:auto}.chat-quiz-prompt{margin:0 0 .5rem;font-weight:600;font-size:.9rem;line-height:1.45;color:#0f172a}.chat-quiz-hint{margin:0 0 .45rem}.chat-quiz-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.chat-quiz-opt{width:100%;display:flex;align-items:flex-start;gap:.45rem;text-align:left;margin:0;padding:.45rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);background:#fff;color:#1e293b;font-size:.84rem;line-height:1.4;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.chat-quiz-opt:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent, #0d9488) 45%,var(--color-border) 40%);box-shadow:0 1px #0d94881f}.chat-quiz-opt.is-correct{border-color:#16a34a8c;background:#f0fdf4f2}.chat-quiz-opt.is-wrong{border-color:#dc262673;background:#fef2f2eb}.chat-quiz-opt-idx{flex-shrink:0;font-weight:700;font-size:.72rem;opacity:.65;min-width:1.6rem}.chat-quiz-opt-label{flex:1;min-width:0}.chat-quiz-opt-icon{flex-shrink:0;color:#16a34a}.chat-quiz-opt-icon.is-bad{color:#dc2626}.chat-quiz-explain{margin:.5rem 0 0;line-height:1.45}.chat-quiz-footer{margin-top:.65rem;display:flex;justify-content:flex-end}.chat-quiz-footer .btn{display:inline-flex;align-items:center;gap:.25rem}.chat-quiz-done{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;justify-content:space-between}.chat-quiz-score{margin:0;display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9rem;color:#0f766e}.chat-quiz-restart{display:inline-flex;align-items:center;gap:.3rem}.chat-lecture-para{margin:.15rem 0 .5rem;white-space:pre-wrap}.chat-lecture-strong{font-weight:600;color:#141414}.chat-lecture-inline-code{font-family:var(--font-mono);font-size:.88em;background:#0000000d;border:1px solid rgba(0,0,0,.08);padding:.1rem .35rem;border-radius:8px;color:#111}.chat-lecture-h{margin:.75rem 0 .5rem;font-weight:600;letter-spacing:-.02em;color:#111}.chat-lecture-ul,.chat-lecture-ol{margin:.35rem 0 .6rem 1.25rem;padding:0}.chat-lecture-ul li,.chat-lecture-ol li{margin:.15rem 0}.chat-code-block{margin:.65rem 0;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#23241f;color:#e8e8e3;overflow:auto;box-shadow:0 2px 14px #0003}.chat-code-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.45rem .65rem;background:#00000047;border-bottom:1px solid rgba(255,255,255,.06)}.chat-code-lang{font-size:.68rem;font-weight:600;letter-spacing:.03em;color:#99f6e4;background:#0d948838;border:1px solid rgba(45,212,191,.25);padding:.2rem .55rem;border-radius:999px}.chat-code-block code{display:block;font-family:var(--font-mono);font-size:.82rem;white-space:pre;color:#f8f8f2;padding:.75rem .9rem .95rem;background:transparent}.chat-code-copy{border:1px solid rgba(255,255,255,.14);background:#ffffff12;color:#e2e8f0;font-weight:600;font-size:.68rem;padding:.22rem .65rem;border-radius:999px;cursor:pointer}.chat-code-copy:hover{border-color:#ffffff3d;background:#ffffff1f;color:#fff}.chat-composer{flex-shrink:0;padding:.65rem 1rem .85rem;margin-top:auto;background:var(--chat-page-bg);border-top:1px solid var(--chat-border-soft);display:flex;flex-direction:column;align-items:center;gap:.65rem}.chat-composer-shell{width:100%;max-width:var(--chat-prose-width);background:var(--chat-surface);border:1px solid var(--chat-composer-ring);border-radius:1.35rem;box-shadow:0 4px 24px #0000000f;padding:.65rem .85rem .55rem;display:flex;flex-direction:column;gap:.5rem}.chat-composer-shell:focus-within{border-color:#0000002e;box-shadow:0 4px 28px #00000014}.chat-composer-topic{width:100%}.chat-composer-topic input{width:100%;border-radius:10px;border:1px solid var(--chat-border-soft);background:#fafafa;font-size:.88rem}.chat-composer-message{width:100%;margin:0}.chat-composer-message--question{border-radius:.95rem;border:1px solid color-mix(in srgb,#0d9488 20%,var(--chat-border-soft));background:linear-gradient(180deg,color-mix(in srgb,#0d9488 6%,#fff),#fafcfb 55%,#f7faf9);padding:.45rem .65rem .5rem;box-shadow:inset 0 1px #ffffffbf}.chat-composer-input-wrap{position:relative;width:100%}.chat-composer-input-wrap--with-clear .chat-composer-question-input{padding-right:2.15rem}.chat-composer-clear{position:absolute;top:.12rem;right:0;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:8px;background:#0f172a12;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.chat-composer-clear:hover{background:#0f172a1f;color:var(--color-text)}.chat-composer-message textarea.code,.chat-composer-question-input{min-height:52px;max-height:min(42vh,360px);width:100%;resize:none;border:none;background:transparent;padding:.25rem .1rem;font-size:.95rem;line-height:1.5;box-shadow:none;color:#141414}.chat-composer-message textarea.code:focus,.chat-composer-question-input:focus{outline:none;box-shadow:none}.chat-composer-shell:focus-within .chat-composer-message--question{border-color:color-mix(in srgb,#0d9488 35%,var(--chat-border-soft));background:linear-gradient(180deg,color-mix(in srgb,#0d9488 8%,#fff),#f8fcfb)}.chat-composer-footer{display:flex;align-items:center;gap:.5rem;padding-top:.15rem;flex-wrap:wrap}.chat-composer-footer-start{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.chat-composer-footer-start:empty{display:none}.chat-composer-hint{flex:1;min-width:6rem;text-align:center;font-size:.72rem;color:var(--color-text-muted)}.chat-composer-back-context{font-size:.78rem;font-weight:600}.chat-unified-hint{padding:.35rem .75rem .5rem;margin:-.15rem 0 .35rem;line-height:1.35;border-bottom:1px solid color-mix(in srgb,var(--chat-border-soft) 80%,transparent)}.chat-context-focus{display:inline-flex;gap:.25rem;padding:.15rem;border-radius:10px;background:color-mix(in srgb,var(--color-surface-elevated) 92%,transparent);border:1px solid color-mix(in srgb,var(--chat-border-soft) 70%,transparent)}.chat-context-focus-btn{font-size:.72rem;font-weight:600;padding:.25rem .5rem;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-text-muted)}.chat-context-focus-btn.is-active{color:var(--color-text);background:color-mix(in srgb,#0d9488 14%,transparent);border-color:color-mix(in srgb,#0d9488 35%,transparent)}.chat-send-btn{width:36px;height:36px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-text);color:#fff;border:none;cursor:pointer;flex-shrink:0;transition:opacity .15s ease,transform .12s ease}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.chat-send-btn:not(:disabled):hover{opacity:.92}.chat-send-btn:not(:disabled):active{transform:scale(.96)}.hints-toolbar{margin:1rem 0;padding:.85rem;background:#0f172a08;border-radius:var(--radius);border:1px solid var(--color-border)}.task-hints-info-banner{margin:0 0 .75rem;padding:.65rem .8rem;border-radius:10px;border:1px solid rgba(245,158,11,.3);background:linear-gradient(135deg,#fffbebf2,#fef3c733)}.task-hints-info-lead{margin:0 0 .35rem;font-size:.88rem;line-height:1.45;font-weight:650;color:var(--color-text)}.task-hints-info-sub{margin:0;line-height:1.4}.task-hints-xp-spent{margin:.6rem 0 0}.teacher-hints-xp-note{margin:.4rem 0 0;line-height:1.4;max-width:22rem}.hints-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.hint-box{margin-top:.75rem;border-left:3px solid var(--color-teal)}.submit-reward{padding:.65rem .85rem;background:#0d948817;border-radius:10px;margin-bottom:.75rem;font-size:.92rem}.submit-reward code{margin-right:.35rem}.tasks-topic-picker-card{padding:.85rem 1rem}.tasks-progress-card{padding:1rem 1.1rem 1.1rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-border) 38%,transparent);background:linear-gradient(180deg,#fffffffc,#f8fafcf7);box-shadow:0 8px 30px #0f172a0d}.tasks-step-card{padding:.85rem 1rem}.tasks-class-quicklinks{list-style:none;margin:.65rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.65rem .85rem}.tasks-class-quicklinks li{margin:0}.tasks-class-quicklink{display:flex;flex-direction:column;align-items:flex-start;gap:.42rem;width:100%;min-height:5.4rem;padding:.68rem .82rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);background:#fff;font:inherit;font-size:.88rem;text-decoration:none;text-align:left;color:var(--color-text);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .12s ease;box-shadow:0 2px 12px #0f172a0a}.tasks-class-quicklink:hover{border-color:#0d94886b;background:#f0fdfa8c;box-shadow:0 6px 22px #0d94881a;transform:translateY(-1px)}.tasks-class-quicklink.is-active{border-color:#0d94888c;background:linear-gradient(145deg,#ccfbf1bf,#fffffffa 70%);box-shadow:0 8px 28px #0d948824}.tasks-class-quicklink-name{font-weight:750;font-size:.88rem;letter-spacing:-.02em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tasks-class-quicklink-code{font-size:.72rem;color:var(--color-text-muted)}.tasks-class-quicklink-code code{font-size:.68rem}.tasks-class-quicklink-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.55rem}.tasks-class-quicklink-progress{--pct: 0;flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:#0f766e;background:radial-gradient(closest-side,#fff 74%,transparent 75% 100%),conic-gradient(#14b8a6 calc(var(--pct) * 1%),#94a3b842 0);border:none;box-shadow:none}.student-dash-class-link{color:var(--color-teal-dark);text-decoration:none;font-weight:inherit}.student-dash-class-link:hover{text-decoration:underline}.tasks-flow-nav{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.5rem}.tasks-flow-pill{display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:999px;border:1px solid var(--color-border);font-size:.76rem;font-weight:700;color:var(--color-text-muted);background:#0f172a05}.tasks-flow-pill.is-active{color:#0f766e;border-color:#0d948859;background:#0d948817}.tasks-topic-picker-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:.5rem}.tasks-progress-head-right{display:inline-flex;align-items:center;gap:.55rem}.tasks-progress-ring{--pct: 0;width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(#0d9488 calc(var(--pct) * 1%),#0f172a1a 0);position:relative;flex-shrink:0}.tasks-progress-ring:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--color-surface)}.tasks-progress-ring>span{position:relative;z-index:1;font-size:.64rem;font-weight:700;color:var(--color-text-muted)}.tasks-topic-picker-label{font-weight:700;font-size:.9rem}.topic-materials-card{padding:.85rem 1rem}.tasks-learning-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.topic-path-card{position:relative;padding:1.15rem 1.15rem 1.25rem;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--color-accent, #0d9488) 18%,var(--color-border) 40%);background:linear-gradient(165deg,#f0fdfa73,#fffffff7 42%,#f8fafcfa);box-shadow:0 12px 40px #0d948814}.topic-path-card--empty{padding:1rem 1.1rem}.topic-path-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.05rem}.topic-path-title{margin:0 0 .25rem;font-size:clamp(1.08rem,2.2vw,1.22rem);font-weight:800;letter-spacing:-.025em;color:var(--color-text)}.topic-path-sub{margin:0;max-width:44rem;line-height:1.4}.topic-trail-list{list-style:none;margin:.75rem 0 0;padding:0}.topic-trail-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.85rem;position:relative;padding-bottom:1.15rem;align-items:start}.topic-trail-item:last-child{padding-bottom:0}.topic-trail-item:not(:last-child):after{content:"";position:absolute;left:27px;top:50px;bottom:2px;width:3px;margin-left:-1.5px;border-radius:999px;background:linear-gradient(180deg,#6366f16b,#0d948861);pointer-events:none}.topic-trail-track{display:flex;justify-content:center;padding-top:2px}.topic-trail-marker{flex-shrink:0;position:relative;z-index:1}.topic-trail-marker--lecture{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(155deg,#6366f1,#4338ca);color:#fff;box-shadow:0 6px 18px #4338ca54}.topic-trail-marker--task{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50% 50% 50% 14%/44% 46% 54% 56%;transform:rotate(-11deg);background:linear-gradient(145deg,#0d9488,#0f766e);color:#fff;box-shadow:0 6px 18px #0d948852}.topic-trail-marker--task svg{transform:rotate(11deg)}.topic-trail-item.is-done .topic-trail-marker--task{border-radius:50%;transform:none;background:linear-gradient(145deg,#059669,#047857);box-shadow:0 6px 18px #05966947}.topic-trail-item.is-done .topic-trail-marker--task svg{transform:none}.topic-trail-body{min-width:0;padding-top:.15rem}.topic-trail-kind{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.22rem}.topic-trail-link{display:inline-flex;font-weight:720;font-size:.95rem;color:#4338ca;text-decoration:none;border-radius:12px;padding:.35rem .55rem;margin:-.35rem -.55rem;transition:background .15s ease,color .15s ease}.topic-trail-link:hover{background:#6366f11f;color:#3730a3}.topic-trail-task-btn{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--color-border) 48%,transparent);border-radius:14px;padding:.65rem .85rem;background:#fff;cursor:pointer;font:inherit;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-shadow:0 2px 12px #0f172a0a}.topic-trail-task-btn:hover{background:#f0fdfaa6;border-color:#0d948861;box-shadow:0 4px 18px #0d94881a}.topic-trail-item.is-current .topic-trail-task-btn{border-color:#0d94887a;box-shadow:0 0 0 2px #0d94881f;background:#0d948812}.topic-trail-item.is-done:not(.is-current) .topic-trail-task-btn{border-color:#10b98152;background:#10b9810f}.topic-trail-task-title{font-weight:700;font-size:.95rem;flex:1;min-width:120px;line-height:1.25}.topic-trail-solved-tag{font-size:.7rem;font-weight:800;color:#047857;letter-spacing:.03em}.topic-trail-task-work{grid-column:1 / -1;margin-top:.35rem;padding-top:.75rem;display:flex;flex-direction:column;gap:.75rem;position:relative;z-index:1}.task-work-card--trail{margin:0;width:100%}.topic-trail-item:has(.topic-trail-task-work){padding-bottom:.35rem}.topic-trail-item:has(.topic-trail-task-work):not(:last-child):after{bottom:-.5rem}.topic-trail-task-result{margin:0}.task-quiz-body{display:flex;flex-direction:column;gap:1.25rem}.task-quiz-block{border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);border-radius:14px;padding:1rem 1.1rem;background:#f8fafceb}.task-quiz-prompt{margin:0 0 .75rem;font-weight:650;line-height:1.45}.task-quiz-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.task-quiz-radio-label,.task-quiz-check-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.92rem}.task-quiz-input{width:100%;padding:.55rem .65rem;border-radius:10px}.task-quiz-result-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.task-quiz-result-li{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .65rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-border) 50%,transparent)}.task-quiz-result-li.is-pass{border-color:#10b98159;background:#10b9810f}.task-quiz-result-li.is-fail{border-color:#ef444447;background:#fef2f2a6}.topic-material-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.topic-material-item{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.4rem .1rem;border-bottom:1px dashed var(--color-border)}.topic-material-item:last-child{border-bottom:none;padding-bottom:.1rem}.topic-progress-grid{margin-top:.65rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem .65rem}.topic-progress-chip{border:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);background:#fff;border-radius:14px;padding:.65rem .75rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.45rem;font:inherit;color:var(--color-text);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 2px 10px #0f172a0a}.topic-progress-chip:hover{border-color:#0d948859;box-shadow:0 4px 18px #0d948814}.topic-progress-chip.is-active{border-color:#0d94888c;background:linear-gradient(135deg,#f0fdfae6,#fff 75%);box-shadow:0 6px 24px #0d94881f}.topic-progress-chip.is-done{background:linear-gradient(135deg,#f0fdf4d9,#fff 80%);border-color:#22c55e66}.topic-progress-name{font-size:.87rem;font-weight:650}.topic-progress-meta{font-size:.78rem;color:var(--color-text-muted)}.task-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.tasks-next-cta-row{margin:.15rem 0 .7rem}.task-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border) 48%,transparent);background:#fff;cursor:pointer;font:inherit;font-size:.85rem;font-weight:650;color:var(--color-text);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 2px 10px #0f172a0a}.task-chip:hover{background:#f0fdfabf;border-color:#0d948859;box-shadow:0 4px 16px #0d94881a}.task-chip.is-active{border-color:#0d948873;box-shadow:0 0 0 2px #0d94881f;background:#0d94880f}.task-chip.is-solved:not(.is-active){border-color:#10b98159;background:#10b98112}.task-chip.is-solved.is-active{border-color:#10b9818c;background:#10b9811c}.task-chip-icon{color:#059669;flex-shrink:0}.task-chip--kind:not(.is-solved) .task-chip-icon{color:var(--color-text-muted);opacity:.88}.task-chip--kind.is-solved .task-chip-icon{color:#059669;opacity:1}.task-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);opacity:.45;flex-shrink:0}.task-chip-title{text-align:left;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-work-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.35rem}.tasks-feedback-top{margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px dashed var(--color-border)}.tasks-feedback-inline{margin:.25rem 0 .8rem;padding:.65rem .75rem;border:1px solid rgba(13,148,136,.35);border-radius:12px;background:linear-gradient(135deg,#0d948814,#10b9810f);box-shadow:0 2px 10px #0d94881f}.tasks-feedback-inline .tasks-feedback-h3{margin:0}.tasks-feedback-inline .tasks-feedback-box{margin-top:.5rem;border-left:3px solid rgba(13,148,136,.55);padding-left:.6rem}.task-work-title{margin:0;font-size:1.15rem}.task-solved-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#047857;background:#10b9811f;border:1px solid rgba(16,185,129,.35);padding:.25rem .5rem;border-radius:999px}.task-desc{margin-top:.35rem}.task-submit-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.tasks-reset-note{margin:.5rem 0 0}.tasks-result-card{overflow:hidden}.tasks-result-h2{margin-top:0}.tasks-result-hero{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--radius-lg);margin-bottom:1rem;border:1px solid var(--color-border)}.tasks-result-hero.is-success{background:linear-gradient(135deg,#10b9811f,#d1fae559);border-color:#10b98159}.tasks-result-hero.is-partial{background:linear-gradient(135deg,#f59e0b1a,#fef3c759);border-color:#f59e0b59}.tasks-result-hero.is-fail{background:linear-gradient(135deg,#ef444414,#fee2e259);border-color:#ef444438}.tasks-result-hero-icon{flex-shrink:0;color:var(--color-text-muted)}.is-success .tasks-result-hero-icon{color:#047857}.is-partial .tasks-result-hero-icon{color:#b45309}.is-fail .tasks-result-hero-icon{color:#b91c1c}.tasks-result-hero-text{min-width:0;flex:1}.tasks-result-hero-title{font-weight:800;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:.35rem}.tasks-result-hero-meta{font-size:.88rem;color:var(--color-text-muted);margin-bottom:.55rem}.tasks-hero-sep{margin:0 .35rem;opacity:.5}.tasks-status-badge{color:var(--color-text)}.tasks-progress-track{height:8px;border-radius:999px;background:#0f172a14;overflow:hidden}.tasks-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#10b981,#34d399);transition:width .35s ease}.is-partial .tasks-progress-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.is-fail .tasks-progress-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.tasks-reward-banner{margin-top:0}.tasks-tests-title{font-size:1rem;margin:0 0 .65rem}.tasks-test-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.tasks-test-item{border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface)}.tasks-test-item.is-pass{border-color:#10b98159;background:#10b9810a}.tasks-test-item.is-fail{border-color:#ef444447;background:#ef44440a}.tasks-test-item-top{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem}.tasks-test-ok{color:#059669}.tasks-test-bad{color:#dc2626}.tasks-test-item-label{font-weight:700;font-size:.9rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem}.tasks-test-item-status{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.tasks-test-details summary{cursor:pointer;padding:.45rem .85rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:#0f172a0a;border-top:1px solid var(--color-border);list-style:none}.tasks-test-details summary::-webkit-details-marker{display:none}.tasks-test-body{padding:.65rem .85rem;font-size:.82rem}.tasks-io-line{display:grid;grid-template-columns:88px 1fr;gap:.5rem;margin-bottom:.45rem;align-items:start}.tasks-io-line:last-child{margin-bottom:0}.tasks-io-k{font-weight:700;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.tasks-io-line code{font-family:var(--font-mono);font-size:.78rem;word-break:break-word;white-space:pre-wrap}.tasks-io-err .tasks-io-k{color:#b91c1c}.tasks-feedback-box{margin-top:.5rem}.tasks-feedback-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.tasks-feedback-h3{margin:0;font-size:1rem}.tasks-ai-chat-row{margin-top:.75rem}.tasks-ai-chat-btn{display:inline-flex;align-items:center;gap:.4rem}.tasks-feedback-box .chat-lecture-para:first-child{margin-top:0}.tasks-feedback-box .chat-code-block{margin:.65rem 0}@media (prefers-reduced-motion: reduce){.tasks-progress-fill{transition:none}}.lang-switch{display:inline-flex;border-radius:999px;border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface);min-height:2.1rem;align-items:stretch}.lang-switch-btn{border:none;background:transparent;padding:.35rem .65rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease;min-height:2.1rem;display:inline-flex;align-items:center;justify-content:center}.lang-switch-btn:hover{color:var(--color-text);background:#0d948814}.lang-switch-btn.is-active{background:var(--color-teal);color:#fff}.dash-header-inner .lang-switch{flex-shrink:0;align-self:center}.public-auth-header .lang-switch{margin-left:auto;margin-right:.75rem}.new-badge-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem}.new-badge-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#7c3aed1f;border:1px solid rgba(124,58,237,.25);font-size:.85rem}.landing-nav-inner .lang-switch{margin:0}.teacher-studio-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.teacher-studio-banner{display:flex;align-items:flex-start;gap:.65rem;margin:.5rem 0 0;max-width:min(44rem,100%);padding:.5rem .85rem .55rem .65rem;border-radius:14px;border:1px solid rgba(148,163,184,.38);background:linear-gradient(135deg,#ffffffb8,#f8fafceb 45%,#f1f5f9e0);box-shadow:0 1px #ffffffd9 inset,0 10px 28px -14px #0f172a2e;position:relative;overflow:hidden}.teacher-studio-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#14b8a6,#7c3aed);opacity:.95}.teacher-studio-banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-top:.06rem;border-radius:10px;color:#0f766e;background:linear-gradient(145deg,#0d948824,#7c3aed1a);border:1px solid rgba(13,148,136,.2)}.teacher-studio-banner-text{margin:0;padding:.08rem 0 0;font-size:.875rem;line-height:1.5;letter-spacing:-.01em;color:var(--color-text-muted)}.teacher-studio-insights{flex-shrink:0;align-self:center}.teacher-studio-tip-block-create,.teacher-studio-tip-block-courses{display:flex;flex-direction:column;gap:.45rem}.teacher-studio-tip-block-create .teacher-studio-h2,.teacher-studio-tip-block-courses .teacher-studio-h2{margin-bottom:0}.teacher-studio-section-courses{padding:1rem 1.15rem 1.1rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.38);background:linear-gradient(165deg,#fffffffa,#f8fafcf5 55%,#f0fdfa59);box-shadow:0 1px #fffc inset,0 8px 28px #0f172a12}.teacher-studio-section-new-course{margin-top:.75rem}.card.teacher-studio-section-new-course{padding-top:1.1rem}.teacher-topic-bar-tip-scope{margin:0}.teacher-panel-tip-heading{margin:0 0 .25rem}.teacher-panel-tip-heading .teacher-panel-title{margin-bottom:.15rem}.teacher-panel-tip-heading .muted.small{font-size:.8rem;line-height:1.35}@media (prefers-reduced-motion: reduce){.teacher-workspace.is-focus-flash,.teacher-panels.is-focus-flash{animation:none!important}}.teacher-course-card,.teacher-topic-pill{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.teacher-course-card.is-active,.teacher-topic-pill.is-active{box-shadow:0 0 0 2px #0d948859}.teacher-workspace.is-focus-flash,.teacher-panels.is-focus-flash{animation:teacher-studio-focus-ring 1.05s ease-out 1}@keyframes teacher-studio-focus-ring{0%{box-shadow:0 0 #0d948873}40%{box-shadow:0 0 0 4px #0d948833}to{box-shadow:0 0 #0d948800}}.teacher-studio-section{margin-bottom:.85rem}.teacher-studio-h2{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:1.05rem}.teacher-inline-form{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end}.teacher-input-grow{flex:1;min-width:200px}.teacher-toast-ok{padding:.45rem .65rem;border-radius:8px;background:#10b9811f;color:#047857;font-weight:600;font-size:.88rem}.teacher-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.teacher-course-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:5.5rem;justify-content:center;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.4);background:linear-gradient(145deg,#fffffff2,#f8fafceb);cursor:pointer;text-align:left;font:inherit;position:relative;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.teacher-course-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#0d9488,#6366f1);opacity:0;transition:opacity .2s ease}:root[data-theme=dark] .auth-wrap .card,:root[data-theme=dark] .auth-card.card{background:radial-gradient(120% 90% at 100% -25%,rgba(45,212,191,.08),transparent 45%),radial-gradient(90% 70% at 0% 110%,rgba(129,140,248,.07),transparent 52%),#0f1a2d;border-color:#475569b8;box-shadow:0 1px #94a3b814 inset,0 16px 36px -22px #020617d9}:root[data-theme=dark] .auth-card h1{color:#e6edf8}:root[data-theme=dark] .auth-card .subtitle,:root[data-theme=dark] .auth-footer{color:#9fb0c8}:root[data-theme=dark] .auth-footer{border-top-color:#475569ad}:root[data-theme=dark] .public-auth-header{background:transparent}:root[data-theme=dark] .auth-modal-panel{background:radial-gradient(130% 95% at 100% -25%,rgba(45,212,191,.1),transparent 46%),radial-gradient(100% 70% at 0% 105%,rgba(129,140,248,.08),transparent 52%),#0f1a2d;border-color:#475569cc;box-shadow:0 1px #94a3b81a inset,0 28px 64px -24px #020617e6,0 12px 32px -14px #14b8a62e}:root[data-theme=dark] .auth-modal-title{color:#e6edf8}:root[data-theme=dark] .auth-modal-kicker,:root[data-theme=dark] .auth-modal-switch a{color:#2dd4bf}:root[data-theme=dark] .auth-section-label,:root[data-theme=dark] .auth-role-field-label,:root[data-theme=dark] .auth-modal-divider,:root[data-theme=dark] .auth-modal-switch{color:#9fb0c8}:root[data-theme=dark] .auth-modal-switch{border-top-color:#475569b8}:root[data-theme=dark] .auth-modal-close{background:#0f172ab8;border-color:#64748ba6;color:#c7d2e5}:root[data-theme=dark] .auth-modal-close:hover{background:#0f172af0;border-color:#2dd4bf8c;color:#dffcf8}:root[data-theme=dark] .auth-role-toggle{background:#0f172ab8;border-color:#475569b8;box-shadow:inset 0 1px 2px #0206178c}:root[data-theme=dark] .auth-role-toggle-btn{color:#9fb0c8}:root[data-theme=dark] .auth-role-toggle-btn:hover:not(:disabled){color:#e2e8f6}:root[data-theme=dark] .auth-field-label,:root[data-theme=dark] .auth-role-label{color:#c7d2e5}:root[data-theme=dark] .auth-field-input{color:#e6edf8;background:#0f172abf;border-color:#64748b9e}:root[data-theme=dark] .auth-field-input::placeholder{color:#7f8ea8}:root[data-theme=dark] .auth-field-input:hover:not(:disabled),:root[data-theme=dark] .auth-field-input:focus{background:#0f172aeb;border-color:#2dd4bf9e}:root[data-theme=dark] .auth-field-input:focus{box-shadow:0 0 0 4px #2dd4bf29}:root[data-theme=dark] .auth-google-fake-bar{background:linear-gradient(180deg,#111d31,#0f1a2d);border-color:#64748b9e;color:#e6edf8;box-shadow:0 2px 8px #02061773}:root[data-theme=dark] .auth-google-blocker{background:#0f172a9e}:root[data-theme=dark] .auth-modal-error{color:#fecaca;background:#7f1d1d47;border-color:#f871718c}.teacher-course-card:hover{border-color:#0d94886b;background:#fffffffa;box-shadow:0 10px 28px #0d94881f;transform:translateY(-2px)}.teacher-course-card:hover:before{opacity:.85}.teacher-course-card.is-active{border-color:#0d94888c;box-shadow:0 0 0 2px #0d948826,0 12px 32px #0d94881f;background:linear-gradient(145deg,#f0fdfaf2,#fffffffa)}.teacher-course-card.is-active:before{opacity:1}.teacher-course-card-name{font-weight:800;font-size:.95rem}.teacher-course-card-desc{font-size:.8rem;color:var(--color-text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-course-cover{width:100%;height:72px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#f1f5f9e6;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted)}.teacher-course-cover img{width:100%;height:100%;object-fit:cover;display:block}.teacher-course-card-code{font-size:.78rem;color:var(--color-text-muted)}.teacher-course-card-code code{font-size:.85em;background:#0f172a0f;padding:.12rem .35rem;border-radius:6px}.teacher-workspace{margin-top:.65rem;border-radius:var(--radius-lg)!important;border:1px solid rgba(148,163,184,.32)!important;background:linear-gradient(180deg,#fff,#f8fafc 52%,#f8fafcfa)!important;box-shadow:0 1px #ffffffd9 inset,0 12px 40px #0f172a14!important;padding:1.15rem 1.2rem 1.35rem!important}.teacher-workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.teacher-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-weight:700;font-size:.98rem}.teacher-bc-sep{color:var(--color-text-muted);flex-shrink:0}.teacher-workspace-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.teacher-rename-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-top:.5rem}.teacher-rename-label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;flex:1;min-width:180px}.teacher-workspace-hint{margin:.6rem 0 .5rem}.teacher-topic-bar{margin-top:.85rem;padding-top:.65rem;border-top:1px dashed var(--color-border)}.teacher-topic-bar-label{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.4rem}.teacher-topic-pills{display:flex;flex-wrap:wrap;gap:.45rem}.teacher-topic-pill{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:.35rem .85rem;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--color-text);transition:border-color .15s,background .15s}.teacher-topic-pill:hover{background:#0f172a0a;border-color:#0d94884d}.teacher-topic-pill.is-active{border-color:#0d948880;background:#0d94881a;color:var(--color-teal-dark)}.teacher-new-module{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-end;margin-top:.65rem;padding:.65rem;border-radius:10px;background:#0f172a08}.teacher-new-module input{flex:1;min-width:min(100%,200px);font-size:.98rem}.page.teacher-studio .teacher-new-module{gap:.65rem;flex-wrap:wrap}.teacher-topic-toolbar{margin-top:.45rem;padding-top:.35rem;border-top:1px solid var(--color-border)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-panels{display:grid;grid-template-columns:1fr;gap:1.35rem;margin-top:1.1rem}@media (min-width: 960px){.teacher-panels{grid-template-columns:1fr;align-items:start}}.teacher-panel{border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:1.15rem 1.25rem 1.35rem;background:linear-gradient(180deg,#ffffffeb,#f8fafce0);box-shadow:0 4px 20px #0f172a0d;overflow:visible;font-size:.99rem}.page.teacher-studio .teacher-workspace .teacher-panel{max-width:none}.teacher-panel-title{margin:0 0 .35rem;display:inline-flex;align-items:center;gap:.4rem;font-size:1.06rem;font-weight:700}.teacher-material-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.teacher-material-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem .45rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:#ffffffb8}.teacher-material-row:last-child{margin-bottom:0}.teacher-material-actions{display:flex;flex-wrap:wrap;gap:.25rem;flex-shrink:0}.teacher-details-add{margin-top:.35rem;border:1px dashed rgba(13,148,136,.35);border-radius:10px;padding:.45rem .65rem;background:#0d94880a}.teacher-details-add summary{cursor:pointer;font-weight:700;color:var(--color-teal-dark)}.teacher-material-entry{margin-top:.45rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.teacher-material-entry-hint{margin:0;font-size:.8rem;line-height:1.45;max-width:36rem}.teacher-material-entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.teacher-material-new-separate{font-size:.82rem;color:var(--color-text-muted)}.teacher-material-add-trigger{margin-top:0;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;max-width:100%;padding:.5rem .95rem;border-radius:10px;border:1px dashed rgba(13,148,136,.45);background:linear-gradient(180deg,#0d948812,#ffffff80);font:inherit;font-weight:600;font-size:.9rem;color:var(--color-teal-dark);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.teacher-material-add-trigger:hover{border-color:#0d9488a6;box-shadow:0 6px 20px -8px #0d948859}.teacher-material-composer{margin-top:.5rem;width:100%;max-width:none;padding:.4rem .45rem .55rem;border-radius:12px;border:1px solid rgba(13,148,136,.28);background:linear-gradient(165deg,#fffffff7,#f0fdfa66);box-shadow:0 6px 20px -12px #0f172a1a;overflow:visible}.teacher-material-composer .teacher-mat-sec{padding:.45rem .5rem .55rem;border-radius:9px}.teacher-material-composer .teacher-mat-sec+.teacher-mat-sec{margin-top:.45rem}.teacher-material-composer .teacher-mat-sec-title{font-size:.8rem;margin-bottom:.28rem;letter-spacing:-.01em}.teacher-material-composer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;min-width:0}.teacher-material-content-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.4rem}.teacher-material-content-head .teacher-material-editor-hint{margin:0;flex:1;min-width:8rem;text-align:right;font-size:.76rem;line-height:1.35;max-width:22rem}.teacher-material-editor-canvas{flex:1;min-height:0;display:flex;flex-direction:column}.teacher-material-form-layout{display:flex;flex-direction:column;gap:.55rem;align-items:stretch}.teacher-material-form-meta{width:100%;max-width:none;min-width:0}.teacher-material-form-main{flex:1;min-width:0;width:100%;min-height:min(78vh,52rem);display:flex;flex-direction:column;gap:.45rem}.teacher-material-form-main .teacher-mat-sec--content{flex:1;display:flex;flex-direction:column;min-height:0}.teacher-material-form-main .teacher-material-body-label{flex:1;min-height:0}.teacher-material-form-main .lesson-rich-editor{flex:1;display:flex;flex-direction:column;min-height:min(68vh,48rem)}.teacher-material-form-main .lesson-rich-editor .quill{flex:1;display:flex;flex-direction:column;min-height:0}.teacher-material-form-main .lesson-rich-editor .ql-container.ql-snow{flex:1;display:flex;flex-direction:column;min-height:min(62vh,44rem)!important}.teacher-material-form-main .lesson-rich-editor .ql-editor{flex:1;min-height:min(58vh,40rem)}@media (min-width: 1024px){.teacher-material-form-meta .teacher-material-type-grid.teacher-material-type-grid-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-mat-sec{margin:0;padding:.8rem .85rem .95rem;border-radius:11px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 1px 2px #0f172a0a}.teacher-mat-sec+.teacher-mat-sec{margin-top:.75rem}.teacher-mat-sec-title{margin:0 0 .4rem;font-size:.93rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text);line-height:1.3}.teacher-mat-sec-lead,.teacher-mat-sec-caption{margin:0 0 .55rem;line-height:1.45;font-size:.82rem}.teacher-mat-sec--basics{background:linear-gradient(180deg,#fff,#f8fafceb)}.teacher-mat-sec--compact{padding:.55rem .65rem .6rem;overflow:visible}.teacher-material-meta-toolbar{display:flex;flex-direction:column;gap:.45rem}@media (min-width: 720px){.teacher-material-meta-toolbar{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem .85rem}.teacher-material-meta-primary{flex:1 1 min(100%,22rem);min-width:min(100%,16rem)}.teacher-material-meta-tools{flex:1 1 auto;min-width:min(100%,20rem)}}.teacher-material-meta-primary{display:flex;flex-direction:column;gap:.25rem;min-width:0}.teacher-material-field-label{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.teacher-material-meta-tools{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.45rem .55rem}.teacher-material-title-sync-hint--compact{margin:0;font-size:.7rem!important;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.teacher-material-structure-field--inline{flex:1 1 auto;min-width:min(100%,12rem);flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.teacher-material-structure-field--inline .teacher-material-structure-label{margin:0;flex-shrink:0}.teacher-material-upload-btn--compact{width:auto;min-height:2.25rem;padding:.35rem .65rem;font-size:.82rem;font-weight:650;gap:.35rem}.teacher-material-settings--toolbar{margin:0;padding:0;border:none;background:transparent;flex:0 0 auto;align-self:flex-end}.teacher-material-settings--toolbar .teacher-material-settings-summary--toolbar{display:inline-flex;align-items:center;gap:.35rem;list-style:none;list-style-type:none;cursor:pointer;font-size:.82rem;font-weight:650;padding:.35rem .55rem;border-radius:10px;border:1px solid rgba(148,163,184,.45);background:#ffffffd9;color:var(--color-text-muted);transition:background .15s ease,border-color .15s ease,color .15s ease}.teacher-material-settings--toolbar .teacher-material-settings-summary--toolbar:hover{color:var(--color-text);border-color:#0d948859;background:#fff}.teacher-material-settings--toolbar .teacher-material-settings-summary--toolbar::-webkit-details-marker{display:none}.teacher-material-settings--toolbar .teacher-material-settings-body{position:absolute;z-index:40;right:0;margin-top:.35rem;min-width:min(100%,18rem);max-width:22rem;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 12px 40px #0f172a1f}.teacher-material-settings-upload-note{margin:0 0 .55rem;font-size:.78rem;line-height:1.45}.teacher-material-meta-footnote{margin:.35rem 0 0;font-size:.68rem;line-height:1.35;opacity:.92}@media (max-width: 719px){.teacher-material-settings--toolbar .teacher-material-settings-body{position:static;margin-top:.5rem;max-width:none;box-shadow:none}}.teacher-mat-sec--format{background:#fffffff7}.teacher-mat-sec--content{background:linear-gradient(180deg,#fff,#f0fdfa59);border-color:#0d948833}.teacher-mat-body-label-text{font-weight:600;font-size:.9rem}.teacher-material-composer-head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.45rem .65rem;margin-bottom:.4rem;padding-bottom:.4rem;border-bottom:1px solid rgba(13,148,136,.1)}.teacher-material-composer-head--compact{align-items:center;margin-bottom:.35rem;padding-bottom:.35rem}.teacher-material-composer-intro{margin:0;flex:1;min-width:0;max-width:none;font-size:.78rem;line-height:1.35;color:var(--color-text-muted)}.teacher-material-composer-actions{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0;justify-content:flex-end}.teacher-material-composer-actions--icons{gap:.15rem}.teacher-material-icon-btn{padding:.35rem .45rem;min-width:2.25rem;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:center}.teacher-material-row-hint{margin:0 0 .5rem}.teacher-material-basics-grid{display:grid;gap:.6rem;grid-template-columns:1fr}@media (min-width: 560px){.teacher-material-basics-grid:not(.teacher-material-basics-grid--notes){grid-template-columns:1fr 1fr;grid-template-areas:"title title" "upload mode"}.teacher-material-basics-grid:not(.teacher-material-basics-grid--notes) .teacher-material-title-span{grid-area:title}.teacher-material-basics-grid:not(.teacher-material-basics-grid--notes) .teacher-material-upload-cell{grid-area:upload}.teacher-material-basics-grid:not(.teacher-material-basics-grid--notes) .teacher-material-mode-field{grid-area:mode}}.teacher-material-basics-grid--notes .teacher-material-upload-cell{max-width:22rem}.teacher-material-title-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.teacher-material-title-sync-hint{display:block;margin-top:.15rem;font-size:.72rem;line-height:1.35}@media (max-width: 640px){.teacher-material-content-head{flex-direction:column;align-items:stretch}.teacher-material-content-head .teacher-material-editor-hint{text-align:left;max-width:none}}.teacher-material-upload-cell{display:flex;flex-direction:column;gap:.3rem;min-width:0}.teacher-material-upload-label{font-size:.78rem;font-weight:600}.teacher-material-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%}.teacher-material-upload-note{margin:0;font-size:.78rem;line-height:1.45}.teacher-material-mode-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.teacher-material-types-caption{margin:0 0 .45rem}.teacher-material-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin-bottom:.75rem}.teacher-material-type-grid.teacher-material-type-grid-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;overflow:visible;padding-bottom:0}@media (min-width: 560px){.teacher-material-type-grid.teacher-material-type-grid-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.teacher-material-composer .teacher-material-type-tile{padding:.35rem .4rem;min-height:0;gap:.15rem}.teacher-material-composer .teacher-material-type-tile .tile-label{font-size:.78rem;gap:.3rem}.teacher-material-composer .teacher-material-type-tile .tile-hint{font-size:.68rem;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.teacher-material-type-grid.teacher-material-type-grid-row .teacher-material-type-tile{min-width:0}.teacher-material-ai{margin:.85rem 0 1rem;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(124,58,237,.22);background:linear-gradient(165deg,#7c3aed0f,#ffffffb8)}.teacher-mat-sec--ai{background:linear-gradient(180deg,#faf5ff80,#fff);border-color:#7c3aed26}.teacher-mat-sec--ai .teacher-material-ai{margin:.55rem 0 0}.teacher-material-ai-head{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.5rem}.teacher-material-ai-icon{color:var(--color-violet);flex-shrink:0;margin-top:.15rem}.teacher-material-ai-title{display:block;font-size:.92rem}.teacher-material-ai-intro{margin:.25rem 0 0}.teacher-material-ai-hint-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.teacher-material-ai-hint-field input{font-size:.95rem}.teacher-material-ai-note{margin:0 0 .5rem}.teacher-material-ai-actions{display:grid;grid-template-columns:1fr;gap:.4rem;margin-bottom:.35rem}@media (min-width: 420px){.teacher-material-ai-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.teacher-material-ai-result{margin-top:.65rem;padding:.65rem .75rem;border-radius:10px;background:#0f172a08;border:1px solid var(--color-border)}.teacher-material-ai-result-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.teacher-material-ai-result-title{font-weight:700;font-size:.88rem}.teacher-material-ai-result-btns{display:flex;flex-wrap:wrap;gap:.35rem}.teacher-material-ai-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;max-height:340px;overflow:auto;padding:.75rem .85rem;border-radius:10px;background:#23241f;color:#f8f8f2;border:1px solid rgba(255,255,255,.08)}.teacher-material-body-label{width:100%;display:flex;flex-direction:column;gap:.35rem}.teacher-material-body-ta{width:100%;min-height:14rem}.teacher-material-md-textarea{min-height:22rem;font-size:.9rem;line-height:1.55;resize:vertical}.teacher-material-plain-textarea{font-family:var(--font-sans);font-size:.95rem;line-height:1.6}.teacher-material-main-lead{margin:-.25rem 0 .85rem;max-width:44rem;line-height:1.45;font-size:.88rem}.teacher-material-structure-field{grid-column:1 / -1;display:flex;flex-direction:column;gap:.45rem}.teacher-material-structure-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.teacher-material-seg{display:inline-flex;flex-wrap:wrap;padding:3px;border-radius:12px;background:#0f172a0d;border:1px solid rgba(148,163,184,.45);gap:3px;width:fit-content;max-width:100%}.teacher-material-seg-btn{border:none;border-radius:9px;padding:.45rem .95rem;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;color:var(--color-text-muted);background:transparent;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.teacher-material-seg-btn:hover{color:var(--color-text);background:#ffffffa6}.teacher-material-seg-btn.is-active{color:#0f766e;background:#fff;box-shadow:0 2px 10px #0d94882e}.teacher-material-settings{margin-top:1rem;padding:.65rem .85rem;border-radius:12px;border:1px dashed rgba(148,163,184,.55);background:#f8fafca6}.teacher-material-settings-summary{cursor:pointer;font-weight:650;font-size:.9rem;color:var(--color-text)}.teacher-material-settings-body{margin-top:.65rem;display:flex;flex-direction:column;gap:.45rem}.teacher-material-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.45;cursor:pointer}.teacher-material-check input{margin-top:.2rem;flex-shrink:0}.teacher-material-settings-hint{margin:0!important}.teacher-material-legacy-tag{font-weight:600;color:#b45309}.lesson-rich-editor{width:100%;max-width:100%;margin-left:0;margin-right:0;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);overflow:visible;box-shadow:var(--shadow-sm)}.lesson-rich-editor .ql-toolbar.ql-snow{position:sticky;top:calc(var(--header-h, 64px) + 2px);z-index:30;border:none;border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#f8fafc,#f1f5f9);font-family:inherit;padding:.5rem .65rem;box-shadow:0 2px 10px #0f172a0f;flex-wrap:wrap;gap:.15rem}.lesson-rich-editor .ql-container.ql-snow{border:none;font-family:var(--font-sans);font-size:.95rem;line-height:1.6;min-height:18rem;border-radius:0 0 var(--radius) var(--radius);background:#fff}.lesson-rich-editor .ql-editor{min-height:17rem;padding:.85rem 1rem 1.15rem}.lesson-rich-editor .ql-editor.ql-blank:before{color:var(--color-text-muted);font-style:normal}.lesson-rich-editor:focus-within{box-shadow:0 0 0 2px var(--color-teal-glow);border-color:#0d948859}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=dm-sans]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=dm-sans]:before{content:"DM Sans";font-family:DM Sans,sans-serif}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=system]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=system]:before{content:"Системный";font-family:system-ui,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:"С засечками";font-family:Georgia,serif}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=mono]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=mono]:before{content:"Моно";font-family:var(--font-mono),monospace}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=georgia]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=georgia]:before{content:"Georgia";font-family:Georgia,serif}.ql-font-dm-sans{font-family:"DM Sans",var(--font-sans),system-ui,sans-serif}.ql-font-system{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-font-mono{font-family:var(--font-mono),ui-monospace,monospace}.ql-font-georgia{font-family:Georgia,serif}.lesson-rich-editor .ql-snow .ql-tooltip{z-index:50}.teacher-material-editor-hint{margin:0 0 .4rem;font-size:.82rem}.teacher-material-composer-badge{display:inline-flex;align-items:center;gap:.35rem;margin-right:0;padding:.16rem .5rem;border-radius:999px;font-size:.74rem;font-weight:600;background:#0d94881f;color:var(--color-teal-dark);flex-shrink:0}.teacher-material-composer-badge--toggle{border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.teacher-panel-title--toggle{border:0;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.42rem}.teacher-panel-title--toggle .is-open,.teacher-material-composer-badge--toggle .is-open{transform:rotate(90deg)}.teacher-panel-title--toggle svg,.teacher-material-composer-badge--toggle svg{transition:transform .15s ease}.teacher-material-composer .teacher-material-upload-btn{padding:.38rem .5rem;font-size:.8rem}.teacher-material-composer .teacher-material-upload-btn--compact{padding:.26rem .42rem;font-size:.74rem}.teacher-material-composer .teacher-material-upload-note{font-size:.72rem;line-height:1.35}.teacher-material-submit-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:0}.teacher-material-autosave-hint{margin-right:auto;font-size:.8rem}.teacher-material-form-main .teacher-material-submit-row{margin-top:.5rem}.teacher-material-submit-btn{margin-top:0;min-width:11rem}.teacher-material-type-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .5rem;border-radius:10px;border:1px solid var(--color-border);background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.teacher-material-type-tile:hover{border-color:#0d948866;background:#0d94880a}.teacher-material-type-tile.is-active{border-color:#0d94888c;background:#0d948814;box-shadow:0 0 0 1px #0d94881f}.teacher-material-type-tile .tile-label{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.82rem;color:var(--color-text)}.teacher-material-type-tile .tile-hint{font-size:.68rem;line-height:1.4;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-material-type-tile svg{flex-shrink:0;opacity:.88}.page.teacher-studio .teacher-panel .teacher-material-form textarea.code,.page.teacher-studio .teacher-panel .teacher-task-form textarea.code{min-height:7.5rem;font-size:.9rem;line-height:1.5}.page.teacher-studio .teacher-panel input,.page.teacher-studio .teacher-panel select{min-width:0}.teacher-tasks-toggle{display:flex;align-items:flex-start;gap:.65rem;margin:.5rem 0 .85rem;padding:.7rem .85rem;border-radius:12px;background:#7c3aed0f;border:1px solid rgba(124,58,237,.18);cursor:pointer;font:inherit;text-align:left;transition:background .15s ease}.teacher-tasks-toggle:hover{background:#7c3aed17}.teacher-tasks-toggle input{width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--color-teal);flex-shrink:0}.teacher-tasks-toggle-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.teacher-tasks-toggle-title{font-weight:700;font-size:1.01rem;color:var(--color-text)}.teacher-tasks-toggle-hint{font-size:.88rem;line-height:1.45;color:var(--color-text-muted)}.teacher-tasks-collapsed-note{margin:0 0 .75rem;font-size:.9rem;line-height:1.5}.teacher-material-form{margin-top:.5rem;display:flex;flex-direction:column;gap:0}.teacher-material-form>.teacher-material-submit-row{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(15,23,42,.08)}.teacher-steps-box{padding:.5rem 0;display:flex;flex-direction:column;gap:.45rem}.teacher-content-pipeline{margin-bottom:1rem;padding:1rem 1.1rem 1.15rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);background:linear-gradient(145deg,#fffffff7,#f1f5f9eb);box-shadow:0 8px 28px #0f172a0f}.teacher-pipeline-head{margin-bottom:.85rem}.teacher-pipeline-kicker{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-teal-dark);margin-bottom:.2rem}.teacher-pipeline-title{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text);line-height:1.25}.teacher-pipeline-lead{margin:.35rem 0 0;max-width:42rem;line-height:1.5}.teacher-pipeline-switches{display:grid;grid-template-columns:1fr;gap:.55rem}@media (min-width: 720px){.teacher-pipeline-switches{grid-template-columns:repeat(3,1fr);gap:.65rem}}.teacher-pipeline-switch{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:#ffffffd1;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.teacher-pipeline-switch:hover{border-color:#0d948873;box-shadow:0 4px 14px #0d94881a}.teacher-pipeline-switch:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.teacher-pipeline-switch-title{display:block;font-weight:700;font-size:.95rem;color:var(--color-text)}.teacher-pipeline-switch-desc{display:block;margin-top:.15rem;line-height:1.4}.teacher-panel--surface{background:linear-gradient(180deg,#fffffff5,#f8fafcf0)}.teacher-panel--muted{border-style:dashed;background:#f1f5f9a6}.teacher-panel-tip-heading--split{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.teacher-panel-tip-heading--split .teacher-panel-title{margin:0}.teacher-panel-sub{margin:.2rem 0 .65rem;max-width:40rem}.teacher-task-split-panels{display:flex;flex-direction:column;gap:1rem}@media (min-width: 900px){.teacher-task-split-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;align-items:start}}.teacher-task-editor-panel{grid-column:1 / -1}.tasks-free-text-area{width:100%;min-height:12rem;resize:vertical;font:inherit;line-height:1.55;padding:.65rem .75rem}.task-panel--freetext .tasks-free-text-label{display:block;width:100%}.teacher-task-list{list-style:none;margin:0 0 .75rem;padding:0}.teacher-task-li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--color-border)}.teacher-task-li:last-child{border-bottom:none}.teacher-task-li-title{font-weight:600;font-size:.9rem}.teacher-task-li-actions{display:flex;gap:.25rem;flex-shrink:0}.teacher-task-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.35rem}.teacher-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.45rem .55rem;border-radius:8px;background:#7c3aed1a;border:1px solid rgba(124,58,237,.25);font-size:.88rem;margin:0}.teacher-tests-builder{border:1px solid var(--color-border);border-radius:10px;padding:.65rem;background:#0f172a05}.teacher-quiz-question-row{margin-top:.55rem;padding:.55rem;border:1px solid var(--color-border);border-radius:10px;background:#ffffffb8}.teacher-tests-head{font-weight:700;font-size:.86rem;margin-bottom:.5rem}.teacher-test-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.45rem;align-items:end;margin-bottom:.55rem}@media (max-width: 640px){.teacher-test-row{grid-template-columns:1fr}.teacher-test-remove{justify-self:start}}.teacher-analytics-inline{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--color-border)}.teacher-subh4{margin:0 0 .35rem;font-size:.88rem}.teacher-task-analytics-box{margin-top:.5rem;font-size:.88rem;padding:.75rem .9rem;border-radius:1.15rem;border:1px solid rgba(13,148,136,.12);background:#f8fafce6}.teacher-feedback-samples{margin:.35rem 0 0;padding-left:1.1rem;color:var(--color-text-muted);font-size:.84rem}.teacher-analytics-card{margin-top:.85rem}.teacher-analytics-card-title{margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.teacher-analytics-course-name{margin:0 0 1rem;font-size:1.05rem;font-weight:650;line-height:1.35;color:var(--color-text);word-break:break-word}.teacher-analytics-students-table th,.teacher-analytics-students-table td{vertical-align:top}.teacher-analytics-students-table th:last-child{text-align:right}.teacher-analytics-td-name{max-width:min(22rem,55vw)}.teacher-analytics-td-progress{vertical-align:middle;white-space:nowrap;text-align:right}.teacher-analytics-student-line{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.teacher-analytics-student-name{font-weight:600;line-height:1.35;word-break:break-word}.teacher-analytics-student-email{font-size:.82rem;line-height:1.35;word-break:break-all}.course-analytics-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:stretch;justify-content:center;padding:0;animation:course-analytics-overlay-in .22s ease-out}@keyframes course-analytics-overlay-in{0%{opacity:0}to{opacity:1}}.course-analytics-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer}.course-analytics-overlay-panel{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto;background:var(--color-surface, var(--color-bg, #fff));box-shadow:0 0 0 1px #0f172a0f,-12px 0 60px #0f172a33;display:flex;flex-direction:column;max-height:100vh;overflow:hidden}@media (min-width: 900px){.course-analytics-overlay{padding:1rem;align-items:center}.course-analytics-overlay-panel{border-radius:18px;max-height:calc(100vh - 2rem)}}.course-analytics-overlay-head{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,rgba(13,148,136,.06),transparent 72%);position:sticky;top:0;z-index:2}.course-analytics-overlay-eyebrow{margin:0 0 .2rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.course-analytics-overlay-title{margin:0;font-size:clamp(1.15rem,2.8vw,1.45rem);font-weight:750;line-height:1.25;word-break:break-word}.course-analytics-overlay-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.course-analytics-period-pills{display:flex;flex-wrap:wrap;gap:.35rem}.course-analytics-period-pill{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.82rem;font-weight:600;padding:.35rem .65rem;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.course-analytics-period-pill:hover{border-color:#0d948873;color:var(--color-primary, #0d9488)}.course-analytics-period-pill.is-active{background:#0d948824;border-color:#0d94888c;color:#0f766e}.course-analytics-days-field{display:flex;flex-direction:column;gap:.15rem}.course-analytics-days-field input[type=number]{width:4.25rem;padding:.35rem .45rem;border-radius:8px;border:1px solid var(--color-border);font-size:.88rem}.course-analytics-refresh{display:inline-flex;align-items:center;gap:.35rem}.course-analytics-spin{animation:course-analytics-spin .85s linear infinite}@keyframes course-analytics-spin{to{transform:rotate(360deg)}}.course-analytics-link-full{display:inline-flex;align-items:center;gap:.35rem}.course-analytics-close{margin-left:auto}.course-analytics-overlay-body{flex:1;overflow-y:auto;padding:1rem 1rem 1.5rem;-webkit-overflow-scrolling:touch}.course-analytics-err{margin:0 0 .75rem}.course-analytics-loading{padding:2rem 0;text-align:center}.course-analytics-refresh-hint{margin:0 0 .75rem}.class-insights-dashboard--overlay{padding-bottom:.5rem}.class-insights-dashboard--overlay .insights-kpi-strip{margin-top:0}.class-insights-section--overlay{margin-bottom:.85rem}.class-insights-grid--overlay{margin-top:0}.class-insights-activity-card{border:1px solid rgba(13,148,136,.12)}.class-insights-activity-chart{margin-top:.35rem}.teacher-task-analytics-visual{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.teacher-task-analytics-stats{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:baseline}.teacher-task-analytics-stat{display:flex;flex-direction:column;gap:.1rem}.teacher-task-analytics-stat strong{font-size:1.35rem;font-weight:750;line-height:1.1;color:var(--color-text)}.teacher-task-analytics-stat .muted{font-size:.75rem}.teacher-task-analytics-ring-wrap{width:140px;height:140px;margin:0 auto}.student-dash-hero{border:1px solid rgba(13,148,136,.22);background:linear-gradient(135deg,#0d948817,#7c3aed0d);box-shadow:0 12px 36px #0f172a14}.student-dash-hero-grid{display:grid;gap:1.25rem}@media (min-width: 840px){.student-dash-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:start}}.student-dash-hero-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted)}.student-dash-hero-title{margin:0 0 .35rem;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:780;line-height:1.2}.student-dash-hero-class{margin:0 0 1rem}.student-dash-topic-meter-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem;margin-bottom:.35rem}.student-dash-topic-meter-ratio{font-weight:650;color:var(--color-text-muted)}.student-dash-topic-track{height:10px;border-radius:999px;background:#0f172a14;overflow:hidden}.student-dash-topic-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#5eead4);transition:width .35s ease}.student-dash-cta{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem}.student-dash-last-note{margin-top:.65rem}.student-dash-hero-aside{display:flex;flex-direction:column;gap:.85rem}.student-dash-xp-card,.student-dash-week-card,.student-dash-ladder-card{padding:.85rem 1rem;border-radius:14px;background:var(--color-surface, var(--color-bg));border:1px solid var(--color-border)}.student-dash-ladder-card--met{border-color:#6366f152;background:linear-gradient(165deg,rgba(238,242,255,.45),var(--color-surface, var(--color-bg)))}.student-dash-ladder-head{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;margin-bottom:.2rem;color:var(--color-text)}.student-dash-ladder-hint{margin:0 0 .35rem;font-size:.78rem;line-height:1.35}.student-dash-ladder-line{margin:0 0 .45rem;font-size:.85rem;font-weight:650;font-variant-numeric:tabular-nums}.student-dash-ladder-track{height:6px;border-radius:999px;background:#6366f11f;overflow:hidden}.student-dash-ladder-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#818cf8);transition:width .4s ease}.student-dash-ladder-stages{list-style:none;margin:.5rem 0 0;padding:0;display:flex;gap:.4rem;flex-wrap:wrap}.student-dash-ladder-stage{display:inline-flex;align-items:center;gap:.28rem;padding:.22rem .45rem;border-radius:8px;font-size:.75rem;font-weight:650;border:1px solid var(--color-border);background:#ffffffb8}.student-dash-ladder-stage.is-met{border-color:#14b8a666;background:#ccfbf159;color:#047857}.student-dash-xp-line{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.student-dash-xp-metrics{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0}.student-dash-xp-pill{font-size:.72rem;font-weight:650;padding:.22rem .5rem;border-radius:999px;background:#7c3aed14;border:1px solid rgba(124,58,237,.14);color:var(--color-text);line-height:1.25;max-width:100%}.student-dash-xp-next{margin:.45rem 0 .35rem}.student-dash-xp-track{height:8px;border-radius:999px;background:#7c3aed1f;overflow:hidden}.student-dash-xp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .35s ease}.student-dash-week-head{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;margin-bottom:.25rem}.student-dash-week-sub{margin:0 0 .25rem;font-weight:650;font-variant-numeric:tabular-nums}.student-dash-week-hint{margin:0 0 .45rem;font-size:.78rem;line-height:1.35}.student-dash-week-track{height:8px;border-radius:999px;background:#0d94881f;overflow:hidden}.student-dash-week-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#34d399);transition:width .4s ease}.student-dash-week-card--met .student-dash-week-fill{background:linear-gradient(90deg,#14b8a6,#059669)}.student-dash-week-card--met{border-color:#14b8a659;background:linear-gradient(165deg,rgba(204,251,241,.35),var(--color-surface, var(--color-bg)))}.student-dash-week-status{margin:.45rem 0 0;font-size:.85rem;font-weight:650;line-height:1.35}.student-dash-week-status-main{color:var(--color-teal-dark)}.student-dash-week-goal-badge{margin-left:.45rem;font-size:.78rem;font-weight:700;color:#b45309}:root[data-theme=dark] .student-dash-week-goal-badge{color:#fbbf24}.student-dash-week-cta{display:inline-block;margin-top:.45rem;font-size:.85rem;font-weight:600;color:var(--color-teal-dark);text-decoration:none}.student-dash-week-cta:hover{text-decoration:underline}.student-dash-mini-stats{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin-bottom:.75rem}.student-dash-mini-pill{display:inline-flex;align-items:center;gap:.35rem;font-weight:750;font-size:1.05rem}.student-pwa-hint{margin:0 0 1rem;padding:.65rem .85rem;border-radius:10px;background:#0f172a0a}.tasks-page-header--hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;margin-bottom:1.25rem}.tasks-page-header--hero h1{margin:0 0 .45rem;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.15}.tasks-page-header-copy{flex:1 1 300px;min-width:0}.tasks-page-header--hero .tasks-page-sub{margin:0;max-width:36rem;line-height:1.55;font-size:.95rem;color:var(--color-text-muted)}.tasks-continue-btn{flex-shrink:0;align-self:center}.tasks-step-card--modern{padding:1rem 1.1rem 1.15rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);background:linear-gradient(160deg,#fffffffa,#f8fafcf5,#f0fdfa59);box-shadow:0 10px 38px #0f172a0f}.tasks-step-card--modern .tasks-class-quicklinks{margin-top:0}.student-dash-page-head h1{letter-spacing:-.03em}.student-dash-page-sub{max-width:42rem;color:var(--color-text-muted)}.teacher-dash-lead-strip{margin-bottom:1.25rem;padding:.85rem 1rem;border-radius:var(--radius-lg)}.teacher-dash-lead-text{margin:0;max-width:48rem;line-height:1.55;font-size:.94rem;color:var(--color-text-muted)}.teacher-task-list-empty,.teacher-tasks-form-collapsed-hint{margin:.45rem 0 .65rem;line-height:1.45}.student-dash-section{margin-bottom:1.25rem}.student-dash-section-head{margin-bottom:1rem}.student-dash-section-title{margin:0 0 .35rem;font-size:1.18rem;font-weight:800;letter-spacing:-.02em}.student-dash-section-lead{margin:0;max-width:40rem;line-height:1.45}.student-dash-section--join{border:1px solid rgba(13,148,136,.28);background:linear-gradient(135deg,#f0fdfaa6,#fffffff5);box-shadow:0 10px 36px #0d94881a;padding:.85rem .95rem!important}.student-dash-join-form{display:flex;flex-wrap:wrap;gap:.55rem .7rem;align-items:center}.student-dash-join-field{flex:1;min-width:min(100%,220px);display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.82rem}.student-dash-join-field input{font-size:.96rem;letter-spacing:.08em;font-weight:600;min-height:2.1rem;padding-block:.42rem}.student-dash-join-submit{flex-shrink:0;min-height:2.1rem;padding:.48rem .9rem;font-size:.86rem}.student-dash-join-label{color:var(--color-text-muted);font-size:.78rem}.student-dash-join-err{margin:.5rem 0 0}.student-dash-quicklinks{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem!important;border:1px solid rgba(124,58,237,.15);background:linear-gradient(125deg,#7c3aed0f,#fffffff2)}.student-dash-qlink{display:inline-flex;align-items:center;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#ffffffe6;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--color-text);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.student-dash-qlink:hover{border-color:#0d948873;background:#f0fdfad9;box-shadow:0 6px 18px #0d94881f;transform:translateY(-1px)}:root[data-theme=dark] .student-dash-section--join{border-color:#2dd4bf57;background:linear-gradient(135deg,#064e3b57,#0f172aeb);box-shadow:0 12px 34px #02061770}:root[data-theme=dark] .student-dash-quicklinks{border-color:#6366f157;background:linear-gradient(125deg,#4c1d954d,#0f172aeb)}:root[data-theme=dark] .student-dash-qlink{background:#0f172ad6;border-color:#94a3b85c;color:#dbe7fb}:root[data-theme=dark] .student-dash-qlink:hover{border-color:#2dd4bf73;background:#1e293bf5;box-shadow:0 8px 22px #0206176b}:root[data-theme=dark] .student-dash-courses{border-color:#94a3b852;background:linear-gradient(180deg,#0c1422f2,#0f172af5);box-shadow:0 14px 34px #0206176b}:root[data-theme=dark] .student-dash-empty{background:#1e293b9e}:root[data-theme=dark] .student-course-card{border-color:#4755699e;background:linear-gradient(145deg,#0f172adb,#111b2fe6);box-shadow:0 10px 24px #02061757}:root[data-theme=dark] .student-course-card:hover{border-color:#2dd4bf73;background:linear-gradient(145deg,#0f172af0,#121f35f5);box-shadow:0 14px 30px #02061775}:root[data-theme=dark] .student-course-card-name{color:#e2e8f0}:root[data-theme=dark] .student-course-card-meta{color:#9fb0c8}:root[data-theme=dark] .student-course-card-meta code{background:#1e293bb8;color:#dbe7fb}:root[data-theme=dark] .student-course-card-pct-ring>span{background:#0f172a;color:#dbe7fb}.student-dash-learning-card h2{margin-bottom:.65rem}.student-dash-courses{border:1px solid rgba(148,163,184,.32);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 36px #0f172a14}.student-dash-empty{padding:1.25rem 1rem;border-radius:12px;background:#0f172a08;text-align:center}.student-course-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:.75rem;align-items:stretch}.student-course-grid>li{display:block;height:100%}.student-course-card{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0;border-radius:16px;border:1px solid rgba(148,163,184,.32);background:linear-gradient(160deg,#fffffffa,#f8fafceb);text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;min-height:16rem;height:16rem;max-height:16rem;position:relative;overflow:hidden}.student-course-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#0d9488,#6366f1);opacity:0;transition:opacity .2s ease}.student-course-card:hover{border-color:#0d948873;box-shadow:0 14px 34px #0d948829;transform:translateY(-2px);background:linear-gradient(160deg,#fff,#f0fdfacc)}.student-course-card:hover:before{opacity:1}.student-course-card:focus-visible{outline:2px solid rgba(13,148,136,.55);outline-offset:2px}.student-course-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:12px;flex-shrink:0;background:linear-gradient(145deg,#0d94882e,#6366f11f);color:#0f766e}.student-course-card-cover{width:100%;height:8.4rem;flex:0 0 8.4rem;border-radius:0;border:none;border-bottom:1px solid rgba(148,163,184,.3);background:linear-gradient(145deg,#e2e8f0bf,#f1f5f9e6);overflow:hidden;display:grid;place-items:center;color:#0f766e}.student-course-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.student-course-card-body{display:grid;grid-template-rows:minmax(2.45rem,auto) 2.3em 1.35rem;gap:.35rem;min-width:0;min-height:0;flex:1 1 auto;padding:.78rem .86rem .82rem;overflow:hidden}.student-course-card-headline{display:flex;align-items:flex-start;gap:.55rem;min-height:2.45rem}.student-course-card-name{font-weight:800;font-size:.96rem;letter-spacing:-.02em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.student-course-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.72rem;color:var(--color-text-muted);margin-top:0;min-height:1.35rem}.student-course-card-meta>span{display:inline-flex;align-items:center;gap:.3rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.student-course-card-meta>span>*{min-width:0}.student-course-card-meta-line{max-width:calc(100% - .15rem)}.student-course-card-code-label{opacity:.9;white-space:nowrap}.student-course-card-code-chip{max-width:100%}.student-course-card-pct-text{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-teal-dark, #0f766e)}.student-course-card-pct-ring{--pct: 0;width:42px;height:42px;flex:0 0 42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(var(--color-teal) calc(var(--pct) * 1%),rgba(148,163,184,.25) 0);margin-left:.1rem}.student-course-card-pct-ring>span{width:32px;height:32px;border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.62rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.student-course-card-meta code{font-size:.8em;padding:.1rem .35rem;border-radius:6px;background:#0f172a0f}.student-course-card-arrow{flex-shrink:0;color:var(--color-text-muted);opacity:.72;transition:transform .2s ease,opacity .2s ease}.student-course-card:hover .student-course-card-arrow{transform:translate(4px);opacity:1;color:#0d9488}.status-page{min-height:calc(100dvh - 5rem);display:grid;place-items:center;padding:1.2rem}.status-card{width:min(680px,96vw);padding:1.6rem 1.45rem;text-align:center;border-radius:20px;border:1px solid rgba(148,163,184,.35);background:linear-gradient(165deg,#fffffffa,#f1f5f9eb);box-shadow:0 16px 44px -28px #0f172a59}.status-card--forbidden{border-color:#f59e0b59}.status-card--notfound{border-color:#6366f14d}.status-card--runtime{border-color:#94a3b873;background:linear-gradient(165deg,#fffffffc,#f8fafcf5)}.status-icon{width:3.1rem;height:3.1rem;margin:0 auto .6rem;border-radius:12px;display:grid;place-items:center;color:var(--color-teal-dark);background:#0d94881f}.status-code{margin:0;font-size:.9rem;letter-spacing:.12em;font-weight:750;text-transform:uppercase;color:var(--color-text-muted)}.status-card h1{margin:.2rem 0 .35rem;font-size:clamp(1.45rem,3.6vw,2rem)}.status-lead{margin:0 auto;max-width:44ch}.status-actions{margin-top:1rem;display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap}.status-error-details{margin-top:.9rem;text-align:left;border-top:1px dashed rgba(148,163,184,.45);padding-top:.7rem}.status-error-details summary{cursor:pointer;font-size:.86rem;color:var(--color-text-muted)}.status-error-details pre{margin:.45rem 0 0;font-size:.78rem;color:var(--color-text-muted)}.teacher-topic-pill{box-shadow:0 1px 2px #0f172a0a}.teacher-topic-pill.is-active{box-shadow:0 2px 8px #0d948826}.teacher-new-module{border:1px dashed rgba(13,148,136,.35);background:linear-gradient(135deg,#f0fdfa59,#ffffffe6)}.tasks-class-quicklink{border-radius:12px;padding:.45rem .75rem;box-shadow:0 1px 3px #0f172a0d}.tasks-class-quicklink.is-active{box-shadow:0 4px 14px #0d94882e}.analytics-studio{--ax-r: 1.35rem;--ax-r-lg: 1.65rem;--ax-shadow: 0 4px 28px rgba(15, 23, 42, .06)}.analytics-shell,.insights-shell{max-width:1100px;margin:0 auto;padding:0 .75rem 2.75rem;display:flex;flex-direction:column;gap:1.15rem}.analytics-shell section[id],.analytics-shell .analytics-charts-section{scroll-margin-top:5.5rem}.analytics-surface{background:linear-gradient(165deg,#fffffffc,#f8fafcf5);border-radius:var(--ax-r-lg);padding:1.15rem 1.25rem;border:1px solid rgba(13,148,136,.13);box-shadow:var(--ax-shadow);margin-bottom:0}.analytics-shell>.analytics-surface,.insights-shell>.analytics-surface{margin-bottom:0}.analytics-shell .analytics-ai-shell{margin-bottom:0}.analytics-surface.analytics-ai-shell{padding:0;overflow:hidden}.btn-roundish{border-radius:999px;padding:.45rem 1.1rem}.analytics-head-compact{border-radius:var(--ax-r-lg);padding:1.15rem 1.35rem!important;border:1px solid rgba(13,148,136,.16);background:linear-gradient(128deg,#f0fdfabf,#faf5ffa6);box-shadow:var(--ax-shadow);margin-bottom:0!important;flex-wrap:wrap;gap:.75rem}.analytics-head-compact h1{margin:0 0 .2rem;font-size:clamp(1.35rem,3vw,1.65rem);letter-spacing:-.03em}.analytics-head-sub{margin:0;font-size:.92rem;line-height:1.45}.analytics-toc{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.65rem .85rem;margin:0 0 .25rem;border-radius:999px;background:#ffffffeb;border:1px solid rgba(13,148,136,.16);box-shadow:0 2px 12px #0f172a0a}.analytics-toc-link{display:inline-flex;align-items:center;padding:.38rem .75rem;border-radius:999px;font-size:.82rem;font-weight:650;text-decoration:none;color:var(--color-text-muted);background:#f8fafce6;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.analytics-toc-link:hover{color:var(--color-teal-dark);background:#f0fdfaf2;border-color:#0d948838}.analytics-toc-link:focus-visible{outline:2px solid rgba(13,148,136,.45);outline-offset:2px}.analytics-charts-section{scroll-margin-top:6.5rem}.insights-page-head{margin-bottom:1rem}.analytics-charts-root{display:flex;flex-direction:column;gap:1rem}.analytics-studio .analytics-grid{gap:1rem}@media (min-width: 900px){.analytics-studio .analytics-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}}.analytics-studio .stat-hero h2,.analytics-studio .analytics-activity-card h2,.analytics-studio .analytics-pie-card h2,.analytics-studio .analytics-topic-bars-card h2,.analytics-studio .analytics-radar-card h2{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin:0 0 .5rem}.analytics-studio .level-big{font-size:1.5rem;margin:0 0 .35rem}.analytics-studio .xp-track,.analytics-studio .analytics-week-goal-track{height:11px;border-radius:999px}.analytics-chart-inset{border-radius:1.2rem;background:#0d94880b;padding:.4rem .35rem 0;margin-top:.35rem}.analytics-studio .analytics-week-pill{border-radius:999px;padding:.4rem .85rem}.analytics-studio .analytics-xp-metric{border-radius:1rem}.analytics-charts-row{gap:1rem}@media (min-width: 960px){.analytics-charts-row{grid-template-columns:1fr 1fr}}.portal-lb.analytics-surface{padding:1.1rem 1.2rem}.portal-lb.analytics-surface .portal-lb-row{border-radius:.85rem}.badges-gallery.analytics-surface{padding:1.15rem 1.2rem}.insights-dashboard-v2{display:flex;flex-direction:column;gap:1rem}.insights-dashboard-v2 .insights-kpi-strip{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}@media (min-width: 900px){.insights-dashboard-v2 .insights-kpi-strip{grid-template-columns:repeat(7,minmax(0,1fr))}}.insights-dashboard-v2 .insights-kpi-card{border-radius:999px;padding:.55rem .75rem;min-height:unset;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(13,148,136,.14);background:linear-gradient(165deg,#fffffff2,#f0fdfa59);box-shadow:0 2px 12px #0f172a0a}.insights-dashboard-v2 .insights-kpi-wide{border-radius:1.35rem;grid-column:span 1}@media (min-width: 720px){.insights-dashboard-v2 .insights-kpi-wide{grid-column:span 2}}.insights-dashboard-v2 .insights-kpi-value{font-size:1.12rem}.insights-dashboard-v2 .insights-kpi-label{font-size:.62rem;line-height:1.25}.insights-dashboard-v2 .card{border-radius:var(--ax-r-lg);border:1px solid rgba(13,148,136,.12);box-shadow:var(--ax-shadow);padding:1.1rem 1.2rem;margin-bottom:0}.insights-dashboard-v2 .insights-h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:750}.insights-dashboard-v2 .insights-mini-nav-btn{border-radius:999px;padding:.35rem .85rem;border:1px solid rgba(13,148,136,.2);background:#ffffffd9}.insights-dashboard-v2 .insights-mini-nav-btn:hover{border-color:#0d948873}.insights-dashboard-v2 .insights-roster-table-wrap{border-radius:1.1rem;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#ffffffa6}.insights-dashboard-v2 .insights-struggle-item{border-radius:1rem}.insights-dashboard-v2 .insights-ai-chip{border-radius:999px}.insights-shell .insights-pro-toolbar-card{padding:.85rem 1rem}.insights-shell .teacher-dash-lead-strip{margin-bottom:0}.analytics-studio .analytics-page-head .analytics-page-actions{align-self:flex-start}@media (max-width: 640px){.analytics-head-compact{flex-direction:column;align-items:stretch}.analytics-studio .analytics-page-head .analytics-page-actions{width:100%}.analytics-studio .analytics-page-head .analytics-page-actions .btn{width:100%;justify-content:center}}.analytics-page-modern{background:linear-gradient(180deg,#f0fdfa59,#f8fafc99 28%,#f8fafc);min-height:100%}.analytics-shell-modern{max-width:960px;margin:0 auto;padding:1rem .85rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.analytics-modern-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;border-radius:1.35rem;border:1px solid rgba(13,148,136,.14);background:linear-gradient(135deg,#fffffff7,#f0fdfa80);box-shadow:0 8px 32px #0f172a0f}.analytics-modern-hero-text h1{margin:0 0 .35rem;font-size:clamp(1.4rem,3.2vw,1.75rem);font-weight:800;letter-spacing:-.035em;color:var(--color-text)}.analytics-modern-hero-text p{margin:0;font-size:.94rem;line-height:1.5;color:var(--color-text-muted);max-width:36rem}.analytics-modern-export{border-radius:999px;font-weight:600;flex-shrink:0}.analytics-modern-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:.35rem;border-radius:1rem;background:#ffffffd9;border:1px solid rgba(13,148,136,.12);box-shadow:0 2px 14px #0f172a0a}.analytics-modern-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:.75rem;border:1px solid transparent;background:transparent;font:inherit;font-size:.82rem;font-weight:650;color:var(--color-text-muted);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.analytics-modern-tab:hover{color:var(--color-teal-dark);background:#f0fdfaa6}.analytics-modern-tab.is-active{color:#0f766e;background:linear-gradient(180deg,#ccfbf1d9,#f0fdfaf2);border-color:#0d948847;box-shadow:0 2px 10px #0d94881f}.analytics-modern-tab:focus-visible{outline:2px solid rgba(13,148,136,.45);outline-offset:2px}.analytics-modern-panel{min-height:12rem;animation:analytics-panel-in .22s ease-out}@keyframes analytics-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.analytics-modern-panel{animation:none}}.analytics-overview{display:flex;flex-direction:column;gap:1rem}.analytics-badge-moments-wrap{width:100%}.badge-moments{border-radius:1rem;border:1px solid rgba(13,148,136,.14);background:linear-gradient(165deg,#fffffffa,#f8fafcf0);padding:1rem 1.1rem 1.05rem;box-shadow:0 4px 18px #0f172a0d}.badge-moments--compact{padding:.85rem 1rem}.badge-moments-dash .badge-moments{border:none;box-shadow:none;padding:0;background:transparent}.badge-moments-head{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.75rem}.badge-moments-icon{color:#d97706;flex-shrink:0;margin-top:.1rem}.badge-moments-title{margin:0;font-size:1.05rem;font-weight:750;letter-spacing:-.02em;color:var(--color-text)}.badge-moments-sub{margin:.15rem 0 0}.badge-moments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;max-height:min(22rem,48vh);overflow-y:auto}.badge-moments--compact .badge-moments-list{max-height:none;overflow:visible}.badge-moments-item{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.22)}.badge-moments-item:last-child{border-bottom:none;padding-bottom:0}.badge-moments-emoji{font-size:1.35rem;line-height:1.2;width:2rem;text-align:center;flex-shrink:0}.badge-moments-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:.12rem}.badge-moments-name{font-weight:650;font-size:.92rem;color:var(--color-text)}.badge-moments-time{font-variant-numeric:tabular-nums}.badge-moments-more{margin-top:.65rem;align-self:flex-start}.badge-moments--empty .badge-moments-title{margin:0}.analytics-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem}.analytics-o-card{border-radius:1.15rem;padding:1rem 1.1rem;border:1px solid rgba(13,148,136,.12);background:linear-gradient(165deg,#fffffffa,#f8fafceb);box-shadow:0 4px 20px #0f172a0d}.analytics-o-card--level{grid-column:span 1;border-color:#0d948833;background:linear-gradient(155deg,#f0fdfa8c,#fffffff5)}.analytics-o-card--goal{border-color:#f59e0b38;background:linear-gradient(155deg,#fffbeba6,#fffffff5)}.analytics-o-card--goal.is-met{border-color:#10b98159;background:linear-gradient(155deg,#d1fae58c,#fffffffa)}.analytics-o-card--ladder{border-color:#6366f138;background:linear-gradient(155deg,#eef2ff94,#fffffff5)}.analytics-o-card--ladder.is-met{border-color:#6366f161;background:linear-gradient(155deg,#e0e7ff9e,#fffffffa)}.analytics-o-ladder-hint{margin:0 0 .5rem;font-size:.8rem;line-height:1.38}.analytics-o-ladder-stages{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.analytics-o-ladder-stage{display:inline-flex;align-items:center;gap:.28rem;padding:.2rem .42rem;border-radius:8px;font-size:.72rem;font-weight:650;border:1px solid rgba(148,163,184,.35);background:#ffffffe0}.analytics-o-ladder-stage.is-met{border-color:#6366f166;background:#eef2ffbf;color:#4338ca}.analytics-o-card-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem}.analytics-o-level-row{display:flex;align-items:baseline;gap:.45rem;margin-bottom:.35rem}.analytics-o-level-num{font-size:2.35rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:#0d9488}.analytics-o-level-caption{font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.analytics-o-xp-line{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.55rem}.analytics-o-xp-val{font-weight:700;font-size:1rem}.analytics-o-xp-track{margin-top:.15rem}.analytics-o-stat-big{margin:0;font-size:1.65rem;font-weight:800;letter-spacing:-.02em}.analytics-o-stat-sub{margin:.35rem 0 0}.analytics-o-goal-ratio{margin:0 0 .5rem;font-weight:600;font-size:.92rem}.analytics-o-goal-track{margin-bottom:.45rem}.analytics-o-goal-status{margin:0;font-size:.86rem}.analytics-overview-hint{margin:0;text-align:center;padding:.35rem .5rem}.analytics-modern-empty{text-align:center;padding:2rem 1rem}.analytics-modern-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;border-radius:1.25rem;border:1px dashed rgba(13,148,136,.25);background:#ffffffa6;text-align:center}.analytics-modern-empty-icon{opacity:.45;color:#0d9488}.analytics-modern-empty-title{margin:0;max-width:22rem;font-size:.95rem;color:var(--color-text-muted);line-height:1.45}.analytics-page-modern .analytics-charts-root{margin-top:0}.analytics-page-modern .analytics-charts-section{scroll-margin-top:0}@media (max-width: 520px){.analytics-modern-tab-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.analytics-modern-tab{padding:.5rem .65rem}}@media (min-width: 521px){.analytics-modern-tab{padding:.48rem .95rem}}.portal-lb.portal-lb-v2{overflow:hidden;border-radius:1.35rem;padding:1.2rem 1.25rem 1.15rem;border:1px solid rgba(13,148,136,.14);background:linear-gradient(165deg,#fffffffa,#f0fdfa6b 45%,#f8fafcf5);box-shadow:0 4px 28px #0f172a0f}.portal-lb-v2-loading{margin:0;padding:2rem 1rem;text-align:center}.portal-lb-v2-head{margin-bottom:1rem}.portal-lb-v2-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text);background:none;-webkit-background-clip:unset;background-clip:unset}.portal-lb-v2-lead{margin:0;line-height:1.45;max-width:40rem}.portal-lb-v2-list{gap:.5rem}.portal-lb.portal-lb-v2 .portal-lb-row{border-radius:.95rem;border:1px solid rgba(13,148,136,.12);background:#ffffffe0;padding:.6rem .75rem;box-shadow:0 1px 3px #0f172a0a}.portal-lb.portal-lb-v2 .portal-lb-row:hover{border-color:#0d948847;background:#f0fdfa8c;box-shadow:0 4px 16px #0d948814}.portal-lb.portal-lb-v2 .portal-lb-row.is-me{border-color:#0d948866;background:linear-gradient(90deg,#ccfbf18c,#fffffff2);box-shadow:0 0 0 1px #0d94881f}.portal-lb.portal-lb-v2 .portal-lb-row--gold{border-color:#eab30859;background:linear-gradient(90deg,#fef3c78c,#fffffff2)}.portal-lb.portal-lb-v2 .portal-lb-row--silver{border-color:#94a3b866;background:linear-gradient(90deg,#f1f5f9d9,#fffffff5)}.portal-lb.portal-lb-v2 .portal-lb-row--bronze{border-color:#b4530952;background:linear-gradient(90deg,#ffedd58c,#fffffff5)}.portal-lb.portal-lb-v2 .portal-lb-rank-num{color:var(--color-text);font-weight:800}.portal-lb-v2-avatar{color:#fff;background:linear-gradient(145deg,#14b8a6,#6366f1)!important;box-shadow:0 3px 12px #0d948840!important;border:1px solid rgba(255,255,255,.35)}.portal-lb.portal-lb-v2 .portal-lb-row.is-me .portal-lb-v2-avatar{background:linear-gradient(145deg,#0d9488,#2563eb)!important;box-shadow:0 4px 14px #0d948859!important}.portal-lb-v2-name{color:var(--color-text)!important;-webkit-line-clamp:2}.portal-lb-v2-you{color:#0f766e!important;background:#0d94881f!important;border-color:#0d948847!important}.portal-lb-v2-pill{background:#f0fdfae6!important;color:#0f766e!important;border-color:#0d948840!important}.portal-lb-v2-xp{color:#0d9488!important}.portal-lb-v2-sentinel{height:1px;margin:0;padding:0;pointer-events:none}.portal-lb-v2-more-row{display:flex;justify-content:center;align-items:center;min-height:2.75rem;margin-top:.65rem}.portal-lb-v2-more{display:inline-flex;align-items:center;gap:.5rem}.portal-lb-v2-more-btn{border-radius:999px;font-weight:600}.portal-lb-v2-spin{animation:portal-lb-v2-spin .85s linear infinite;color:#0d9488}@keyframes portal-lb-v2-spin{to{transform:rotate(360deg)}}.portal-lb-v2-end{text-align:center;margin:.75rem 0 0}.portal-lb-v2-foot{border-top-color:#0d948824;margin-top:1rem;padding-top:1rem}.portal-lb-v2-me{color:var(--color-text)!important}@media (prefers-reduced-motion: reduce){.portal-lb-v2-spin{animation:none}}.student-profile-teacher-role{margin:0;font-weight:650;color:var(--color-teal-dark)}.student-profile-stats-card--teacher{padding-bottom:1rem}.teacher-profile-badges-wip{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(13,148,136,.15)}.teacher-profile-badges-wip-title{margin:0 0 .35rem;font-size:.95rem;font-weight:750;letter-spacing:-.02em}.teacher-profile-badges-wip-lead{margin:0 0 .35rem}.teacher-profile-badges-wip-caption{margin:0 0 .5rem;font-size:.82rem}.teacher-profile-badges-samples{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.teacher-profile-badge-sample{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;font-size:.82rem;font-weight:650;border:1px dashed rgba(100,116,139,.45);background:#f8fafce6;color:var(--color-text-muted)}.teacher-profile-badge-sample-icon{font-size:1rem;line-height:1;opacity:.85}.student-profile-badges-earned{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(13,148,136,.15)}.community-friends-role{font-size:.78rem;font-weight:650;color:var(--color-teal-dark)}.student-ig-page{width:100%}.student-ig-top{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.25rem}@media (min-width: 800px){.student-ig-top{grid-template-columns:1fr 1fr;align-items:stretch}}.student-ig-panel{margin:0;padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.65rem;height:100%;box-sizing:border-box}.student-ig-h2{margin:0;font-size:1.02rem;font-weight:750;letter-spacing:-.02em;color:var(--color-text)}.student-ig-panel-hint{margin:0}.student-ig-field{display:flex;flex-direction:column;gap:.35rem;margin:0}.student-ig-label{font-size:.78rem;font-weight:650;color:var(--color-text-muted)}.student-ig-submit{align-self:flex-start;margin-top:.25rem}.student-ig-join-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.student-ig-join-row .input-field{flex:1;min-width:10rem}.student-ig-empty-msg{margin:.5rem 0 1rem}.student-ig-workspace{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}@media (min-width: 768px){.student-ig-workspace{grid-template-columns:minmax(13rem,16rem) minmax(0,1fr);gap:1rem 1.15rem}}.student-ig-sidebar{padding:.75rem .65rem;position:sticky;top:var(--dash-sticky-below-header, 4.75rem);max-height:min(75vh,720px);overflow-y:auto}.student-ig-sidebar-title{margin:0 0 .5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.student-ig-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.student-ig-placeholder{margin:0;padding:2rem 1.25rem;text-align:center;border-radius:12px;border:1px dashed rgba(148,163,184,.55);background:#f8fafca6}.student-ig-invite-card{padding:.85rem 1rem;word-break:break-word}.student-ig-invite-text{margin:0 0 .35rem}.student-ig-code{padding:.1rem .35rem;border-radius:6px;background:#0f172a0f;font-size:.88rem}.student-ig-invite-link{display:inline-block;font-size:.82rem;word-break:break-all;color:#0d9488;font-weight:600}.student-ig-feed{padding:1rem 1.1rem 1.15rem}.student-ig-feed-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:750}.student-ig-back{margin:1rem 0 0}.student-ig-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.student-ig-group-btn{width:100%;text-align:left;padding:.5rem .55rem;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fffffff2;font-size:.88rem;font-weight:650;color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.student-ig-group-btn:hover{border-color:#0d948866;background:#f0fdfaa6}.student-ig-group-btn.is-active{border-color:#0d94888c;background:#f0fdfaf2;box-shadow:0 0 0 1px #0d94881f}.student-ig-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.student-ig-post{padding-bottom:.85rem;border-bottom:1px solid rgba(148,163,184,.2)}.student-ig-post:last-child{border-bottom:none;padding-bottom:0}.student-ig-post-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.35rem;font-size:.88rem}.student-ig-post-body{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.45}.student-ig-post-body.markdown-like,.student-ig-post-body.markdown-like .lecture-md{white-space:normal}.student-ig-setup-toggle{margin-bottom:.65rem}.student-ig-search{width:100%;margin-bottom:.6rem}.student-ig-group-btn{flex-direction:column;align-items:flex-start;text-align:left}.student-ig-group-name{font-weight:600}.student-ig-group-meta{display:block;margin-top:.15rem;font-size:.78rem}.student-ig-group-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);margin-bottom:.65rem}.student-ig-group-title{margin:0 0 .25rem;font-size:1.15rem}.student-ig-group-desc{margin:0 0 .35rem;max-width:56ch}.student-ig-badges-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.student-ig-badge-owner{font-size:.78rem;padding:.12rem .45rem;border-radius:999px;background:#6366f126;color:var(--color-text)}.student-ig-header-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.student-ig-invite-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.45rem}.student-ig-members{margin-bottom:.65rem}.student-ig-members-h{display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:1rem}.student-ig-members-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.student-ig-member-role{opacity:.85}.student-ig-post-links{display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin-top:.35rem}.student-ig-post-links a{color:var(--color-primary);text-decoration:underline}.student-ig-compose{display:grid;gap:.5rem;margin-bottom:.65rem}.student-ig-compose-input{min-height:72px}.student-ig-feed-end{height:1px}.student-ig-spin{animation:student-ig-spin .8s linear infinite}@keyframes student-ig-spin{to{transform:rotate(360deg)}}.teacher-groups-summary{display:grid;gap:.35rem}.teacher-groups-summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center}.teacher-groups-code-line{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.teacher-groups-h3{margin:.85rem 0 .35rem;font-size:.95rem}.teacher-groups-members{list-style:none;margin:0 0 .65rem;padding:0;display:grid;gap:.3rem}.teacher-groups-stack{display:grid;gap:.45rem}.teacher-groups-row-wrap{flex-wrap:wrap}.teacher-groups-feed-section{margin-bottom:1.25rem}.teacher-groups-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.teacher-groups-feed-item{padding-bottom:.85rem;border-bottom:1px solid rgba(148,163,184,.2)}.teacher-groups-feed-item:last-child{border-bottom:none;padding-bottom:0}.teacher-groups-feed-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem;margin-bottom:.35rem;font-size:.88rem}.teacher-groups-pick-meta{font-weight:400}.lesson-builder-shell{margin-bottom:.9rem}.lesson-builder-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem}.lesson-builder-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 320px;gap:.7rem}.lesson-builder-palette,.lesson-builder-preview{border:1px solid var(--color-border);border-radius:12px;padding:.65rem;background:var(--color-surface);display:grid;gap:.45rem;align-content:start}.lesson-builder-canvas{display:grid;gap:.6rem}.lesson-builder-block{padding:.65rem}.lesson-builder-block-head{margin-bottom:.45rem}.lesson-builder-rich .tiptap{min-height:120px;border:1px solid var(--color-border);border-radius:10px;padding:.55rem;background:var(--color-surface)}.builder-editor-card{border:1px solid var(--color-border);border-radius:10px;padding:.55rem;display:grid;gap:.5rem}.builder-editor-head{display:flex;justify-content:space-between}.builder-row{display:flex;gap:.45rem;align-items:center}.builder-row-wrap{flex-wrap:wrap}.builder-stack{display:grid;gap:.45rem}.builder-question{border:1px dashed var(--color-border);border-radius:10px;padding:.5rem;display:grid;gap:.4rem}.builder-question-head{display:flex;align-items:center;gap:.45rem}.builder-dropzone{border:1px dashed var(--color-border);border-radius:10px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.35rem}.builder-chip{padding:.2rem .4rem;border-radius:999px;border:1px solid var(--color-border);font-size:.75rem}.lesson-preview-json{white-space:pre-wrap;font-size:.75rem;line-height:1.35;max-height:70vh;overflow:auto}@media (max-width: 1100px){.lesson-builder-grid{grid-template-columns:1fr}}.teacher-course-studio{display:flex;flex-direction:column;gap:.75rem;padding-bottom:2rem}.teacher-course-studio.is-resizing,.teacher-course-studio.is-resizing *{-webkit-user-select:none!important;user-select:none!important}.cs-studio-top{display:flex;flex-direction:column;gap:.55rem}.cs-studio-top-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.45rem .8rem}.cs-studio-title-block{grid-column:1 / -1}.cs-back-link{text-decoration:none}.cs-studio-h1{margin:0;font-size:1.45rem}.cs-studio-save-pill{font-size:.82rem;color:var(--color-muted);min-height:1.25rem}.cs-studio-save-pill[data-state=saved]{color:#059669}.cs-studio-save-pill[data-state=dirty]{color:#d97706}.cs-studio-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.cs-studio-hint{margin:0;max-width:56rem}.cs-studio-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:.85rem;align-items:start}.teacher-course-studio.is-preview-open .cs-studio-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr) minmax(280px,360px)}.teacher-course-studio.is-content-collapsed .cs-studio-grid{grid-template-columns:54px minmax(0,1fr)}.teacher-course-studio.is-content-collapsed.is-preview-open .cs-studio-grid{grid-template-columns:54px minmax(0,1fr) minmax(280px,360px)}@media (max-width: 1200px){.cs-studio-grid{grid-template-columns:1fr}}.cs-studio-center{padding:.85rem 1rem;display:flex;flex-direction:column;gap:.75rem;min-height:420px}.cs-content-column{display:flex;flex-direction:column;gap:.4rem;min-width:0}.cs-content-column-head{display:flex;align-items:center;justify-content:space-between;padding:.3rem .1rem}.cs-course-banner{width:100%;padding:.35rem .6rem;border:1px solid rgba(16,185,129,.28);background:linear-gradient(130deg,#10b98114,#3b82f60f);display:grid;gap:.2rem}.cs-course-banner-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}.cs-course-banner-name,.cs-course-banner-desc{display:grid;gap:.2rem}.cs-course-cover-row{display:flex;align-items:center;gap:.55rem}.cs-course-cover-preview{width:72px;height:44px;border-radius:8px;border:1px solid rgba(148,163,184,.38);background:#f1f5f9eb;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);flex-shrink:0}.cs-course-cover-preview img{width:100%;height:100%;object-fit:cover;display:block}.cs-course-cover-actions{display:flex;gap:.35rem;flex-wrap:wrap}.cs-course-banner-name input{font-size:.98rem;font-weight:700;min-height:34px}.cs-course-banner-desc textarea{min-height:34px;max-height:120px;overflow-y:auto;resize:vertical}.cs-course-banner-code{display:grid;gap:.2rem;justify-items:end}.cs-course-banner-code code{font-size:.96rem;padding:.18rem .45rem;border-radius:8px;background:#0f172a14}@media (max-width: 900px){.cs-course-banner-row{grid-template-columns:1fr}.cs-course-banner-code{justify-items:start}}.cs-content-toggle-btn{border-color:#10b98159;background:linear-gradient(180deg,#10b98124,#0d948833);color:#065f46;box-shadow:0 0 0 1px #10b9812e}.cs-content-toggle-btn:hover{filter:brightness(.97)}.teacher-course-studio.is-content-collapsed .cs-content-column{align-items:center}.teacher-course-studio.is-content-collapsed .cs-content-column-head strong{display:none}.cs-col-resizer{width:12px;margin:0;cursor:col-resize;border-radius:8px;align-self:stretch;min-height:100%;background:linear-gradient(180deg,#94a3b817,#94a3b833);box-shadow:inset 0 0 0 1px #94a3b829;position:relative}.cs-col-resizer:hover{background:linear-gradient(180deg,#10b98133,#10b9815c);box-shadow:inset 0 0 0 1px #05966952,0 0 0 1px #10b98126}.cs-col-resizer:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:44px;border-radius:999px;background:#64748b73}.course-join-code{display:inline-flex;align-items:center;gap:.24rem;border:1px solid rgba(148,163,184,.35);border-radius:7px;padding:.04rem .32rem;background:#94a3b814;cursor:copy;min-width:0;max-width:100%}.course-join-code code{font-size:.74rem;display:inline-block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.course-join-code-hint{font-size:.64rem;color:var(--color-muted)}.course-join-code.is-copied{border-color:#10b9817a;background:#10b98124}.cs-editor-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-bottom:.55rem;border-bottom:1px solid rgba(148,163,184,.25)}.cs-word-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;position:sticky;top:.25rem;z-index:7;background:var(--color-surface);padding:.35rem;border:1px solid rgba(148,163,184,.25);border-radius:10px}.cs-tests-ready{font-size:.8rem;color:#047857;font-weight:600}.cs-info-strip{padding:.55rem .7rem;display:grid;gap:.25rem}.cs-studio-save-note{margin:0}.cs-panel-title{margin:0 0 .35rem;font-size:1.15rem}.cs-empty-editor h2,.cs-module-settings h2{margin:0 0 .35rem;font-size:1.2rem}.cs-module-flags{margin-top:.65rem;padding:.65rem;display:grid;gap:.4rem}.cs-module-flags-title{font-size:.95rem}.cs-flag{display:flex;align-items:center;gap:.45rem;font-size:.88rem;cursor:pointer}.cs-lesson-title-field{display:grid;gap:.25rem;font-weight:600}.cs-lesson-split{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}@media (max-width: 900px){.cs-lesson-split{grid-template-columns:1fr}}.cs-block-library{border:1px solid var(--color-border);border-radius:12px;padding:.65rem;background:var(--color-surface);position:sticky;top:.5rem;z-index:6}.cs-block-library-head strong{display:block;margin-bottom:.25rem}.cs-block-library-hint{margin:0 0 .5rem}.cs-block-library-grid{display:flex;flex-wrap:wrap;gap:.35rem}.cs-block-pill{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--color-border);background:#ffffff0a;cursor:pointer;transition:border-color .15s ease,background .15s ease;min-width:164px}.cs-block-pill:hover{border-color:#0d948873}.cs-block-pill-label{font-weight:650;font-size:.88rem}.cs-block-pill-hint{font-size:.76rem;line-height:1.25}.cs-lesson-canvas-head strong{display:block}.cs-lesson-canvas{display:flex;flex-direction:column;gap:.5rem}.cs-lesson-block-list{max-width:100%}.cs-empty-canvas{padding:1rem}.cs-lesson-block-list{display:flex;flex-direction:column;gap:.55rem}.cs-lesson-block{padding:.6rem .65rem}.cs-lesson-block-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem}.cs-lesson-block-grip{cursor:grab;color:var(--color-muted);display:flex}.cs-lesson-block-badge{font-size:.72rem;font-weight:700;padding:.12rem .4rem;border-radius:6px;background:#0d94881f;color:#0f766e}.cs-lesson-block-type{font-size:.85rem;font-weight:650;flex:1}.cs-lesson-block-remove{margin-left:auto}.cs-lesson-block-fields{display:grid;gap:.45rem}.cs-monaco-wrap{border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.cs-quill-wrap .ql-toolbar.ql-snow{position:sticky;top:.2rem;z-index:3;background:var(--color-surface);border-top-left-radius:8px;border-top-right-radius:8px}.cs-quill-wrap .ql-container.ql-snow{min-height:360px;font-size:1.04rem;line-height:1.55;background:linear-gradient(180deg,#ffffffe0,#fffffff5)}.cs-quill-wrap .ql-editor{padding:1rem 1rem 1.2rem}.cs-quill-wrap--text .cs-text-block-note{font-size:.8rem;color:#0f766e;background:#10b98114;border:1px solid rgba(16,185,129,.22);border-radius:8px;padding:.38rem .55rem;margin-bottom:.38rem}.cs-quill-wrap .ql-toolbar.ql-snow .ql-formats{margin-right:10px}.cs-quill-wrap .ql-snow .ql-picker{font-size:13px}.cs-quill-wrap .ql-snow .ql-picker-label,.cs-quill-wrap .ql-snow .ql-picker-item{line-height:1.2}.cs-quill-wrap .ql-toolbar button,.cs-quill-wrap .ql-toolbar .ql-picker-label{height:26px}.cs-quill-wrap .ql-toolbar button{width:28px;height:26px}.cs-quill-wrap .ql-toolbar .ql-picker.ql-header,.cs-quill-wrap .ql-toolbar .ql-picker.ql-font,.cs-quill-wrap .ql-toolbar .ql-picker.ql-size{width:auto;min-width:74px}.cs-quill-wrap .ql-toolbar .ql-picker.ql-header .ql-picker-label,.cs-quill-wrap .ql-toolbar .ql-picker.ql-font .ql-picker-label,.cs-quill-wrap .ql-toolbar .ql-picker.ql-size .ql-picker-label{width:auto;padding-right:18px}.cs-quill-wrap .ql-editor p{margin:0 0 .62rem}.cs-quill-wrap .ql-editor p:last-child{margin-bottom:0}.cs-lesson-preview{border:1px solid var(--color-border);border-radius:12px;padding:.65rem;background:var(--color-surface)}.cs-lesson-preview-head strong{display:block;margin-bottom:.25rem}.cs-lesson-preview-body{margin-top:.45rem;padding:.65rem;max-height:72vh;overflow:auto}.cs-lesson-preview-md{font-size:.92rem;line-height:1.5}.cs-empty-preview{margin:.5rem 0 0}.cs-structure-panel{border:1px solid var(--color-border);border-radius:12px;padding:.65rem;background:var(--color-surface);max-height:78vh;overflow:auto}.cs-structure-head strong{display:block}.cs-structure-actions{margin:.45rem 0;display:flex;flex-wrap:wrap;gap:.35rem}.cs-tree-section{margin-bottom:.5rem;border-radius:10px;border:1px solid rgba(148,163,184,.25);overflow:hidden}.cs-tree-section-summary{list-style:none;display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem;font-weight:650}.cs-tree-section-summary::-webkit-details-marker{display:none}.cs-tree-section-title-input{flex:1;font:inherit;font-weight:650;border:none;background:transparent;min-width:0}.cs-tree-section-body{padding:.45rem .55rem .65rem;border-top:1px solid rgba(148,163,184,.15)}.cs-tree-add-mod{width:100%;margin-bottom:.5rem;justify-content:center;display:inline-flex;gap:.35rem;align-items:center}.cs-tree-module{margin-bottom:.45rem}.cs-tree-module-head{width:100%;display:flex;align-items:center;gap:.35rem;padding:.4rem .45rem;border-radius:8px;border:1px solid transparent;background:#94a3b814;font-weight:600}.cs-tree-module-head.is-active{border-color:#0d948873;background:#f0fdfa80}.cs-tree-module-name{flex:1;min-width:0}.cs-tree-module-steps{margin:.35rem 0 0 .5rem;display:flex;flex-direction:column;gap:.5rem}.cs-tree-module-title{flex:1;display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;font-weight:700}.cs-tree-module-edit,.cs-tree-step-edit{width:100%;min-width:0;border:1px solid rgba(16,185,129,.45);border-radius:8px;padding:.32rem .45rem;background:var(--color-surface)}.cs-expand-btn{border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);cursor:pointer;padding:.1rem}.cs-module-add-wrap{position:relative}.cs-module-add-menu{position:absolute;top:100%;right:0;z-index:8;min-width:170px;padding:.35rem;display:grid;gap:.15rem}.cs-module-add-menu>button{border:none;background:transparent;border-radius:8px;text-align:left;padding:.35rem .45rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.cs-module-add-menu>button:hover{background:#94a3b824}.cs-tree-step{width:100%;display:flex;align-items:center;gap:.4rem;text-align:left;padding:.35rem .45rem;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:var(--color-surface);cursor:pointer;font-size:.86rem}.cs-tree-step.is-lesson{border-color:#2563eb40}.cs-tree-step.is-quiz{border-color:#7c3aed40}.cs-tree-step.is-assignment{border-color:#d9770640}.cs-tree-step.is-active{border-color:#0d948880;box-shadow:0 0 0 1px #0d948826}.cs-tree-step-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-tree-step-kind{font-size:.72rem}.cs-step-group{border-left:2px solid rgba(148,163,184,.22);padding-left:.5rem}.cs-step-group-title{margin:0 0 .25rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.cs-step-group-title.is-lesson{color:#2563eb}.cs-step-group-title.is-assignment{color:#d97706}.cs-step-group-title.is-quiz{color:#7c3aed}.cs-step-empty{margin:.2rem 0 .35rem}.cs-empty-state{padding:.55rem;display:grid;gap:.25rem}.cs-empty-state p{margin:0}.cs-module-flags{border:1px solid rgba(16,185,129,.2);background:linear-gradient(180deg,#10b9810f,#10b98105)}.cs-flag{padding:.35rem .45rem;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--color-surface)}.cs-flag input{accent-color:#10b981}.cs-ai-toggle-btn{border-color:#7c3aed59;background:linear-gradient(180deg,#7c3aed1a,#0d948814);color:#5b21b6}.cs-ai-toggle-btn:hover{filter:brightness(.98)}.cs-ai-panel{width:100%;border:1px solid rgba(124,58,237,.28);background:linear-gradient(155deg,#7c3aed14,#10b9810f);display:grid;gap:.55rem;padding:.65rem}.cs-ai-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem}.cs-ai-panel-head strong{display:inline-flex;align-items:center;gap:.35rem;color:#4c1d95}.cs-ai-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cs-ai-panel-grid label{display:grid;gap:.2rem;font-size:.84rem}.cs-ai-panel-actions{display:flex;justify-content:flex-end}.cs-ai-busy{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:#4c1d95;background:#7c3aed1f;border:1px solid rgba(124,58,237,.28);border-radius:999px;padding:.2rem .55rem}.cs-ai-busy-spin{animation:cs-ai-spin .85s linear infinite}@keyframes cs-ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.cs-ai-panel-grid{grid-template-columns:1fr}}.cs-step-row-wrap{display:flex;align-items:center;gap:.2rem}.cs-step-row-wrap-group{display:grid;gap:.15rem}.cs-step-row-wrap .cs-tree-step{flex:1}.cs-step-delete{flex-shrink:0;opacity:1;visibility:visible}.cs-tree-add-mod{background:linear-gradient(180deg,#34d399,#10b981);color:#fff;border-color:transparent}.cs-tree-add-mod:hover{filter:brightness(.96)}.cs-lesson-block.is-focused{border-color:#10b98180;box-shadow:0 0 0 1px #10b98133}.student-course-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.2rem;color:var(--color-text-muted);font-size:.82rem;line-height:1.35;min-height:2.3em;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 640px){.student-course-grid{grid-template-columns:1fr}.student-course-card{min-height:15.5rem;height:15.5rem;max-height:15.5rem}}.student-lesson-blocks{display:grid;gap:.75rem}.student-lesson-rich .ql-align-center{text-align:center}.student-lesson-rich .ql-align-right{text-align:right}.student-lesson-rich .ql-align-justify{text-align:justify}.student-lesson-rich p{margin:0 0 .7rem}.student-lesson-rich p:last-child{margin-bottom:0}.student-lesson-media{margin:0;display:grid;gap:.35rem}.student-lesson-media img,.student-lesson-media video{width:100%;max-height:62vh;object-fit:contain;border-radius:10px;border:1px solid var(--color-border);background:#0b1020}.student-lesson-media figcaption{color:var(--color-muted);font-size:.84rem}.student-lesson-audio{display:grid;gap:.35rem}.student-lesson-file,.student-lesson-callout,.student-lesson-discussion,.student-lesson-poll{padding:.65rem;display:grid;gap:.35rem}.student-lesson-poll ul{margin:0;padding-left:1.1rem}.student-lesson-poll li{margin:.2rem 0}.cs-quiz-builder{display:flex;flex-direction:column;gap:.65rem}.cs-quiz-builder-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:flex-start}.cs-quiz-toolbar{display:flex;flex-wrap:wrap;gap:.35rem}.cs-quiz-settings{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;padding:.55rem}.cs-quiz-settings label{display:grid;gap:.2rem;font-size:.85rem}.cs-template-row,.cs-kind-row{display:flex;flex-direction:column;gap:.35rem}.cs-template-chips,.cs-kind-chips{display:flex;flex-wrap:wrap;gap:.35rem}.cs-import-box{padding:.65rem}.cs-question-stack{display:flex;flex-direction:column;gap:.55rem}.cs-question-card{padding:.6rem;display:grid;gap:.45rem}.cs-question-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.cs-question-card-actions{margin-left:auto;display:flex;gap:.15rem}.cs-matching-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.cs-correct-pick{display:grid;gap:.35rem;margin-top:.2rem}.cs-correct-option{display:flex;align-items:center;gap:.5rem;border:1px solid var(--color-border);border-radius:10px;padding:.45rem .55rem;background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.cs-correct-option input{flex-shrink:0}.cs-correct-option span{min-width:0;font-size:.88rem}.cs-span-2{grid-column:1 / -1}.cs-assignment-builder{display:grid;gap:.55rem}.cs-rubric-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.cs-rubric-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.cs-rubric-list li{display:flex;gap:.35rem;align-items:center}.cs-rubric-list input{flex:1}.teacher-hub-lead{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.1rem}.teacher-hub-lead-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0d94881f;color:#0f766e}.teacher-hub-h2{margin:0 0 .35rem}.teacher-hub-lead-text{margin:0;max-width:52rem}.teacher-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.teacher-hub-card{padding:.85rem;display:flex;flex-direction:column;gap:.65rem;min-height:140px}.teacher-hub-card{position:relative}.teacher-hub-card-body{flex:1;display:flex;flex-direction:column;gap:.35rem}.teacher-hub-open{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:.35rem}.teacher-hub-delete{position:absolute;top:.5rem;right:.5rem;width:1.65rem;min-width:1.65rem;height:1.65rem;padding:0;justify-content:center;align-items:center;border-color:#ef444459;color:#b91c1c;background:#fef2f2b3;border-radius:8px;z-index:2}.teacher-hub-delete svg{width:14px;height:14px}.teacher-hub-delete:hover:not(:disabled){border-color:#ef444480;color:#991b1b;background:#fee2e2e6}.cs-right-preview{position:sticky;top:.6rem;max-height:calc(100vh - 1.2rem);overflow:auto;padding:.65rem}.cs-right-preview .cs-lesson-preview{border:none;padding:0}.cs-generic-preview h3{margin:0 0 .45rem}.cs-preview-list{margin:.35rem 0 0;padding-left:1.15rem;display:grid;gap:.25rem}.task-quiz-order-list{margin:.35rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.task-quiz-order-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-quiz-order-btns{display:flex;gap:.15rem}.task-quiz-match-list{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.45rem}.task-quiz-match-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.task-quiz-match-left{flex:1;min-width:140px;font-weight:600}.task-quiz-match-select{min-width:180px}:root[data-theme=dark] .cs-block-pill{background:#0f172a80}:root[data-theme=dark] .cs-tree-module-head{background:#1e293b80}:root[data-theme=dark] .teacher-course-studio :where(input,select,textarea){background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .teacher-course-studio :where(input,select,textarea)::placeholder{color:#94a3b8d1}:root[data-theme=dark] .teacher-course-studio :where(input,select,textarea):focus{border-color:#2dd4bf85;box-shadow:0 0 0 3px #2dd4bf2e}:root[data-theme=dark] .teacher-course-studio .cs-tree-section-title-input{background:transparent;border-color:transparent;color:#e2e8f0}:root[data-theme=dark] .teacher-course-studio .cs-tree-module-edit,:root[data-theme=dark] .teacher-course-studio .cs-tree-step-edit,:root[data-theme=dark] .teacher-course-studio .cs-tree-step{background:#0f172ab8;border-color:#4755698c;color:#e2e8f0}:root[data-theme=dark] .teacher-course-studio .cs-course-banner{border-color:#2dd4bf59;background:linear-gradient(130deg,#0d94882e,#1e40af29)}:root[data-theme=dark] .teacher-course-studio .cs-course-banner-code code{background:#0f172a8c;color:#dbeafe}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-toolbar.ql-snow{background:#0f172aeb;border-color:#47556999}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-container.ql-snow{background:#0f172aeb;border-color:#47556999}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-editor{color:#e2e8f0}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-editor.ql-blank:before{color:#94a3b8cc}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-snow .ql-stroke{stroke:#cbd5e1}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-snow .ql-fill{fill:#cbd5e1}:root[data-theme=dark] .teacher-course-studio .cs-quill-wrap .ql-snow .ql-picker{color:#cbd5e1}:root[data-theme=dark] .dashboard-root[data-role=teacher] .teacher-hub-delete{border-color:#f8717180;color:#fecaca;background:#7f1d1d47}:root[data-theme=dark] .dashboard-root[data-role=teacher] .teacher-hub-delete:hover:not(:disabled){border-color:#f87171b3;color:#ffe4e6;background:#991b1b6b}:root[data-theme=dark] .teacher-course-cover,:root[data-theme=dark] .student-course-card-cover,:root[data-theme=dark] .cs-course-cover-preview{border-color:#475569b3;background:#0f172ab8;color:#9fb0c8}:root[data-theme=dark] .task-work-card--studio{border-color:#2dd4bf47;background:linear-gradient(180deg,#064e3b33,#0f172af5 14%);box-shadow:0 18px 40px #02061775}:root[data-theme=dark] .task-work-title-strip{border-bottom-color:#2dd4bf2e;background:#0f172ab8}:root[data-theme=dark] .task-work-hero{border-bottom-color:#2dd4bf33;background:linear-gradient(125deg,#0f172af0,#064e3b4d)}:root[data-theme=dark] .task-work-chat-cta{border-color:#2dd4bf57;background:#0f172adb;box-shadow:0 8px 24px #0206175c}:root[data-theme=dark] .task-work-chat-cta-label{color:#7cf3de}:root[data-theme=dark] .task-hints-details{border-top-color:#47556985;background:linear-gradient(180deg,#0f172a9e,#78350f33)}:root[data-theme=dark] .task-panel{border-bottom-color:#4755696b}:root[data-theme=dark] .task-panel--brief{background:#0f172aad}:root[data-theme=dark] .task-panel--hints{background:linear-gradient(180deg,#78350f33,#0f172ab8)}:root[data-theme=dark] .task-panel--code{background:#02061780}:root[data-theme=dark] .task-panel--run{background:#312e813d}:root[data-theme=dark] .task-panel__title{color:#9fb0c8}:root[data-theme=dark] .task-submit-row--primary{border-top-color:#2dd4bf47;background:linear-gradient(180deg,#0f172ab8,#064e3b3d)}:root[data-theme=dark] .tasks-result-card--nested{border-top-color:#2dd4bf4d;background:linear-gradient(180deg,#0f172ad6,#111b2ff0)}:root[data-theme=dark] .tasks-test-single-card{background:#0f172ab8;border-color:#4755698f}:root[data-theme=dark] .tasks-test-single-card.is-pass{border-color:#2dd4bf70}:root[data-theme=dark] .tasks-test-single-card.is-fail{border-color:#fb718575}:root[data-theme=dark] .peer-msg-composer-bar .input-textarea,:root[data-theme=dark] .peer-messages-composer .input-textarea,:root[data-theme=dark] .peer-messages-composer .input-field,:root[data-theme=dark] .peer-messages-link-field{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .peer-msg-composer-bar .input-textarea::placeholder,:root[data-theme=dark] .peer-messages-composer .input-textarea::placeholder,:root[data-theme=dark] .peer-messages-composer .input-field::placeholder,:root[data-theme=dark] .peer-messages-link-field::placeholder{color:#94a3b8d1}:root[data-theme=dark] .peer-msg-composer-bar .input-textarea:focus,:root[data-theme=dark] .peer-messages-composer .input-textarea:focus,:root[data-theme=dark] .peer-messages-composer .input-field:focus,:root[data-theme=dark] .peer-messages-link-field:focus{border-color:#2dd4bf85;box-shadow:0 0 0 3px #2dd4bf2e}:root[data-theme=dark] .wall-comment,:root[data-theme=dark] .wall-comment--reply{border-color:#47556980;background:#0f172ab8}:root[data-theme=dark] .wall-comment-head,:root[data-theme=dark] .wall-comment-body,:root[data-theme=dark] .wall-comment-actions{color:#dbe8ff}:root[data-theme=dark] .wall-comment-composer{border-color:#47556980;background:#0f172aad}:root[data-theme=dark] .wall-comment-composer input,:root[data-theme=dark] .wall-comment-composer textarea,:root[data-theme=dark] .wall-comment-composer .input-field,:root[data-theme=dark] .wall-comment-composer .input-textarea{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .wall-comment-composer input::placeholder,:root[data-theme=dark] .wall-comment-composer textarea::placeholder,:root[data-theme=dark] .wall-comment-composer .input-field::placeholder,:root[data-theme=dark] .wall-comment-composer .input-textarea::placeholder{color:#94a3b8d1}:root[data-theme=dark] .chat-log{background:linear-gradient(180deg,#0f172acc,#0f172aeb);border-color:#47556994;color:#dce8fb}:root[data-theme=dark] .material-page-toolbar--lecture,:root[data-theme=dark] .material-lecture-heading,:root[data-theme=dark] .material-page-title,:root[data-theme=dark] .material-lecture-topic-line,:root[data-theme=dark] .material-lecture-hint{color:#dce8fb}:root[data-theme=dark] .material-lecture-pager{background:linear-gradient(135deg,#0f172abd,#111b2fe6 65%,#0f172af2);border-color:#2dd4bf57;box-shadow:0 8px 26px #02061761}:root[data-theme=dark] .material-lecture-pager-side{background:#0f172ac7;border-color:#47556994;color:#dce8fb}:root[data-theme=dark] .material-lecture-pager-side:hover:not(:disabled){background:#0f172af5;border-color:#2dd4bf73;box-shadow:0 6px 16px #02061752}:root[data-theme=dark] .task-chip{background:#0f172ac7;border-color:#4755698f;color:#dce8fb;box-shadow:0 2px 10px #02061747}:root[data-theme=dark] .task-chip:hover{background:#0f172aeb;border-color:#2dd4bf6b;box-shadow:0 6px 18px #02061759}:root[data-theme=dark] .course-analytics-overlay-panel{background:#111b2f;box-shadow:0 0 0 1px #47556973,-12px 0 60px #00000073}:root[data-theme=dark] .course-analytics-overlay-head{border-bottom-color:#47556980;background:linear-gradient(180deg,#0d948833,#0f172ab8 72%)}:root[data-theme=dark] .course-analytics-overlay-head-text,:root[data-theme=dark] .course-analytics-overlay-title,:root[data-theme=dark] .course-analytics-overlay-eyebrow{color:#e2e8f0}:root[data-theme=dark] .course-analytics-period-pill{background:#1e293bd1;border-color:#4755698c;color:#dbe8ff}:root[data-theme=dark] .course-analytics-period-pill.is-active{background:#0d94883d;border-color:#2dd4bf80;color:#99f6e4}:root[data-theme=dark] .course-analytics-days-field input[type=number]{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .course-analytics-overlay-body{background:linear-gradient(180deg,#0f172aa6,#0f172adb)}:root[data-theme=dark] .course-analytics-overlay-body .insights-section.card,:root[data-theme=dark] .course-analytics-overlay-body .insights-kpi-card,:root[data-theme=dark] .course-analytics-overlay-body .insights-pro-grid .card{background:#0f172ab8!important;border-color:#4755698c!important}:root[data-theme=dark] .course-analytics-overlay-toolbar .btn{background:#1e293bcc;border-color:#4755698c;color:#dbe8ff}:root[data-theme=dark] .course-analytics-overlay-toolbar .btn:hover{background:#334155e6}:root[data-theme=dark] .page.insights-pro,:root[data-theme=dark] .teacher-insights-page{background:transparent}:root[data-theme=dark] .analytics-page-modern{background:linear-gradient(180deg,#0f172ac7,#0f172ae6 30%,#020617f5)}:root[data-theme=dark] .analytics-modern-hero{border-color:#4755698c;background:linear-gradient(135deg,#0f172ae6,#1e293bd6);box-shadow:0 10px 34px #02061759}:root[data-theme=dark] .analytics-modern-hero-text h1{color:#f1f5f9}:root[data-theme=dark] .analytics-modern-hero-text p{color:#cbd5e1}:root[data-theme=dark] .analytics-modern-hero .insights-modern-course,:root[data-theme=dark] .teacher-dash-lead-strip .insights-pro-course{color:#99f6e4}:root[data-theme=dark] .insights-tab{background:#1e293bcc;border-color:#4755698c;color:#cbd5e1}:root[data-theme=dark] .insights-tab:hover{border-color:#2dd4bf59;color:#99f6e4;background:#0d948826}:root[data-theme=dark] .insights-tab.is-active{background:#0d948838;border-color:#2dd4bf80;color:#99f6e4}:root[data-theme=dark] .insights-field select,:root[data-theme=dark] .insights-field input[type=number],:root[data-theme=dark] .insights-toolbar input[type=number]{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .insights-mini-nav{border-top-color:#47556980}:root[data-theme=dark] .insights-mini-nav-btn{background:#1e293bcc;border-color:#4755698c;color:#cbd5e1}:root[data-theme=dark] .insights-mini-nav-btn:hover{border-color:#7c3aed73;background:#4c1d9533;color:#ddd6fe}:root[data-theme=dark] .insights-kpi-card,:root[data-theme=dark] .insights-section .card,:root[data-theme=dark] .insights-pro-toolbar-card,:root[data-theme=dark] .insights-struggle-item,:root[data-theme=dark] .insights-inactive-li,:root[data-theme=dark] .insights-class-ai-card{background:#0f172abd;border-color:#4755698c;box-shadow:0 8px 24px #02061747}:root[data-theme=dark] .insights-kpi-accent{background:linear-gradient(160deg,#0d948838,#0f172ac7)}:root[data-theme=dark] .insights-kpi-violet{background:linear-gradient(160deg,#7c3aed38,#0f172ac7)}:root[data-theme=dark] .insights-roster-table th,:root[data-theme=dark] .insights-roster-table td{border-color:#47556980;background:transparent;color:#dbe8ff}:root[data-theme=dark] .insights-roster-table tr{background:#0f172a66}.dashboard-course-filter{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem}.dashboard-course-filter-input{flex:1;min-width:0;max-width:28rem;height:2rem;padding:.35rem .65rem;font-size:.84rem;border-radius:999px}.dashboard-course-filter-count{white-space:nowrap;font-variant-numeric:tabular-nums}:root[data-theme=dark] .dashboard-course-filter-input{background:#0f172adb;border-color:#4755699e;color:#e2e8f0}:root[data-theme=dark] .dashboard-course-filter-input::placeholder{color:#94a3b8d1}:root[data-theme=dark] .teacher-profile-badge-sample{border-color:#2dd4bf73;background:#0d948829;color:#99f6e4}:root[data-theme=dark] .teacher-profile-badge-sample--muted{border-color:#4755698c;background:#1e293bb8;color:#cbd5e1}:root[data-theme=dark] .student-profile-badges-earned{border-top-color:#2dd4bf47}.landing .hero.landing-showcase .hero-inner.hero-inner--single .hero-copy{max-width:min(56rem,100%);gap:clamp(.85rem,1.8vw,1.2rem)}.landing{background:#fff!important}.landing .hero.landing-showcase .hero-title{max-width:23ch;margin-bottom:.82rem;letter-spacing:-.04em}.landing .hero.landing-showcase .hero-title.hero-title--brand-hero{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.42rem,1.2vw,.62rem);max-width:min(100%,22rem);letter-spacing:normal;line-height:1.05}.landing .hero.landing-showcase .hero-title.hero-title--brand-hero .hero-title__lead{font-size:clamp(1.02rem,2.35vw,1.42rem);font-weight:650;letter-spacing:-.028em;line-height:1.38;max-width:26ch;text-wrap:balance}.landing .section,.landing-showcase.section:not(.hero),.landing-popular-courses{background:#fff!important}.landing .landing-v2-unified,.landing .landing-v2-unified:before,.landing .landing-v2-unified:after{background:#fff!important}:root[data-theme=dark] .landing .section,:root[data-theme=dark] .landing-showcase.section:not(.hero),:root[data-theme=dark] .landing .landing-v2-unified,:root[data-theme=dark] .landing .landing-v2-unified:before,:root[data-theme=dark] .landing .landing-v2-unified:after,:root[data-theme=dark] .landing .landing-popular-courses{background:#0f172a!important}:root[data-theme=dark] .landing .school-spotlight{background:linear-gradient(150deg,#0f766e4d,#0f172af0 48%,#1e1b4b61);border-color:#2dd4bf57;box-shadow:0 14px 34px #0206176b,0 0 0 1px #2dd4bf1a inset}:root[data-theme=dark] .landing .cta-card{background:linear-gradient(135deg,#0f766e,#0f172a 56%,#312e81);border:1px solid rgba(45,212,191,.3);box-shadow:0 18px 40px #02061775,0 0 0 1px #6366f12e inset}.hero-gradient-text{display:inline-block}.hero-gradient-text:after{content:none}.landing .hero.landing-showcase .hero-subtitle,.landing .hero.landing-showcase .hero-copy .hero-subtitle{max-width:52ch;margin:0 auto;font-size:clamp(1.04rem,1.7vw,1.2rem);line-height:1.65;color:#475569}.landing .hero.landing-showcase .hero-cta.hero-cta--landing.hero-cta--with-login{justify-content:center;align-items:center;gap:.8rem 1rem;margin-top:.35rem}.landing .hero.landing-showcase .hero-cta.hero-cta--landing.hero-cta--with-login .btn{min-width:14.5rem}.landing .hero.landing-showcase .hero-cta-login-inline{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.55rem .92rem;border-radius:.8rem;border:1px solid rgba(148,163,184,.3);background:#ffffffb3;color:#334155;font-weight:650;text-decoration:none}.landing .hero.landing-showcase .hero-cta-login-inline:hover{background:#f1f5f9eb;text-decoration:none}.landing .hero.landing-showcase .hero-inner.hero-inner--single{position:relative}.hero-float{position:absolute;display:inline-flex;align-items:center;gap:.34rem;padding:.36rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.26);background:#fffc;color:#334155;font-size:.68rem;font-weight:640;line-height:1.2;box-shadow:0 10px 26px #0f172a14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-float svg{flex-shrink:0;color:#4f46e5}.hero-float--a{top:4%;left:54%}.hero-float--b{top:18%;right:8%}.hero-float--c{bottom:10%;right:12%}.landing .landing-popular-head{max-width:42rem;margin-bottom:1.35rem}.landing .landing-popular-lead{text-align:center;margin-left:auto;margin-right:auto}.landing .landing-v2-mosaic--lite .landing-v2-mosaic-item,.landing .school-spotlight,.landing .cta-card{border-radius:1rem}.landing .cta-card,.landing .cta-card h2,.landing .cta-card p,.landing .cta-card .hero-cta,.landing .cta-card-login{text-align:center;justify-content:center;margin-left:auto;margin-right:auto}.landing .cta-card .hero-cta.hero-cta--landing.cta-card-actions,.landing .cta-card .hero-cta.hero-cta--landing.cta-card-actions .btn,.landing .cta-card .cta-card-login-link{margin-left:auto;margin-right:auto;text-align:center}.landing .landing-v2-mosaic--lite .landing-v2-mosaic-item{border-color:#94a3b838;box-shadow:0 8px 24px #0f172a0f}.landing .landing-v2-mosaic--lite .landing-v2-mosaic-h{font-size:1rem;letter-spacing:-.02em}.landing .landing-v2-mosaic--lite .landing-v2-mosaic-p{font-size:.86rem;line-height:1.5}:root[data-theme=dark] .landing .hero.landing-showcase .hero-subtitle,:root[data-theme=dark] .landing .hero.landing-showcase .hero-copy .hero-subtitle{color:#b8c9e2}:root[data-theme=dark] .landing .hero.landing-showcase .hero-cta-login-inline{background:#0f172ab8;border-color:#94a3b857;color:#dbe7fb}:root[data-theme=dark] .hero-float{background:#0f172ab8;border-color:#94a3b857;color:#dbe7fb}@media (max-width: 640px){.landing .hero.landing-showcase .hero-cta.hero-cta--landing.hero-cta--with-login{flex-direction:column;width:100%}.landing .hero.landing-showcase .hero-cta.hero-cta--landing.hero-cta--with-login .btn,.landing .hero.landing-showcase .hero-cta-login-inline{width:min(100%,20rem)}.hero-float{display:none}}.landing .hero.landing-showcase:has(.hero-inner--saas){--hero-inner-fill: calc(var(--hero-band) * .66);padding-top:.1rem;box-sizing:border-box}.landing .hero.landing-showcase .hero-inner.hero-inner--saas{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;padding-top:clamp(.1rem,.65vmin,.45rem);transform:translateY(clamp(-1rem,-2.6vh,-1.65rem))}@media (prefers-reduced-motion: reduce){.landing .hero.landing-showcase .hero-inner.hero-inner--saas{transform:none}}@media (max-width: 767px){.landing .hero.landing-showcase:has(.hero-inner--saas){padding-top:calc(var(--landing-nav-offset, var(--landing-nav-h)) + clamp(1rem,4vw,1.5rem))}.landing .hero.landing-showcase .hero-inner.hero-inner--saas{transform:none;padding-top:0;row-gap:1rem}.landing .hero.landing-showcase .hero-title.hero-title--brand-hero{margin-top:0}.landing .hero.landing-showcase .hero-copy{gap:.9rem}}.landing .hero.landing-showcase .hero-proof-line{margin:.3rem 0 0;font-size:.86rem;line-height:1.45;color:#64748b}.landing .hero-product{position:relative;width:100%;max-width:34rem}.landing .hero-product-glow{position:absolute;inset:auto 8% -8% 8%;height:42%;border-radius:999px;background:radial-gradient(ellipse at center,rgba(45,212,191,.3),rgba(99,102,241,.2) 45%,transparent 72%);filter:blur(18px);z-index:0;pointer-events:none}.landing .hero-product-frame{position:relative;z-index:1;border-radius:1rem;border:1px solid rgba(148,163,184,.26);background:linear-gradient(165deg,#fffffff0,#f8fafce6);box-shadow:0 20px 44px #0f172a24,0 0 0 1px #ffffffb3 inset;overflow:hidden}.landing .hero-product-head{display:flex;align-items:center;gap:.38rem;padding:.55rem .68rem;border-bottom:1px solid rgba(148,163,184,.22);background:#f1f5f9e6}.landing .hero-product-dot{width:.45rem;height:.45rem;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 1px #0f172a14 inset}.landing .hero-product-dot:nth-child(1){background:#ff5f57}.landing .hero-product-dot:nth-child(2){background:#ffbd2e}.landing .hero-product-dot:nth-child(3){background:#28c840}.landing .hero-product-head p{margin:0 0 0 .35rem;font-size:.72rem;font-weight:650;color:#475569}.landing .hero-product-strip{display:flex;flex-wrap:wrap;gap:.38rem;padding:.48rem .68rem .16rem}.landing .hero-product-strip span{display:inline-flex;align-items:center;gap:.26rem;padding:.24rem .48rem;border-radius:999px;font-size:.62rem;line-height:1;font-weight:700;color:#0f172a;background:#f1f5f9f5;border:1px solid rgba(148,163,184,.26)}.landing .hero-product-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem;padding:.78rem}.landing .hero-product-col{border-radius:.78rem;border:1px solid rgba(148,163,184,.22);background:#ffffffdb;padding:.62rem}.landing .hero-product-col h4{margin:0 0 .5rem;font-size:.72rem;font-weight:760;color:#0f172a;letter-spacing:-.01em}.landing .hero-product-col--before{border-color:#f43f5e33;background:linear-gradient(160deg,#fff1f2b3,#ffffffdb)}.landing .hero-product-col--before h4{color:#9f1239}.landing .hero-product-col--after{border-color:#14b8a63d;background:linear-gradient(160deg,#ecfdf5c2,#ffffffe6)}.landing .hero-product-col--after h4{color:#0f766e}.landing .hero-product-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0 0 .42rem}.landing .hero-product-kpis span{display:inline-flex;justify-content:center;align-items:center;min-height:1.12rem;border-radius:999px;font-size:.63rem;font-weight:760;color:#0f766e;background:linear-gradient(145deg,#14b8a629,#6366f11f);border:1px solid rgba(45,212,191,.34)}.landing .hero-product-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.landing .hero-product-col li{position:relative;padding-left:.78rem;font-size:.7rem;line-height:1.35;color:#334155}.landing .hero-product-col li:before{content:"";position:absolute;left:0;top:.34rem;width:.36rem;height:.36rem;border-radius:999px;background:#64748b73}.landing .hero-product-col--before li:before{background:#f43f5e8c}.landing .hero-product-col--after li:before{background:#14b8a6a6}.landing .hero-product-progress{height:.4rem;border-radius:999px;background:#94a3b838;overflow:hidden;margin-bottom:.35rem}.landing .hero-product-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#6366f1)}.landing .hero-product-ai{margin-top:.45rem;display:flex;gap:.34rem;align-items:flex-start}.landing .hero-product-ai p{margin:0;font-size:.68rem;line-height:1.35;color:#334155}.landing .hero-product-ok{margin-top:.42rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.66rem;color:#0f766e;font-weight:670}.landing .hero-product-ok--after{margin-top:.5rem;border-radius:999px;padding:.28rem .52rem;background:#14b8a61f}@media (max-width: 1023px){.landing .hero.landing-showcase .hero-inner.hero-inner--saas{grid-template-columns:1fr}.landing .hero-product{max-width:min(100%,30rem);margin:0 auto}.landing .hero-product-strip{padding-top:.44rem}.landing .hero.landing-showcase .hero-proof-line{text-align:center}}:root[data-theme=dark] .landing .hero-product-frame{background:linear-gradient(165deg,#0f172aeb,#121f35eb);border-color:#94a3b84d}:root[data-theme=dark] .landing .hero-product-glow{background:radial-gradient(ellipse at center,rgba(45,212,191,.38),rgba(99,102,241,.24) 45%,transparent 74%)}:root[data-theme=dark] .landing .hero-product-strip span{color:#dbe7fb;background:#0f172abd;border-color:#94a3b857}:root[data-theme=dark] .landing .hero-product-head{background:#0f172acc;border-bottom-color:#94a3b838}:root[data-theme=dark] .landing .hero-product-head p{color:#b8c9e2}:root[data-theme=dark] .landing .hero-product-col{background:#0f172aad;border-color:#94a3b842}:root[data-theme=dark] .landing .hero-product-col--before{background:linear-gradient(160deg,#4c05195c,#0f172ab8);border-color:#f43f5e4d}:root[data-theme=dark] .landing .hero-product-col--before h4{color:#fda4af}:root[data-theme=dark] .landing .hero-product-col--after{background:linear-gradient(160deg,#042f2e7a,#0f172ab8);border-color:#2dd4bf52}:root[data-theme=dark] .landing .hero-product-col--after h4{color:#7cf3de}:root[data-theme=dark] .landing .hero-product-col h4,:root[data-theme=dark] .landing .hero-product-col li,:root[data-theme=dark] .landing .hero-product-ai p{color:#dbe7fb}:root[data-theme=dark] .landing .hero-product-col--before li:before{background:#fb7185b3}:root[data-theme=dark] .landing .hero-product-col--after li:before{background:#2dd4bfc7}:root[data-theme=dark] .landing .hero-product-ok--after{background:#14b8a633}:root[data-theme=dark] .landing .hero-product-kpis span{color:#83f2df;background:linear-gradient(145deg,#14b8a633,#6366f133);border-color:#2dd4bf66}:root[data-theme=dark] .landing .hero.landing-showcase .hero-proof-line{color:#aac0dc}
