@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;600&family=Inter:wght@400;500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap";.rich-input{flex-direction:column;gap:6px;width:100%;display:flex}.rich-toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:relative}.rt-btn{color:#233024;cursor:pointer;background:#fff;border:1px solid #d7dfce;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;font-weight:700;display:inline-flex}.rt-btn:hover{background:#f2f5ed}.rt-color{cursor:pointer;border:1px solid #d7dfce;border-radius:8px;width:30px;height:30px;padding:0}.rt-color.open{outline-offset:1px;outline:3px solid #a4bc8d}.rich-palette{z-index:40;background:#fff;border:1px solid #dce4d6;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;top:34px;left:0;box-shadow:0 8px 30px #30482e22}.swatch{cursor:pointer;border:1px solid #dce4d6;border-radius:6px;width:24px;height:24px;padding:0}.swatch:hover{transform:scale(1.12)}.swatch-custom{cursor:pointer;background:conic-gradient(red,orange,#ff0,#0f0,#0ff,#00f,#f0f,red);border:1px dashed #b5c5a6;border-radius:6px;width:26px;height:26px;position:relative;overflow:hidden}.swatch-custom input{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.rich-edit{color:#233024;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box;background:#fff;border:1px solid #d7dfce;border-radius:12px;outline:none;width:100%;min-height:90px;padding:12px;font-size:16px;line-height:1.6}.rich-edit:focus{border-color:#85b957;box-shadow:0 0 0 3px #e9f0e2}.rich-edit.single-line{white-space:pre;min-height:44px;line-height:1.5;overflow-x:auto}.rich-edit:empty:before{content:attr(data-placeholder);color:#a3ad99;pointer-events:none}.rich-edit b,.rich-edit strong{font-weight:700}.rich-edit i,.rich-edit em{font-style:italic}.rich-edit u{text-decoration:underline}:root{color:#253027;font-synthesis:none;--green:#5f784a;--matcha:#dfe9d4;--line:#e1e7db;--red:#b54e55;--pink:#f1dfe1;background:#fff;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{background:var(--matcha);color:#253b25;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:800;display:inline-flex}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a4bc8d}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}h1{font-size:clamp(26px,4vw,40px)}h2{font-size:26px}h3{font-size:21px}p{line-height:1.6}small{color:#697661;line-height:1.5;display:block}header{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:88px;padding:20px 4vw;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand>svg{color:#718d53;width:35px;height:35px}.brand b{font-size:23px}.brand small{letter-spacing:.1em;font-size:11px}.account{align-items:center;gap:12px;display:flex}.account button{background:0 0}nav{gap:10px;width:210px;padding:24px 16px;display:grid;position:fixed;top:110px;left:0}nav button{background:0 0;justify-content:flex-start;padding:16px 12px;font-size:14px}nav button.active{background:var(--matcha)}main{max-width:1280px;min-height:75vh;margin:25px auto;padding:0 32px 70px 240px}article{border:1px solid var(--line);background:#fff;border-radius:26px;margin:20px 0;padding:26px;box-shadow:0 5px #e8ecdf50}article h3:first-child{margin-top:0}section>h2{align-items:center;gap:12px;display:flex}.row,.heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.heading{margin:20px 0}.actions,.modes{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid article{margin:0}.tag{background:#f2f5ed;border-radius:10px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-block}.decoration{color:#8da475}.assignment h2{margin:22px 0;font-size:30px}.assignment.current{background:#bdd2e4;border-color:#b4cbdc}.assignment.current .tag{background:#fff9}.assignment.gift{background:#e9f0f3;border-color:#d3e0e6}.assignment.complete{background:#dbe5cf;border-color:#c5d3b7}.praise{color:#344d2d;font-weight:800}.assignment>.row>svg{color:#648447;transform:rotate(-10deg)}.gift>.row>svg{color:#737d9c}progress{appearance:none;background:#e8ecdf;border:0;border-radius:10px;width:100%;height:8px;margin:24px 0;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#e8ecdf}progress::-webkit-progress-value{background:#7e9c5b;border-radius:10px}progress::-moz-progress-bar{background:#7e9c5b}.sync{text-align:right;color:#637b4f;padding:8px 4vw;font-size:12px}.sync.pending{color:#a2682b}.sync{min-height:34px}.notice{border-radius:12px;justify-content:space-between;margin:10px;padding:14px;display:flex}.error{color:#a23f48;background:#f8eeee}.empty{text-align:center;color:#617453;padding:60px 25px}.empty>svg{width:48px;height:48px}.back,.quiet,.reset{background:0 0;padding-left:0;font-size:14px}.back svg{height:18px}.reset{color:#62754c;margin-top:25px}.exercise.has-reset{padding-bottom:44px}.exercise.has-reset .reset{margin:0;padding:7px 12px;font-size:13px;position:absolute;bottom:10px;right:22px}.lesson-top{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:12;background:#fffe;padding:10px 0;position:sticky;top:0}.lesson-top h1{font-size:28px}.segments{gap:5px;height:6px;display:flex}.segments i{background:#e3e9dc;border-radius:4px;flex:1}.exercise{position:relative}.exercise p,.exercise blockquote{color:#111;line-height:1.8}.gap-text{white-space:pre-wrap;font-size:20px;line-height:2.6}.answer{vertical-align:baseline;flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.gap,.answer select{background:#f5f7f0;border:0;border-bottom:2px solid #b3c79f;border-radius:5px;width:auto;height:1.65em;min-height:0;margin:0;line-height:1.3;padding:1px 7px!important}.answer select{min-width:6ch;max-width:200px}.answer.success .gap,.answer.success select,.answer.success .dropzone{color:#487d28;background:#dcefc8;border:1.5px solid #85b957;font-weight:600}.answer.finished .gap{color:#a24353;background:#f6e7e9;border-color:#bd6874}.attempts{vertical-align:middle;background:0 0;flex-direction:column;justify-content:center;gap:3px;height:1.65em;padding:3px;display:inline-flex}.attempts i{border:1px solid #b5bcae;border-radius:50%;width:5px;height:5px;display:block}.attempts i.right{background:#487d28;border-color:#487d28}.attempts i.wrong{background:#b3261e;border-color:#b3261e}.attempts i.pending{background:#c9a227;border-color:#c9a227}.free-dot{vertical-align:middle;justify-content:center;align-items:center;min-width:14px;min-height:25px;padding:5px 3px;display:inline-flex}.free-dot i{border:1px solid #b5bcae;border-radius:50%;width:5px;height:5px;display:block}.free-dot i.saved{background:#f0d98a;border-color:#e0c060}.answer.free.free-saved input.gap{color:#111;background:#fff4d6;border:1.5px solid #e0c060}.tiny{vertical-align:middle;background:0 0;padding:3px}.correction{white-space:normal;flex-wrap:wrap;gap:8px;max-width:100%;font-size:16px;line-height:1.4;display:flex}.correction del,.matched del{color:var(--red)}.correction b,.matched strong,.green{color:#78a83e}.red{color:var(--red)}.choices{gap:9px;width:100%;display:grid}.choices button{text-align:center;background:#fff;border:1px solid #dfe4e7;border-radius:14px;justify-content:center;padding:12px 16px;font-size:18px;font-weight:600}.test-prompt{color:#111;margin-bottom:12px;font-size:19px;font-weight:600}.choices button.selected{color:#487d28;background:#dcefc8;border-color:#85b957;font-weight:600}.question{margin-bottom:20px}.match{flex-direction:column;gap:16px;display:flex}.match button{text-align:center;overflow-wrap:break-word;background:#fff;border:1px solid #dfe4e7;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:60px;padding:12px 16px;font-weight:600;display:flex}.match.match-cols button{text-align:center;justify-content:center;align-items:center;padding:12px 16px}.match button.available{border-color:#a8bd92;box-shadow:0 0 0 2px #e9f0e2}.match button.selected,.selected{background:#eef2e8!important}.matched{background:#f7f9fa;border:1px solid #dfe4e7;border-radius:14px;flex-wrap:wrap;gap:8px;padding:16px;display:flex}.word-bank{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #dfe4e7;border-radius:12px;flex-wrap:wrap;gap:6px;max-height:25vh;margin:14px 0;padding:8px 10px;display:flex;overflow-y:auto}.word-bank button{text-align:center;background:#f7f9fa;border:1px solid #dfe4e7;border-radius:14px;padding:7px 13px;font-size:15px;font-weight:600}.word-bank-compact{z-index:9;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #dfe4e7;border-radius:12px;flex-wrap:wrap;gap:5px;width:min(620px,100% - 32px);max-height:25vh;padding:7px 9px;display:flex;position:fixed;top:88px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 4px 16px #0001}.word-bank-compact button{background:#f7f9fa;border:1px solid #dfe4e7;border-radius:14px;padding:6px 11px;font-size:14px;font-weight:600}.dropzone{box-sizing:border-box;text-align:center;min-width:80px;height:1.75em;font-size:inherit;background:#fff;border:1.5px dashed #b8c4be;border-radius:14px;justify-content:center;align-items:center;padding:0 10px;display:inline-flex;overflow:hidden}.image-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.image-pairs img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:15px;width:100%}.question .answer{width:100%}.image-pairs .dropzone{width:80%}.sentence{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;min-height:60px;padding:10px;display:flex}img,video{border-radius:16px;max-width:100%}.exercise>img{max-height:550px;margin:auto;display:block}.audio-dock{z-index:9;background:#fff;border:1px solid #dfe4e7;border-radius:12px;align-items:center;gap:8px;max-height:25vh;margin:14px 0;padding:8px;display:flex;position:sticky;top:88px;overflow-y:auto}.audio-dock audio{width:100%;min-width:0}.video-embed{background:#000;width:100%;max-width:100%;margin:14px 0;position:relative}.video-embed iframe{aspect-ratio:16/9;border:0;border-radius:16px;width:100%;display:block}audio{max-width:100%}.voice{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.voice button{padding:9px 12px;font-size:14px}.gallery img{max-height:450px;margin:auto;display:block}.accuracy{background:#e8ecdf;border-radius:5px;height:6px;margin-bottom:15px;display:flex;overflow:hidden}.accuracy i{background:#78a83e}.accuracy i.red{background:#bc676c}.comment{background:#eaf0f8;border-left:3px solid #829abd;border-radius:0 12px 12px 0;margin-top:18px;padding:14px 16px}.comment b{color:#344d70;font-size:13px;font-weight:700}.comment p{color:#29352e;overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;line-height:1.5}.comment button{color:#344d70;background:#fff;border:1px solid #829abd;border-radius:8px;padding:6px 12px;font-size:12px}.comment-highlight{animation:3s ease-out comment-flash}@keyframes comment-flash{0%{box-shadow:0 0 0 3px #829abd}to{box-shadow:0 0 #0000}}.celebrate{text-align:center;color:#547539;padding:30px}.celebrate h2{animation:.4s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}label{margin:14px 0;font-size:14px;font-weight:700;display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{color:#253027;background:#fff;border:1px solid #d7dfce;border-radius:12px;width:100%;margin:5px 0;padding:12px}textarea{resize:vertical;line-height:1.6}input[type=checkbox],input[type=radio]{accent-color:#779857;margin-right:8px}fieldset{border:1px solid var(--line);border-radius:16px;margin:16px 0;padding:16px}blockquote{white-space:pre-wrap;border-left:4px solid #91a778;border-radius:0 16px 16px 0;margin:15px 0;padding:20px}.modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#1e291d77;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal>section{background:#fff;border-radius:24px;width:min(600px,100%);max-height:90dvh;padding:30px;position:relative;overflow:auto;box-shadow:0 30px 100px #0002}.close{background:0 0;font-size:24px;position:absolute;top:10px;right:12px}.person{background:#f8f9f5;width:100%;margin:8px 0;display:flex}.person.complete{background:#dfeccf}.history p{word-break:break-word}.protected{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;white-space:pre-wrap;overflow-wrap:break-word}.dropdown{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.dropdown-field{box-sizing:border-box;cursor:pointer;min-width:6ch;max-width:min(36ch,100vw - 24px);min-height:1.75em;font-size:inherit;color:#111;vertical-align:middle;text-align:center;background:#fff;border:1.5px solid #dfe4e7;border-radius:14px;justify-content:center;align-items:center;gap:4px;padding:2px 10px;line-height:1.3;display:inline-flex}.dropdown-field:disabled{opacity:.5;cursor:default}.dropdown-field.success{color:#487d28;background:#dcefc8;border-color:#85b957;font-weight:600}.dropdown-field.finished,.dropdown-field.wrong{color:#b3261e;background:#fde8ea;border-color:#d8394b}.dropdown-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dropdown-arrow{opacity:.6;flex:none}.dropdown-list{z-index:20;white-space:normal;background:#fff;border:1px solid #dce3d5;border-radius:8px;min-width:max(100%,18ch);max-width:min(50ch,100vw - 24px);max-height:200px;margin:2px 0 0;padding:6px;list-style:none;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 8px 30px #30482e22}.dropdown-list button{text-align:left;width:100%;font-weight:600;font-size:inherit;color:#233024;background:0 0;border-radius:6px;padding:8px 12px;display:block}.dropdown-list button:hover{background:#f2f5ed}.translate-word{cursor:help}.translate-word:hover{background:#e6eddd}.vocab-hero{background:#e9efdf}.vocab-stats{justify-content:space-around;gap:12px;display:flex}.vocab-stats b{font-size:28px;display:block}.modes{grid-template-columns:repeat(2,1fr);display:grid}.word{align-items:center;gap:20px;display:flex}.word>img{-o-object-fit:cover;object-fit:cover;width:100px;height:100px}.word>div{flex:1}.word h2{font-size:24px}.word h3{font-size:22px;font-weight:600}.word-image{-o-object-fit:cover;object-fit:cover;width:100px;height:100px}.mastered{color:#fff;background:#789b54;border-radius:50%;padding:3px}.flip-card{perspective:1200px;cursor:pointer;height:370px;margin:25px 0}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s;position:relative}.flip-card.flipped .flip-inner{transform:rotateY(180deg)}.face{backface-visibility:hidden;text-align:center;background:#fff;border:1.5px solid #82976a44;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.face img{-o-object-fit:cover;object-fit:cover;width:190px;height:150px}.face.back{background:#f5e3e8;transform:rotateY(180deg)}.ratings{justify-content:center;gap:25px;display:flex}.ratings button{min-width:100px;font-size:28px}.quiz-overlay{z-index:50;background:#192217;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.quiz-story{aspect-ratio:9/16;background:#dce4d2;max-width:100%;height:100dvh;position:relative;overflow:hidden;container-type:inline-size}.story-bg{-o-object-fit:cover;object-fit:cover;pointer-events:none;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.story-top{z-index:10;align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.story-top .segments{flex:1}.story-top button{background:#fffa;padding:4px}.story-top .segments i{background:#fff7}.story-top .segments i.filled{background:#fff}.sticker{z-index:3;text-align:center;padding:.15em .3em;line-height:1.2;position:absolute}.quiz-question{z-index:4;position:absolute}.quiz-question .exercise{font-size:inherit;background:#fffffff0;border:0;border-radius:20px;margin:0;padding:16px}.quiz-question h3{font-size:1.15em}.quiz-question button,.quiz-question input{font-size:inherit}.quiz-question .question p:empty{display:none}.quiz-question .question{margin:0}.story-bottom{z-index:8;justify-content:space-between;display:flex;position:absolute;bottom:16px;left:15px;right:15px}.story-bottom button{background:#fff9}.quiz-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.quiz-grid button{aspect-ratio:9/16;padding:0;position:relative;overflow:hidden}.quiz-grid img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.quiz-grid b{background:#fff;padding:3px;position:absolute;bottom:6px;left:10px}.story-editor{grid-template-columns:1fr 1fr;gap:20px;display:grid}.editor-canvas{aspect-ratio:9/16;background:#dfe7d4;border-radius:20px;position:relative;overflow:hidden;container-type:inline-size}.editor-sticker{z-index:3;touch-action:none;cursor:move;line-height:1.2;position:absolute}.editor-sticker.selected{outline:2px dashed #618344;background:0 0!important}.preview-question{background:#fff;border-radius:16px;padding:14px}.preview-question p{background:#f3f4f0;border-radius:10px;padding:10px}.editor-bottom{z-index:10;background:#fbfcf8ee;justify-content:space-between;padding:15px;display:flex;position:sticky;bottom:10px}.upload{border:1px dashed #b5c5a6;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:15px;display:flex}.upload input{max-width:100%}.color-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.color-wheel{touch-action:none;background:radial-gradient(circle,#fff 0%,#0000 70%),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;width:100px;height:100px}.color-tools input:not([type=color]){width:150px}.setup,.login{text-align:center;max-width:520px;margin:8vh auto;padding:60px 25px}.setup>svg,.login>svg{color:#719153}footer{text-align:center;color:#7e8b73;padding:20px;font-size:12px}.asset-loading{color:#7e8b73;font-size:12px}.translation small{margin-top:18px}@media (width>=1400px){main{max-width:1480px}.grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){nav{width:175px;padding:10px}main{padding-left:190px;padding-right:20px}.grid,.story-editor{grid-template-columns:1fr}.account span{display:none}.editor-canvas{width:auto;max-height:600px;margin:auto}}@media (width<=650px){header{height:76px;padding:15px 20px}.brand b{font-size:21px}nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);z-index:30;background:#fffffff2;border-radius:24px;justify-content:space-around;width:auto;padding:7px;display:flex;inset:auto 12px 12px;overflow-x:auto;box-shadow:0 8px 40px #23351c12}nav button{white-space:nowrap;flex-direction:column;gap:5px;padding:10px 12px;font-size:10px}main{margin:15px auto;padding:0 18px 110px}article{border-radius:22px;padding:20px}.assignment{padding:25px}.assignment h2{font-size:28px}.heading{align-items:flex-start}.heading .row{flex-wrap:wrap}h1{font-size:28px}.row{gap:8px}.word{flex-wrap:wrap;gap:12px}.word>img{width:70px;height:70px}.word h2{font-size:21px}.word h3{font-size:19px}.word p{font-size:14px}.vocab-stats{font-size:12px}.match{gap:10px}.match button{padding:12px;font-size:16px}.gap-text{font-size:18px}.story-editor{display:block}.editor-canvas{width:100%;max-height:none}.modal>section{padding:24px 18px}.quiz-story{aspect-ratio:auto;width:100%;height:100dvh}.quiz-question .exercise{padding:12px}.quiz-question .attempts{padding:2px}.flip-card{height:350px}.audio-dock,.word-bank.sticky{top:115px}.quiz-question{max-height:65dvh;overflow:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.tr-highlight{pointer-events:none;z-index:120;position:fixed;inset:0}.tr-sel{pointer-events:none;background:#cfe1b8b3;border-radius:3px;position:fixed}.tr-handles{pointer-events:none;z-index:121;position:fixed;inset:0}.tr-handle{pointer-events:auto;touch-action:none;cursor:grab;background:0 0;border:0;border-radius:50%;width:32px;height:32px;padding:0;position:fixed}.tr-handle:after{content:"";background:#5c8040;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:9px;left:9px;box-shadow:0 2px 6px #0003}.tr-card{z-index:122;box-sizing:border-box;color:#253027;background:#fff;border:1px solid #85b957;border-radius:16px;padding:14px 34px 14px 16px;font-size:16px;line-height:1.35;position:fixed;overflow:auto;box-shadow:0 14px 40px #29351f26,0 2px 8px #29351f14}.tr-close{color:#8c9683;cursor:pointer;background:0 0;border:0;border-radius:50%;width:26px;height:26px;padding:0;font-size:19px;line-height:1;position:absolute;top:4px;right:6px}.tr-close:hover{color:#3f513b;background:#f1f3ec}.tr-term{overflow-wrap:break-word;word-break:normal;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;display:flex}.tr-term b{color:#1f2a19;font-size:19px;font-weight:800}.tr-ipa{color:#6f7c64;font-size:15px}.tr-arrow{color:#9aa791;font-weight:700}.tr-lemma{color:#3f513b;font-size:15px;font-weight:650}.tr-meaning{color:#3f7d27;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;margin:6px 0 0;font-weight:800}.tr-loading{color:#697661;align-items:center;gap:8px;margin:6px 0 0;display:flex}.tr-spinner{border:2px solid #e1e8db;border-top-color:#a94f6b;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite tr-spin}@keyframes tr-spin{to{transform:rotate(360deg)}}.tr-error{color:#a23f48;margin:0;font-weight:700}.boot-screen .boot-error{color:#a23f48;overflow-wrap:break-word;margin:10px 0 0}.boot-screen .boot-hint{color:#697661;margin-top:14px;font-size:14px}.boot-code{color:#385477;letter-spacing:.02em;margin:6px 0 0;font-size:14px}.notice-text{flex:1;min-width:0}.notice-copy{color:#7a2f3a!important;background:#fff!important;border:1px solid #e2b9c0!important;height:auto!important;padding:6px 8px!important;font-size:12px!important}.lesson-fail{text-align:center;max-width:520px;margin:8vh auto;padding:24px 18px}.lesson-fail h2{margin:0 0 8px;font-size:22px}.lesson-fail p{color:#4b5a45;margin:0 0 8px}.lesson-fail-code{color:#385477;font-weight:700;margin-top:12px!important}.lesson-fail-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.lesson-fail-actions button{min-height:48px}.boot-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.app-fail{text-align:center;max-width:560px;margin:9vh auto;padding:56px 24px}.app-fail-detail{color:#8a4a52;overflow-wrap:break-word;font-size:14px}.app-fail-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.class-terms{border:1px solid var(--line);background:#fbfcf9;border-radius:16px;margin:0 0 12px}.class-terms.on{background:#f4f8ee;border-color:#c3d3ae}.class-terms-head{text-align:left;background:0 0;border-radius:16px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.class-terms-head b{color:#33421f;flex:1;min-width:0;font-size:14px;font-weight:800}.class-terms-icon{color:#6f8a51;display:inline-flex}.class-terms-state{color:#7d8a72;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.class-terms-state.on{color:#355527;background:#dcefc8;border-color:#b6d09a}.class-terms-body{gap:12px;padding:4px 14px 14px;display:grid}.class-terms-switch{color:#2f3d24;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:700;display:flex}.class-terms-switch input{flex:none;width:20px;height:20px;margin:0}.class-terms-field{color:#4b5a3f;gap:6px;font-size:13px;font-weight:800;display:grid}.class-terms-hint{color:#7d8a72;font-size:12px;font-weight:600}.class-terms-error{color:#a24353;background:#f8eeee;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.class-terms-saved{color:#487d28;background:#eaf3dc;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.class-terms-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.class-terms-actions>button{min-height:40px}.class-terms-image{gap:8px;display:grid}.class-terms-image .terms-image{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:220px}.class-terms-image-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.terms-gate{background:#fafaf7;border:1px solid #c3d3ae;border-radius:24px;justify-items:start;gap:10px;margin:16px 0;padding:26px 24px;display:grid;box-shadow:0 5px #82976a22}.terms-gate-icon{color:#5a7a3c;background:#eaf3dc;border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.terms-gate h2{color:#29352e;margin:0;font-size:clamp(20px,3vw,26px);font-weight:800}.terms-gate-sub{color:#566451;margin:0;font-size:15px;font-weight:600;line-height:1.5}.terms-open{color:#fff;background:#78a83e;border-radius:14px;min-height:48px;padding:12px 26px;font-size:16px;font-weight:800}.terms-page{gap:14px;max-width:760px;display:grid}.terms-page-top{align-items:center;gap:10px;display:flex}.terms-page-top h2{color:#29352e;margin:0;font-size:clamp(20px,3vw,26px);font-weight:800}.terms-back{color:#4b5a3f;background:0 0;border-radius:12px;padding:6px}.terms-page .terms-image{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:16px;justify-self:start;max-width:100%;max-height:320px}.terms-text{color:#1f1f1f;overflow-wrap:break-word;font-size:17px;line-height:1.7}.terms-text b{font-weight:800}.terms-check{color:#2f3d24;border:1px solid var(--line);background:#f7f9f2;border-radius:14px;align-items:flex-start;gap:10px;margin:6px 0 0;padding:14px;font-size:15px;font-weight:700;display:flex}.terms-check input{flex:none;width:22px;height:22px;margin:1px 0 0}.terms-submit{color:#fff;background:#78a83e;border-radius:14px;justify-self:start;min-height:48px;padding:13px 30px;font-size:16px;font-weight:800}.terms-submit:disabled{color:#8b9781;background:#dfe6d6}.terms-error{color:#a24353;background:#f8eeee;border-radius:12px;margin:0;padding:12px;font-size:14px;font-weight:700}.terms-link-row{justify-content:flex-end;margin:0 0 6px;display:flex}.terms-link{color:#6d7d5e;background:0 0;padding:4px 0;font-size:12px;font-weight:700;text-decoration:underline}.terms-modal{background:#fff;border-radius:24px;width:min(680px,100%);max-height:90dvh;padding:26px;position:relative;overflow:auto;box-shadow:0 30px 100px #0002}@media (width<=640px){.terms-gate{border-radius:20px;padding:20px 16px}.terms-text{font-size:16px}.terms-modal{padding:20px 16px}}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}@media (width>=768px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.category{cursor:pointer;background:#fff;border:1px solid #dfe4e7;border-radius:16px;flex-direction:column;gap:10px;min-height:120px;padding:14px;display:flex;overflow:hidden}.category.drag-over{background:#f5fbef;border-color:#85b957;box-shadow:0 0 0 2px #e9f0e2}.category>button{width:100%}.cat-name-pill{background:var(--matcha);color:#3a4a2a;overflow-wrap:break-word;border-radius:10px;align-self:flex-start;max-width:100%;padding:6px 12px;font-weight:800;line-height:1.3;display:inline-block}.cat-items{flex-direction:column;flex:1;gap:8px;min-height:40px;display:flex}.cat-placed{overflow-wrap:break-word;background:#f7f9fa;border:1px solid #dfe4e7;border-radius:10px;margin:0;padding:8px 12px;line-height:1.4}.cat-placed.correct{color:#487d28;background:#dcefc8;border-color:#85b957;font-weight:600}.cat-placed.pending{color:#5a4a1a;background:#fff8e0;border-color:#e0c060}.cat-placed strong{color:#487d28;font-weight:600}.cat-placed del{color:var(--red)}.cat-editor{flex-direction:column;gap:12px;display:flex}.cat-col-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;margin:0;padding:14px;display:flex}.cat-col-card label{color:#697661;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.cat-col-card input{width:100%}.format-tools{align-items:center;gap:6px;display:flex}.format-tools button{border-radius:7px;padding:5px 10px}.format-tools input{background:0 0;border:0;width:35px;height:28px}:root{color:#233024;--green:#78a83e;--matcha:#dce5d3;--line:#dce4d6;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}body{color:#233024;-webkit-text-size-adjust:100%;background:#fff}.app>header{background:#fff;max-width:1160px;height:90px;margin:auto;padding:22px 32px}.brand b{letter-spacing:-.4px;color:#ad365c;font-size:24px;font-weight:600}.brand small{letter-spacing:.2px;color:#68636a;font-size:15px;font-weight:400;line-height:1.5}.brand>svg{width:29px;height:29px}h1,h2,h3{letter-spacing:-.5px;font-family:inherit;font-weight:750}button{font-family:inherit}.student-app>main{min-width:0;max-width:1100px;min-height:60vh;margin:26px auto;padding:8px 32px 150px}.student-app>nav{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#fafcf9f5;border:1px solid #dce4d6;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(550px,100% - 28px);padding:7px;display:grid;position:fixed;left:50%;right:auto;overflow:visible;transform:translate(-50%);box-shadow:0 10px 40px #30482e12}.student-app>nav button{white-space:normal;color:#566451;background:0 0;border-radius:15px;flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:11px 4px;font-size:12px;font-weight:600;line-height:1.2;display:flex}.student-app>nav button.active{color:#283d22;background:#dce5d3}.student-app>nav svg{width:23px;height:23px}.sync{max-width:1100px;min-height:34px;margin:auto}.app>footer{color:#7d8876;padding-bottom:125px}.feed{gap:26px;max-width:760px;padding-left:36px;display:grid;position:relative}.feed:before{content:"";border-left:2px dashed #cedbc2;position:absolute;top:38px;bottom:38px;left:12px}.assignment{background:#fdfefb;border:1px solid #d8e0d4;border-radius:28px;min-width:0;margin:0;padding:26px 28px;position:relative;box-shadow:0 5px #dce6d8}.assignment.current{background:#bdd2e4;border-color:#b4cbdc;box-shadow:0 6px #acc5d7}.assignment.complete{background:#dbe5cf;border-color:#c5d3b7;box-shadow:0 6px #c6d5b8}.assignment.gift{background:#e9f0f3;border-color:#d3e0e6;box-shadow:0 6px #d6e3e8}.timeline-dot{color:#3f513b;background:#f6f8f5;border:2px solid #c6d5b8;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:31px;left:-38px;box-shadow:0 0 0 5px #f6f8f5}.complete .timeline-dot{background:#a6b992;border-color:#a6b992}.assignment-top{justify-content:space-between;align-items:center;min-height:24px;display:flex}.completion-status{color:#3f513b;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.completion-circle{border:1.5px solid #3f513b;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.is-complete .completion-circle{color:#fff;background:#6d8856;border-color:#6d8856}.quiz-label{letter-spacing:1.5px;color:#5d7480;font-size:11px;font-weight:800}.assignment-heading{align-items:center;gap:16px;min-height:88px;margin:16px 0 20px;display:flex}.assignment h2{letter-spacing:-.8px;overflow-wrap:anywhere;color:#233024;flex:1;min-width:0;margin:0;font-size:clamp(25px,4.8vw,36px);line-height:1.2}.prototype-art{pointer-events:none;flex:0 0 95px;width:95px;height:95px;display:block;position:relative;overflow:hidden}.prototype-art img{border-radius:0;width:500%;max-width:none;height:auto;position:absolute}.gift-art{flex-shrink:0;font-size:64px;line-height:1.2}.assignment .praise{color:#344d2d;margin:0 0 22px;font-size:19px;font-weight:750}.assignment progress{background:#e5ebdf;height:8px;margin:0 0 20px}.assignment progress::-webkit-progress-bar{background:#e5ebdf}.assignment.current progress::-webkit-progress-bar{background:#edf3f6}.assignment progress::-webkit-progress-value{background:#3f513b}.assignment progress::-moz-progress-bar{background:#3f513b}.assignment-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-percent{letter-spacing:-1px;white-space:nowrap;font-size:34px;line-height:1}.assignment-percent small{color:inherit;font-size:19px;display:inline}.assignment-open{color:#fff;background:#3f513b;border-radius:15px;gap:12px;min-height:46px;padding:12px 20px;font-size:15px;font-weight:750}.complete .assignment-open{color:#31462b;background:#c7d6b9}.learning-open .back{color:#3f513b;background:#fff;border:1px solid #dfe4e7;border-radius:12px;margin-bottom:14px;padding:9px 13px}.lesson-top{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:12;background:#fffffff5;border-bottom:1px solid #dfe4e7;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:25px;padding:14px 0 18px;display:grid;position:sticky;top:0}.lesson-top h1{overflow-wrap:anywhere;margin:0;font-size:clamp(22px,4vw,30px);line-height:1.2}.lesson-top .segments{grid-area:1/1/auto/-1;height:6px}.lesson-count{color:#78a83e;text-align:center;white-space:nowrap;background:#eef5e0;border-radius:25px;flex:none;grid-area:2/2;justify-content:center;align-items:center;min-width:62px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.segments i.filled{background:#78a83e}.exercise{box-shadow:none;color:#111;background:#fff;border:1px solid #dfe4e7;border-radius:18px;margin:0 0 26px;padding:24px;scroll-margin-top:110px;overflow:visible}.exercise.done{border-color:#dfe4e7}.exercise-heading{background:#dcefc8;border:1px solid #85b957;border-radius:14px;align-items:center;gap:13px;margin:0 0 14px;padding:16px 18px;display:flex}.exercise-heading h3{color:#487d28;overflow-wrap:break-word;flex:1;min-width:0;margin:0;font-size:18px;font-weight:700;line-height:1.4}.exercise-number{color:#fff;background:#78a83e;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:600;display:grid}.done .exercise-heading{background:#dcefc8}.gap-text{color:#111;white-space:pre-wrap;overflow-wrap:break-word;padding:4px 0;font-size:19px;font-weight:400;line-height:2.1}.gap-text br{margin-top:.35em;display:block}.gap-text .answer{vertical-align:middle;flex-wrap:nowrap;align-items:center;gap:6px;max-width:100%;margin:0 6px;line-height:1.5;display:inline-flex}.app .gap-text input.gap,.app .gap-text .answer select{box-sizing:border-box;color:#111;min-width:0;max-width:min(24ch,65vw);height:1.75em;min-height:0;font-size:inherit;text-align:center;vertical-align:middle;-webkit-text-fill-color:currentColor;opacity:1;background:#fff;border:1.5px solid #dfe4e7;border-radius:14px;margin:0;line-height:1.3;padding:2px 10px!important}.app .gap-text textarea.gap{box-sizing:border-box;color:#111;min-width:0;max-width:min(24ch,65vw);min-height:1.75em;font-size:inherit;text-align:center;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:middle;-webkit-text-fill-color:currentColor;opacity:1;background:#fff;border:1.5px solid #dfe4e7;border-radius:14px;margin:0;line-height:1.5;overflow:hidden;padding:2px 10px!important}.app .gap-text .answer.free textarea.gap{max-width:min(40ch,90vw)}.app .gap-text .answer.success textarea.gap{color:#487d28;background:#dcefc8;border:1.5px solid #85b957;font-weight:600}.app .gap-text .answer.finished textarea.gap,.app .gap-text .answer.wrong textarea.gap{color:#b3261e;background:#fde8ea;border:1.5px solid #d8394b}.answer.free.free-saved textarea.gap{color:#111;background:#fff4d6;border:1.5px solid #e0c060}.app .gap-text .answer textarea.gap:disabled{opacity:1;-webkit-text-fill-color:currentColor}.app .gap-text .answer.success input.gap,.app .gap-text .answer.success select,.app .gap-text .answer.success .dropzone{color:#487d28;background:#dcefc8;border:1.5px solid #85b957;font-weight:600}.app .gap-text .answer.finished input.gap,.app .gap-text .answer.finished select,.app .gap-text .answer.finished .dropzone,.app .gap-text .answer.wrong input.gap,.app .gap-text .answer.wrong select,.app .gap-text .answer.wrong .dropzone{color:#b3261e;background:#fde8ea;border:1.5px solid #d8394b}.gap-text .answer .tiny{min-width:22px;min-height:25px;padding:2px;font-size:13px}.attempt-wrap{flex:none;align-items:center;display:inline-flex}.attempts{gap:3px;min-width:14px;min-height:25px;padding:5px 3px}.attempts i{width:5px;height:5px}.answer .correction{white-space:normal;flex-wrap:wrap;max-width:100%;font-size:14px;line-height:1.4}.gap-text .answer:has(.correction){flex-wrap:wrap}.gap-text .dropzone{border-radius:14px;min-width:60px;height:1.75em;min-height:0}.gap-readonly{box-sizing:border-box;max-width:100%;min-height:1.75em;font-size:inherit;text-align:center;overflow-wrap:break-word;white-space:normal;border:1.5px solid;border-radius:14px;justify-content:center;align-items:center;padding:2px 12px;font-weight:600;line-height:1.4;display:inline-flex}.gap-readonly.gap-correct{color:#487d28;background:#dcefc8;border-color:#85b957}.gap-readonly.gap-wrong{color:#b3261e;background:#fde8ea;border-color:#d8394b}.correction-pair{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.choices button.is-correct{color:#487d28;background:#dcefc8;border-color:#85b957;font-weight:600}.choices button.is-wrong{color:#b3261e;background:#fde8ea;border-color:#d8394b}.answer.success input.gap:disabled,.answer.success select:disabled,.answer.success .dropzone:disabled,.dropdown-field.success:disabled,.choices button.is-correct:disabled,.choices button.is-wrong:disabled{opacity:1;-webkit-text-fill-color:currentColor}.reset{color:#487d28;text-align:center;background:#fff;border:1.5px solid #85b957;border-radius:12px;justify-content:center;align-items:center;gap:8px;max-width:100%;margin:23px 0 0;padding:12px 16px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.reset svg{stroke-width:2.25px;flex-shrink:0}.match>div{min-width:0}.match button{overflow-wrap:break-word}.celebrate{background:#f7f9fa;border:1px solid #dfe4e7;border-radius:18px;padding:28px 18px}.celebrate button{color:#fff;background:#78a83e}@media (width<=650px){.app>header{height:76px;padding:15px 20px}.brand b{font-size:18px}.brand small{font-size:12px}.brand>svg{width:26px;height:26px}.brand{gap:10px}.student-app>main{padding:0 16px calc(150px + env(safe-area-inset-bottom,0px));min-height:60vh;margin:18px auto}.student-app>nav{bottom:calc(10px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);max-width:550px}.student-app>nav button{min-height:57px;padding:10px 3px;font-size:10px}.student-app>nav svg{width:22px;height:22px}.feed{gap:24px;padding-left:25px}.feed:before{left:7px}.timeline-dot{width:22px;height:22px;top:27px;left:-29px}.timeline-dot svg{width:12px;height:12px}.assignment{border-radius:23px;padding:21px 19px}.assignment-heading{gap:8px;min-height:76px;margin:16px 0 20px}.assignment h2{font-size:25px}.prototype-art{flex-basis:72px;width:72px;height:72px}.gift-art{font-size:47px}.assignment-percent{font-size:29px}.assignment-open{min-height:43px;padding:11px 15px;font-size:13px}.assignment .praise{font-size:17px}.exercise{border-radius:16px;margin-bottom:24px;padding:18px}.exercise-heading{border:1px solid #85b957;border-radius:14px;gap:10px;margin:0 0 16px;padding:14px 16px}.exercise-heading h3{font-size:16px}.exercise-number{border-radius:10px;flex-basis:34px;width:34px;height:34px;font-size:16px}.gap-text{font-size:18px;line-height:2}.lesson-top{gap:10px;margin-bottom:20px;padding:12px 0 15px}.lesson-top h1{font-size:22px}.lesson-count{padding:6px 9px;font-size:12px}.audio-dock{top:80px}.word-bank-compact{width:calc(100% - 24px);top:78px}.reset{width:100%;padding:11px 10px;font-size:13px}.exercise.has-reset{padding-bottom:52px}.exercise.has-reset .reset{width:auto;margin:0;padding:11px 10px;font-size:13px;bottom:10px;left:18px;right:18px}.student-app>footer{display:none}}@media (width<=360px){.assignment-open{padding:10px;font-size:12px}.assignment-heading h2{font-size:22px}.prototype-art{flex-basis:58px;width:58px;height:58px}}.folder-card{text-align:center;cursor:pointer;border:1px solid var(--line);background:#f9faf6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:130px;padding:18px;transition:box-shadow .15s;display:flex}.folder-card:hover{box-shadow:0 5px #e8ecdf50}.folder-card svg{color:#5f784a}.folder-card h3{margin:0;font-size:18px}.material-card{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;position:relative;box-shadow:0 5px #e8ecdf50}.material-card h3{overflow-wrap:anywhere;margin:8px 0 4px;font-size:18px}.material-card small{color:#7e8b73}.material-card:hover{box-shadow:0 6px #dce6d8}.material-card.assigned{opacity:.6;cursor:default}.material-card.assigned:hover{box-shadow:0 5px #e8ecdf50}.material-card .assigned-badge{color:#3f513b;align-items:center;gap:5px;margin-top:9px;font-size:13px;font-weight:600;display:inline-flex}.picker-path{flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;margin:8px 0 14px;font-size:14px;display:flex}.picker-path .quiet{padding:0;font-weight:700}.picker-path-sep{color:#9aa894}.picker-picked{color:#487d28;background:#dcefc8;border:1px solid #85b957;border-radius:999px;margin-left:auto;padding:3px 11px;font-size:13px;font-weight:800}.copy-picker-tools{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.copy-picker-tools .muted{margin:0}.copy-block-list{gap:8px;max-height:46vh;padding:2px;display:grid;overflow:auto}.copy-block-item{cursor:pointer;background:#fbfcf9;border:1px solid #e6ece0;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-weight:600;display:flex}.copy-block-item.picked{background:#f1f7ea;border-color:#b9d39a}.copy-block-item input{accent-color:#7e9c5b;flex:none;width:18px;height:18px;margin:3px 0 0}.copy-block-text{flex:1;gap:2px;min-width:0;display:grid}.copy-block-text b{color:#253027;overflow-wrap:anywhere;font-size:15px}.copy-block-text small{color:#78866c;font-size:12px;font-weight:700}.copy-block-text em{color:#5d6b52;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-style:normal;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.copy-block-check{color:#487d28;flex:none;margin-top:2px}.card-menu{z-index:5;position:absolute;top:10px;right:10px}.card-menu-btn{background:0 0;border-radius:8px;padding:6px}.card-menu-btn:hover{background:#eef2e8}.card-menu-list{border:1px solid var(--line);z-index:20;background:#fff;border-radius:12px;gap:2px;min-width:150px;padding:6px;display:grid;position:absolute;top:34px;right:0;box-shadow:0 8px 30px #30482e22}.card-menu-list button{background:0 0;border-radius:8px;justify-content:flex-start;padding:9px 12px;font-size:14px;font-weight:600}.card-menu-list button:hover{background:#f2f5ed}.card-menu-list button.danger{color:#a23f48}.match-cols{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.match-cols>div{flex-direction:column;gap:10px;min-width:0;display:flex}.match-done{border-top:1px dashed var(--line);flex-direction:column;align-items:center;gap:10px;margin-top:18px;padding-top:18px;display:flex}.match-pair{overflow-wrap:break-word;text-align:center;background:#f7f9fa;border:1px solid #dfe4e7;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:100%;padding:10px 16px;display:inline-flex}.match-pair span{font-weight:600}.match-pair strong{color:#487d28}.match-pair del{color:var(--red)}.match-pending{color:#697661;font-weight:600}.word-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:24px 1.2fr 1fr 1.5fr 70px 40px;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;display:grid}.word-row .word-check{justify-content:center;display:flex}.word-row input{border:1px solid #d7dfce;border-radius:8px;width:100%;margin:0;padding:8px 10px;font-size:14px}.word-row .word-img{justify-content:center;align-items:center;min-height:40px;display:flex}.word-row .word-image{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:60px;height:60px}.word-row .word-warn{color:#a2682b;text-align:center;font-size:16px}.word-row .upload{border:0;padding:6px;font-size:11px}.word-row .upload input{font-size:11px}.word-row .word-img-box{flex-direction:column;align-items:center;gap:6px;display:flex}.word-row .word-img-actions{flex-direction:column;gap:4px;width:100%;display:flex}.word-row .word-img-actions .upload{justify-content:center;padding:4px 6px;font-size:10px}.word-row .word-img-remove{color:#a04b4b;cursor:pointer;background:#fff;border:1px solid #d7dfce;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:4px 6px;font-size:10px;display:flex}.word-row .word-img-remove:hover{background:#fbeaea}.archive-section{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.archive-toggle{color:#6b7256;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:15px;font-weight:600;display:flex}.archive-toggle small{color:#9aa089;font-weight:400}.archive-toggle:hover{color:#525a3f}.archive-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.archive-card{background:#fafbf4;border:1px dashed #cdcfae;border-radius:14px;padding:14px 16px}.archive-card h3{margin:0;font-size:16px}.archive-card p{color:#7e8b73;margin:2px 0 0;font-size:13px}.archive-card small{color:#9aa089;font-size:12px}.archive-card .actions{margin-top:8px}.delete-list{color:#5b6552;margin:6px 0 14px;padding-left:22px;font-size:14px}.delete-list li{margin:3px 0}.delete-progress{background:#eef1e6;border-radius:6px;height:10px;margin:14px 0 6px;overflow:hidden}.delete-progress .bar{background:#7e9c5b;height:100%;transition:width .3s}.block-editor{width:min(640px,100%)}.block-editor label{margin:12px 0 4px;font-size:13px;font-weight:700}.block-editor input,.block-editor textarea{margin:0}.edit-part,.edit-item{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:12px}.edit-part h4,.edit-item h4{margin:0 0 8px;font-size:14px;font-weight:700}.add-word{color:#3f513b;background:#f9faf6;border:1px dashed #a6b994;border-radius:12px;width:100%;margin-top:8px;padding:14px;font-weight:700}.import-preview{border:1px solid var(--line);background:#f6f8f5;border-radius:10px;max-height:200px;margin:10px 0;padding:10px;overflow:auto}.import-preview div{border-bottom:1px solid #eef2e8;padding:4px 0}.import-preview small{color:#7e8b73}.muted{color:#7e8b73;font-size:13px}@media (width<=650px){.word-row{grid-template-columns:20px 1fr;gap:6px}.word-row .word-def,.word-row .word-ex,.word-row .word-img,.word-row .word-warn{grid-column:2}.match-cols{gap:10px}}.vocab-banner{background:#f5e3e8;border:1px solid #a94f6b;border-radius:24px;margin:0 0 22px;padding:26px 28px;box-shadow:0 5px #a94f6b22}.vocab-banner-emoji{vertical-align:middle;margin-right:10px;font-size:clamp(34px,7vw,48px);line-height:1;display:inline-block}.vocab-banner-label{letter-spacing:1.5px;color:#a94f6b;text-transform:uppercase;margin-bottom:4px;font-size:13px;font-weight:800;display:block}.vocab-banner h1{overflow-wrap:anywhere;color:#a94f6b;letter-spacing:-.01em;vertical-align:middle;margin:0 0 4px;font-size:clamp(26px,5vw,36px);font-weight:800;line-height:1.15;display:inline-block}.vocab-banner-total{color:#29352e;margin:0 0 18px;font-size:15px}.vocab-banner .vocab-stats{justify-content:space-between;gap:12px;display:flex}.vocab-stat{text-align:center;background:#fff;border:1px solid #e1e8db;border-radius:14px;flex:1;min-width:0;padding:14px 10px}.vocab-stat b{color:#3f513b;font-size:28px;font-weight:800;line-height:1;display:block}.vocab-stat span{color:#697661;font-size:13px;font-weight:600}.mode-tiles{grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 26px;display:grid}.mode-tile{text-align:center;cursor:pointer;background:#fafaf7;border:1.5px solid #82976a55;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:98px;padding:18px 12px;display:flex}.mode-tile:hover{box-shadow:0 5px #82976a33}.mode-tile:disabled{opacity:.5;cursor:default}.mode-emoji{font-size:30px;line-height:1}.mode-name{color:#3f513b;font-size:14px;font-weight:700;line-height:1.3}.vocab-word{background:#fafaf7;border:1.5px solid #82976a44;border-radius:16px;align-items:center;gap:14px;margin:10px 0;padding:14px 16px;display:flex}.vocab-thumb-wrap{flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.vocab-word .vocab-thumb{-o-object-fit:cover;object-fit:cover;border-radius:10px;flex:0 0 52px;width:52px;height:52px}.vocab-thumb-placeholder{background:#edf2e6;border:1px solid #dce4d6;border-radius:10px;width:52px;height:52px;display:block}.vocab-word-text{flex:1;min-width:0}.vocab-word-text h2{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:750;line-height:1.2}.vocab-word-text p{color:#29352e;margin:2px 0 0;font-size:15px;line-height:1.4}.vocab-star{color:#c9a227;background:0 0;border-radius:50%;flex:none;padding:6px}.vocab-star:disabled{opacity:.5}.vocab-mastered{color:#fff;background:#789b54;border-radius:50%;flex:none;padding:3px}.flip-card{container-type:inline-size}.card-en,.card-ru{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;height:100%;display:flex}.card-word-row{justify-content:center;align-items:center;gap:10px;max-width:100%;display:flex}.card-word-row h2{overflow-wrap:anywhere;margin:0;font-size:clamp(26px,7cqw,42px);font-weight:800;line-height:1.1}.card-example-row{justify-content:center;align-items:center;gap:8px;max-width:100%;display:flex}.card-example-row p{color:#566451;overflow-wrap:anywhere;margin:0;font-size:clamp(15px,3.5cqw,19px);line-height:1.4}.card-hint{color:#9aa890;margin-top:4px;font-size:14px}.card-ru h2{overflow-wrap:anywhere;margin:0;font-size:clamp(24px,6cqw,36px);font-weight:800}.face .card-img{-o-object-fit:cover;object-fit:cover;border-radius:16px;width:auto;max-width:85%;height:auto;max-height:200px}.card-audio{color:#3f513b;background:#edf2e6;border:1px solid #d2dfc4;border-radius:50%;flex:0 0 32px;width:32px;height:32px;padding:0}.card-audio:hover{filter:brightness(.96)}.vocab-howto{color:#2b2b2b;background:#fbf3e2;border:1px solid #e6d9b8;border-radius:14px;margin:0 0 20px;padding:14px 16px;font-size:14px;line-height:1.5}.vocab-howto p{margin:0 0 6px}.vocab-howto p:last-child{margin-bottom:0}.vocab-howto b{margin-right:6px;font-size:15px}.vocab-round-end{padding:26px 16px}.vocab-round-end .round-done-title{color:#3f513b;margin:0 0 14px;font-size:clamp(26px,7vw,34px);font-weight:800}.round-repeat-btn{border:none;border-radius:14px;width:100%;max-width:340px;margin:0 auto 16px;padding:14px 18px;font-size:16px;font-weight:700;display:block}.vocab-round-words{max-width:520px;margin:0 auto;display:block}.vocab-round-words .vocab-word{margin:6px 0;padding:12px 14px}.vocab-word-compact{gap:0}.vocab-word-compact .vocab-word-text h2{font-size:18px}.vocab-word-compact .vocab-word-text p{font-size:14px}.modal.memo-modal>section{text-align:center;width:min(440px,100%);padding:28px 22px}.memo-card h2{color:#3f513b;margin:0 0 14px;font-size:22px;font-weight:800;line-height:1.3}.memo-card p{color:#2b2b2b;margin:0 0 10px;font-size:15px;line-height:1.55}.memo-example{color:#3f513b;overflow-wrap:anywhere;margin:6px 0 14px;font-size:15px;font-weight:600}.memo-start{color:#fff;background:#78a83e;border:none;border-radius:14px;margin:22px auto 0;padding:13px 26px;font-size:16px;font-weight:700;display:block}@media (width>=700px){.mode-tiles{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.mode-tiles{grid-template-columns:repeat(4,1fr)}}@media (width<=650px){.vocab-banner{padding:20px 18px}.vocab-stat b{font-size:24px}.mode-tiles{gap:10px}.vocab-word{padding:12px}.vocab-word .vocab-thumb{flex-basis:44px;width:44px;height:44px}.flip-card{height:340px}}.app.class-open>nav{display:none}.app.class-open>main{padding-left:32px}.class-view{flex-direction:column;min-height:60vh;display:flex}.class-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.class-toolbar .back{border:1px solid var(--line);color:#3f513b;background:#fff;border-radius:12px;padding:9px 13px}.class-toolbar .class-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:24px;font-weight:750}.class-toolbar .row{flex-wrap:wrap;gap:8px}.class-body{grid-template-columns:1fr 280px;align-items:start;gap:20px;display:grid}.class-main{min-width:0;min-height:40vh}.class-drawer-toggle{display:none}.class-sidebar{border:1px solid var(--line);z-index:5;background:#fff;border-radius:18px;flex-direction:column;gap:8px;max-height:calc(100dvh - 120px);padding:14px;display:flex;position:sticky;top:90px;overflow:auto}.class-sidebar>div:first-child{border-bottom:1px solid var(--line);margin-bottom:4px;padding:0 4px 8px}.class-lesson{text-align:left;border:1px solid var(--line);cursor:pointer;background:#f9faf6;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex;position:relative}.class-lesson:hover{box-shadow:0 4px #e8ecdf50}.class-lesson.active{background:#dce5d3;border-color:#c6d5b8}.class-lesson b{overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.3}.class-lesson small{color:#697661;font-size:12px}.class-lesson-tag{letter-spacing:1px;color:#5d7480;text-transform:uppercase;font-size:10px;font-weight:800}.class-lesson .lucide{color:#5f784a;position:absolute;top:10px;right:10px}.class-lesson-row{align-items:stretch;gap:0;display:flex;position:relative}.class-lesson-row .class-lesson{flex:1;min-width:0}.class-lesson-remove{color:#a23f48;border-radius:10px;flex:none;align-self:center;padding:8px}.class-lesson-remove:hover{background:#f8eeee}.class-section{margin-bottom:14px}.class-section h4{letter-spacing:1px;text-transform:uppercase;color:#5d7480;border-bottom:1px solid var(--line);margin:0 4px 6px;padding-bottom:4px;font-size:12px;font-weight:800}.assign-bar{z-index:8;background:#edf2e6;border:1px solid #d2dfc4;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex;position:sticky;top:80px;box-shadow:0 4px 20px #30482e10}.assign-list{gap:10px;display:grid}.assign-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.assign-item:hover{border-color:#a8bd92}.assign-item.assigned{background:#eef4e6}.assign-item input{width:auto;margin:0}.assign-num{color:#fff;background:#3f513b;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.assign-title{overflow-wrap:anywhere;flex:1;font-size:15px;font-weight:700}.class-card-entry{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;display:flex}.class-card-entry .actions{width:100%;margin-top:6px}.class-card-entry .actions button{width:100%;padding:9px 12px;font-size:13px}@media (width<=900px){.class-body{grid-template-columns:1fr}.class-sidebar{z-index:60;border-radius:20px 0 0 20px;width:84%;max-width:320px;max-height:none;transition:transform .25s;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.class-sidebar.open{transform:translate(0);box-shadow:-10px 0 40px #0003}.class-drawer-toggle{display:inline-flex}.class-toolbar{flex-direction:column;align-items:stretch}.class-toolbar .class-title{font-size:20px}.class-toolbar .row{justify-content:flex-start}}.spinner{border:4px solid #e1e8db;border-top-color:#3f513b;border-radius:50%;width:32px;height:32px;margin:30px auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.class-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}.class-tile{border:1px solid var(--line);cursor:pointer;text-align:center;background:#f9faf6;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:150px;padding:36px 24px;display:flex}.class-tile:hover{border-color:#c6d5b8;box-shadow:0 6px #e8ecdf50}.class-tile svg{color:#5f784a}.class-tile b{color:#3f513b;font-size:19px;font-weight:750}.class-tile small{color:#697661;font-size:14px;font-weight:600}.class-section-list{margin:20px 0}.class-section-list .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.section-card-remove{border:1px solid var(--line);color:#a23f48;z-index:5;background:#fff;border-radius:8px;padding:6px;position:absolute;top:10px;right:10px}.section-card-remove:hover{background:#f8eeee}.class-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;margin:20px 0;display:grid}.class-workspace .class-main{min-width:0;min-height:40vh}.class-students-panel{border:1px solid var(--line);z-index:5;background:#fff;border-radius:18px;flex-direction:column;gap:8px;max-height:calc(100dvh - 120px);padding:16px;display:flex;position:sticky;top:90px;overflow:auto}.panel-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:10px}.panel-title{overflow-wrap:anywhere;color:#233024;font-size:15px;font-weight:750;line-height:1.3}.panel-sub{color:#697661;margin-top:3px;font-size:12px;font-weight:600}.panel-empty{color:#697661;text-align:center;padding:14px 4px;font-size:13px}.student-row{cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:9px 10px;display:flex}.student-row.active{background:#dce5d3;border-color:#c6d5b8}.student-row .s-info{flex:1;min-width:0}.student-row .s-name{overflow-wrap:anywhere;color:#233024;font-size:14px;font-weight:700;line-height:1.2}.student-row .s-meta{color:#697661;margin-top:2px;font-size:11px;font-weight:600}.student-row .s-pct{color:#3f513b;flex:none;font-size:15px;font-weight:800;line-height:1}.s-bar{background:#e5ebdf;border-radius:5px;width:100%;height:5px;margin-top:6px;overflow:hidden}@media (width<=1100px){.class-workspace{grid-template-columns:1fr}.class-students-panel{order:-1;max-height:none;margin-bottom:16px;position:static}}@media (width<=650px){.class-tiles{grid-template-columns:1fr}.class-tile{min-height:120px;padding:24px 16px}.class-students-panel{padding:12px}.student-row{padding:8px}}.student-status{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.status-badge{letter-spacing:.3px;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:700}.status-badge.pending{color:#8a6d1f;background:#fdf3df;border:1px solid #f0e0ad}.status-badge.active{color:#3f513b;background:#e2ecd7;border:1px solid #c6d5b8}.status-badge.retired{color:#7c3b42;background:#f0e3e4;border:1px solid #ddc4c7}.invite-link-row{background:#edf2e6;border:1px solid #d2dfc4;border-radius:12px;align-items:center;gap:8px;margin:10px 0;padding:8px 10px;display:flex}.invite-link-row input{background:#fff;border:1px solid #d7dfce;border-radius:8px;flex:1;min-width:0;margin:0;padding:7px 9px;font-size:13px}.invite-link-row button{flex:none;padding:8px 12px;font-size:13px}.invite-link-row .quiet{padding:6px;font-size:18px}.invite-modal{width:min(460px,100%)}.invite-modal .muted{margin:6px 0 12px}.invite-modal label{margin:12px 0}@media (width<=650px){.invite-link-row{flex-wrap:wrap}.invite-link-row input{flex-basis:100%}}.streak-banner{color:#3f513b;background:#e9efdf;border:1px solid #d2dfc4;border-radius:16px;align-items:center;gap:8px;margin:0 0 18px;padding:12px 18px;font-size:15px;font-weight:700;display:flex}.hw-counter{background:#dce5d3;border:1px solid #c6d5b8;border-radius:16px;align-items:center;gap:14px;margin:0 0 18px;padding:14px 18px;display:flex}.hw-counter b{color:#3f513b;flex:none;font-size:16px}.hw-counter progress{background:#e5ebdf;flex:1;height:8px;margin:0}.profile{max-width:820px;margin:0 auto}.profile-head{margin-bottom:20px}.profile-head h1{margin:0 0 4px}.profile-head p{color:#697661;margin:0}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.p-card{border:1px solid var(--line);box-sizing:border-box;border-radius:18px;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:110px;padding:18px 20px;display:flex}.p-card.p-wide{grid-column:1/-1}.p-card.p-green{background:#dcefc8;border-color:#85b957}.p-card.p-blue{background:#dde8ef;border-color:#c4d6e1}.p-card.p-white{border-color:var(--line);background:#fff}.p-label{letter-spacing:1px;text-transform:uppercase;color:#374151;font-size:12px;font-weight:800}.p-big{color:#487d28;align-items:center;gap:8px;font-size:36px;font-weight:800;line-height:1;display:flex}.p-big small{color:#374151;font-size:20px;font-weight:600}.p-sub{color:#374151;font-size:13px}.p-muted{color:#374151;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.p-group-card{flex-direction:row;align-items:center;gap:14px}.p-group-icon{color:#4d6b8e;flex:none;width:30px;height:30px}.p-group-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.p-group-name{color:#2a4360;overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1.2}.p-level-badge{color:#3d5a7d;letter-spacing:.5px;background:#fff;border:2px solid #9bb8d4;border-radius:10px;flex:none;padding:7px 14px;font-size:18px;font-weight:800}.p-nick-card{flex-flow:wrap;align-items:center;gap:14px}.p-nick-icon{color:#487d28;flex:none;width:26px;height:26px}.p-nick-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.p-nick-name{color:#3f513b;overflow-wrap:anywhere;font-size:20px;font-weight:750}.p-nick-card input{box-sizing:border-box;border:1px solid #d7dfce;border-radius:10px;width:100%;min-width:0;margin:0;padding:8px 12px;font-size:16px}.p-pencil{color:#487d28;background:#dcefc8;border-radius:10px;flex:none;padding:8px}.p-nick-actions{gap:8px;width:100%;margin-top:4px;display:flex}.p-nick-actions button{padding:8px 14px;font-size:13px}.p-err{color:#a23f48;width:100%;margin:0;font-size:13px}.sh-activity-calendar{box-sizing:border-box;background:#e8efdf;border:1px solid #bccdaa;border-radius:18px;width:100%;min-width:0;max-width:360px;margin:0;padding:16px}.sh-cal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.sh-cal-title{color:#29352e;align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.sh-cal-month{color:#29352e;text-transform:capitalize;font-size:13px;font-weight:700}.sh-cal-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;display:grid}.sh-cal-dow{color:#52634a;text-align:center;place-items:center;height:18px;font-size:11px;font-weight:700;display:grid}.sh-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.sh-cal-cell{place-items:center;min-width:0;height:36px;display:grid}.sh-cal-empty{visibility:hidden}.sh-cal-num{color:#29352e;border-radius:50%;place-items:center;width:30px;height:30px;font-size:clamp(14px,3.4vw,16px);font-weight:700;line-height:1;display:grid}.sh-cal-active .sh-cal-num{color:#fff;background:#a94f6b;font-weight:800}.sh-cal-today .sh-cal-num{outline-offset:2px;outline:2px solid #29352e}.sh-cal-summary{color:#29352e;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:700;display:flex}.sh-cal-dot{background:#a94f6b;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.write-card{background:#fafaf7;border:1.5px solid #82976a44;border-radius:24px;flex-direction:column;align-items:center;gap:20px;margin:18px 0;padding:28px 24px;display:flex;box-shadow:0 5px #82976a22}.write-counter{color:#697661;align-self:flex-end;font-size:13px;font-weight:700}.write-translation{color:#233024;text-align:center;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,5vw,30px);font-weight:800;line-height:1.3}.write-field-group{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px;display:flex}.write-input-row{width:100%;position:relative}.write-field{color:#233024;box-sizing:border-box;background:#f4f7ef;border:2px solid #b7c8ab;border-radius:14px;outline:none;width:100%;padding:14px 54px 14px 16px;font-size:18px}.write-field:focus{border-color:#3f513b}.write-field.correct{color:#315724;background:#e4efd9;border-color:#71994b}.write-field.wrong{color:#a24353;background:#f6e7e9;border-color:#bd6874}.write-send{color:#fff;cursor:pointer;background:#3f513b;border:0;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.write-send:disabled{opacity:.4;cursor:default}.write-send:hover:not(:disabled){filter:brightness(.96)}.write-attempts{justify-content:center;gap:7px;display:flex}.write-attempts i{border:1px solid #b5bcae;border-radius:50%;width:9px;height:9px;display:block}.write-attempts i.wrong{background:#be5f65;border-color:#be5f65}.write-feedback{color:#a2682b;text-align:center;margin:0;font-size:14px}.write-hint-preview{color:#697661;text-align:center;letter-spacing:1px;margin:0;font-size:15px}.write-hint-btn{color:#3f513b;cursor:pointer;background:#edf2e6;border:1px solid #d2dfc4;border-radius:12px;padding:11px 22px;font-size:14px;font-weight:700}.write-hint-btn:disabled{opacity:.4;cursor:default}.write-hint-btn:hover:not(:disabled){filter:brightness(.96)}.write-check{color:#537937;flex:none;align-items:center;margin-left:8px;display:inline-flex}.inline-check{color:#537937;vertical-align:middle;flex:none;align-items:center;margin-left:6px;display:inline-flex}.study-top{align-items:center;gap:12px;margin-bottom:14px;display:flex}.back-square{border:1px solid var(--line);color:#3f513b;cursor:pointer;background:#fff;border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.back-square:hover{background:#edf2e6}.back-square.mini{border-radius:10px;flex:0 0 34px;width:34px;height:34px}.study-remaining{color:#697661;font-size:14px;font-weight:700}.stage-counter{color:#3f513b;background:#dce5d3;border:1px solid #c6d5b8;border-radius:20px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:700}.study-card{background:#fff;border:1.5px solid #82976a44;border-radius:24px;flex-direction:column;gap:18px;margin:18px 0;padding:24px;display:flex;box-shadow:0 5px #82976a22}.study-prompt{color:#29352e;overflow-wrap:anywhere;text-align:center;margin:0;font-size:clamp(24px,5vw,34px);font-weight:800;line-height:1.2}.study-translation{color:#566451;text-align:center;margin:0;font-size:clamp(18px,3.5vw,22px)}.study-example{color:#233024;text-align:center;overflow-wrap:anywhere;margin:0;font-size:clamp(22px,5vw,30px);font-weight:700;line-height:1.5}.study-hint{color:#3f513b;text-align:center;background:#e9efdf;border:1px solid #d2dfc4;border-radius:14px;margin:0;padding:14px 18px;font-size:18px;font-weight:600}.hint-btn{color:#3f513b;background:#edf2e6;border:1px solid #d2dfc4;border-radius:14px;align-self:center;padding:11px 22px;font-size:15px;font-weight:700}.hint-btn:hover{filter:brightness(.96)}.order-assembly{border:1px solid var(--line);background:#f9faf6;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:14px;display:flex}.order-token{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px 16px;font-size:18px;font-weight:700}.order-token.correct{color:#315724;cursor:default;background:#e4efd9;border-color:#71994b}.order-token.wrong{color:#a24353;background:#f6e7e9;border-color:#bd6874;text-decoration:line-through}.order-check{color:#537937;justify-content:center;margin:6px 0;display:flex}.match .attempts{flex-direction:row;gap:4px;height:auto;min-height:0;padding:0 4px}.match-cols .attempts i{width:6px;height:6px}.dropdown-list.flip{left:auto;right:0}.answer{min-height:1.85em}.attempts{height:25px}.free-dot{min-width:14px;height:25px}.answer.free.free-saved{background:0 0;border-radius:0}.finish-lesson-btn{color:#fff;letter-spacing:-.2px;cursor:pointer;background:#78a83e;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:420px;min-height:52px;margin:28px auto 36px;padding:16px 24px;font-size:17px;font-weight:600;display:flex;box-shadow:0 4px #5a8230}.finish-lesson-btn:hover:not(:disabled){filter:brightness(1.06)}.finish-lesson-btn:disabled{opacity:.6;cursor:default}.celebrate-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#1e291d55;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebrate-card{text-align:center;background:#fff;border-radius:24px;padding:38px 46px;animation:.4s ease-out pop;box-shadow:0 30px 100px #0003}.celebrate-card h2{color:#3f513b;letter-spacing:-1px;margin:0;font-size:clamp(32px,8vw,52px);font-weight:800;line-height:1.1}.celebrate-card small{color:#697661;margin-top:12px;font-size:14px;font-weight:600;display:block}.finish-modal{text-align:center;width:min(440px,100%)}.finish-modal h2{margin:0 0 8px;font-size:26px}.finish-modal .muted{margin:0 0 20px}.finish-actions{flex-direction:column;gap:10px;display:flex}.finish-primary{color:#fff;cursor:pointer;background:#78a83e;border:0;border-radius:14px;min-height:50px;padding:15px;font-size:16px;font-weight:600}.finish-primary:disabled{opacity:.6;cursor:default}.finish-secondary{color:#3f513b;cursor:pointer;background:#edf2e6;border:1px solid #d2dfc4;border-radius:14px;min-height:50px;padding:15px;font-size:16px;font-weight:700}.finish-secondary:disabled{opacity:.6;cursor:default}@media (width<=650px){.finish-lesson-btn{max-width:calc(100% - 8px);margin:24px auto 30px;padding:15px 20px;font-size:16px}.study-prompt{font-size:24px}.study-example{font-size:22px}.order-token{padding:8px 12px;font-size:16px}.study-card{gap:14px;padding:18px}.back-square{flex-basis:38px;width:38px;height:38px}.hint-btn{padding:10px 18px;font-size:14px}.profile-grid{gap:10px}.p-card{min-height:96px;padding:15px}.p-big{font-size:28px}.p-group-name{font-size:19px}.p-nick-name{font-size:18px}.sh-activity-calendar{max-width:100%;padding:14px}.sh-cal-cell{height:34px}.sh-cal-num{width:28px;height:28px;font-size:14px}.write-card{gap:16px;padding:22px 18px}.write-translation{font-size:24px}.write-field{padding:13px 50px 13px 14px;font-size:17px}.write-send{width:38px;height:38px}.write-hint-btn{padding:10px 18px;font-size:13px}}.class-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.class-main{min-width:0}.class-students-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;max-height:calc(100vh - 24px);padding:14px;position:sticky;top:12px;overflow:auto}.panel-head{margin-bottom:10px}.panel-title{color:#0a0a0a;font-size:15px;font-weight:700;line-height:1.25}.panel-sub{color:#737373;margin-top:2px;font-size:12px}.overview-btn{color:#3f513b;cursor:pointer;background:#edf3e6;border:1px solid #d2dfc4;border-radius:10px;align-items:center;gap:6px;width:100%;margin-bottom:10px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.overview-btn:hover{filter:brightness(.98)}.panel-empty{color:#737373;padding:12px 0;font-size:13px}.student-row{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:9px 8px;display:flex}.student-row:hover{background:#f6f8f5}.student-row.active{background:#edf3e6;box-shadow:inset 0 0 0 2px #3f513b}.s-info{flex:1;min-width:0}.s-name{color:#0a0a0a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.s-meta{color:#737373;margin-top:1px;font-size:11px}.s-bar{background:#e5e7eb;border-radius:3px;height:5px;margin-top:4px;overflow:hidden}.s-bar i{background:#3f513b;border-radius:3px;height:100%;display:block}.s-pct{color:#3f513b;flex:none;font-size:15px;font-weight:700}@media (width<=1100px){.class-workspace{grid-template-columns:1fr}.class-students-panel{order:-1;max-height:none;margin-bottom:16px;position:static}}.delete-account-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px}.delete-account-btn{color:#b3261e;cursor:pointer;background:#fdecec;border:1px solid #e5c1c1;border-radius:12px;width:100%;padding:14px;font-size:15px;font-weight:700}.delete-account-btn:hover{background:#fbdcdc}.delete-modal{width:min(440px,100%)}.delete-modal h2{margin:0 0 10px;font-size:22px}.delete-modal .muted{color:#737373;margin:0 0 18px;font-size:14px;line-height:1.5}.delete-check{color:#0a0a0a;cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 18px;font-size:14px;line-height:1.4;display:flex}.delete-check input{flex:none;width:18px;height:18px;margin-top:3px}.delete-actions{justify-content:flex-end;gap:10px;display:flex}.delete-actions button{cursor:pointer;color:#0a0a0a;background:#fff;border:1px solid #d2dfc4;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:700}.delete-actions button.danger{color:#fff;background:#b3261e;border-color:#b3261e}.delete-actions button:disabled{opacity:.5;cursor:default}.vocab-topplate{background:#f5e3e8;border:1px solid #a94f6b;border-radius:24px;flex-direction:column;gap:10px;margin:0 0 24px;padding:30px 32px;display:flex}.vocab-phrase{color:#a94f6b;overflow-wrap:anywhere;margin:0;font-size:clamp(26px,5vw,38px);font-weight:800;line-height:1.15}.vocab-learned{color:#29352e;margin:0;font-size:18px;font-weight:600}.vocab-overall{align-items:center;gap:14px;margin-top:6px;display:flex}.vocab-overall b{color:#a94f6b;flex:none;font-size:24px;font-weight:800}.vocab-overall progress{flex:1;margin:0}.vocab-overall progress::-webkit-progress-value{background:#82976a}.vocab-overall progress::-moz-progress-bar{background:#82976a}.vocab-module-card{cursor:pointer;background:#fafaf7;border:1.5px solid #82976a44;border-radius:22px;align-items:center;gap:16px;margin:0;padding:20px 22px;display:flex;position:relative;box-shadow:0 5px #82976a22}.vocab-module-card:hover{filter:brightness(1.02)}.vmc-emoji{background:#f5e3e8;border:1px solid #a94f6b33;border-radius:16px;flex:none;place-items:center;width:56px;height:56px;font-size:30px;display:grid}.vmc-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.vmc-body h3{color:#29352e;overflow-wrap:anywhere;margin:0;font-size:clamp(18px,3vw,22px);font-weight:800;line-height:1.2}.vmc-body small{color:#566451;font-size:14px;font-weight:600}.vmc-progress{flex-direction:column;flex:0 0 110px;align-items:flex-end;gap:6px;display:flex}.vmc-progress b{color:#a94f6b;font-size:18px;font-weight:800}.vmc-progress progress{width:100%;height:7px;margin:0}.vmc-progress progress::-webkit-progress-value{background:#82976a}.vmc-progress progress::-moz-progress-bar{background:#82976a}.vmc-mastered{color:#fff;letter-spacing:.3px;background:#82976a;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:800;position:absolute;top:14px;right:18px}.material-emoji{vertical-align:middle;margin-right:8px;font-size:22px}.settings-option{text-align:left;color:#29352e;cursor:pointer;background:#fafaf7;border:1px solid #d2dfc4;border-radius:14px;width:100%;margin:10px 0;padding:15px 18px;font-size:15px;font-weight:700;display:block}.settings-option:hover{filter:brightness(.98)}.settings-option.danger{color:#b3261e;background:#fdecec;border-color:#e5c1c1}.emoji-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.emoji-row input{text-align:center;width:60px;margin:0;font-size:20px}.emoji-pick{border:1px solid var(--line);cursor:pointer;background:#f3f6ed;border-radius:8px;min-width:0;padding:6px 8px;font-size:20px}@media (width<=650px){.vocab-topplate{padding:22px 18px}.vocab-phrase{font-size:24px}.vocab-learned{font-size:16px}.vocab-module-card{gap:12px;padding:16px}.vmc-emoji{border-radius:12px;width:46px;height:46px;font-size:26px}.vmc-progress{flex-basis:84px}.vmc-mastered{top:10px;right:12px}}.student-app .nav-hidden{display:none}.study-stage{border-radius:24px;padding:18px}.study-bg-cards,.study-bg-reverse,.study-bg-match{background:#eaf3fa}.study-bg-write,.study-bg-context{background:#e8f2ee}.study-bg-test{background:#f7e7ed}.study-bg-order{background:#f4efe6}.study-mode-title{color:#3f513b;overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:15px;font-weight:700}@keyframes card-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(70px)}}@keyframes card-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-70px)}}@keyframes card-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.flip-card{animation:.25s ease-out card-in}.flip-card.card-out-right{animation:.28s ease-in forwards card-out-right}.flip-card.card-out-left{animation:.28s ease-in forwards card-out-left}.rate-btn{background:var(--matcha);color:#3f513b;cursor:pointer;border:1.5px solid #82976a55;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.rate-btn:hover:not(:disabled){filter:brightness(.97)}.rate-btn:disabled{opacity:.5;cursor:default}.rate-btn span{font-size:20px;line-height:1}.card-undo{color:#566451;cursor:pointer;background:0 0;border:1px solid #d2dfc4;border-radius:30px;align-items:center;gap:7px;margin-top:14px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.card-undo-mini{color:#566451;cursor:pointer;background:0 0;border:1px solid #d2dfc4;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;margin-left:4px;display:grid}.card-undo-mini span{font-size:18px;line-height:1}.card-undo-mini:hover:not(:disabled){background:#edf2e6}.card-undo-mini:disabled{opacity:.4;cursor:default}.card-undo:hover:not(:disabled){background:#edf2e6}.card-undo:disabled{opacity:.5;cursor:default}.write-send-check{color:#315724;background:#e4efd9;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.st-wrap{background:#f5e3e8;border:1px solid #a94f6b33;border-radius:24px;min-height:50vh;margin:18px 0;padding:18px}.st-top{align-items:center;gap:12px;margin-bottom:16px;display:flex}.st-stage-title{color:#29352e;overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:15px;font-weight:800}.st-counter{color:#697661;white-space:nowrap;background:#fff;border:1px solid #e1e8db;border-radius:20px;flex:none;padding:5px 12px;font-size:13px;font-weight:700}.st-banner{text-align:center;background:#fff;border:1px solid #a94f6b33;border-radius:14px;flex-direction:column;align-items:center;gap:3px;margin-bottom:16px;padding:12px 16px;display:flex}.st-banner b{color:#a94f6b;font-size:17px;font-weight:800}.st-banner span{color:#29352e;font-size:15px;font-weight:700}.st-banner small{color:#697661;font-size:12px;font-weight:600}.st-question{flex-direction:column;gap:18px;display:flex}.st-prompt{color:#29352e;text-align:center;overflow-wrap:anywhere;padding:18px 0;font-size:clamp(24px,5.5vw,36px);font-weight:800;line-height:1.3}.st-options{gap:10px;display:grid}.st-options button{color:#29352e;text-align:left;cursor:pointer;background:#fafaf7;border:1.5px solid #82976a55;border-radius:14px;justify-content:space-between;align-items:center;min-height:54px;padding:16px 18px;font-size:18px;font-weight:700;display:flex}.st-options button:not(:disabled):hover{filter:brightness(.98)}.st-options button:disabled{cursor:default}.st-options button.st-correct{color:#315724;background:#e4efd9;border-color:#71994b}.st-options button.st-wrong{color:#a24353;background:#f6e7e9;border-color:#bd6874}.st-inline-check,.st-inline-x{flex:none;margin-left:8px}.st-inline-check{color:#537937}.st-inline-x{color:#a24353}.st-write{flex-direction:column;align-items:center;gap:14px;display:flex}.st-input{color:#233024;text-align:center;box-sizing:border-box;background:#f4f7ef;border:2px solid #b7c8ab;border-radius:14px;outline:none;width:100%;max-width:400px;padding:16px;font-size:20px}.st-input:focus{border-color:#3f513b}.st-input:disabled{opacity:.7}.st-order{flex-direction:column;gap:14px;display:flex}.st-assembly{border:1px solid var(--line);background:#f9faf6;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:64px;padding:14px;display:flex}.st-assembly button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px 16px;font-size:18px;font-weight:700}.st-assembly button:disabled{cursor:default;opacity:.7}.st-assembly-hint{color:#9aa890;font-size:14px;font-weight:600}.st-bank{border:1px solid var(--line);background:#f3f6ed;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px;display:flex}.st-bank button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px 16px;font-size:18px;font-weight:700}.st-submit{color:#f6f8f5;cursor:pointer;background:#3f513b;border:0;border-radius:14px;align-self:center;min-height:48px;padding:14px 28px;font-size:16px;font-weight:750}.st-submit:disabled{opacity:.5;cursor:default}.st-submit:hover:not(:disabled){filter:brightness(1.06)}.st-result{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:flex}.st-correct-mark{color:#537937;align-items:center;gap:8px;font-size:22px;font-weight:800;display:inline-flex}.st-wrong-mark{color:#a24353;align-items:center;gap:8px;font-size:22px;font-weight:800;display:inline-flex}.st-correct-answer{color:#29352e;margin:0;font-size:17px}.st-correct-answer b{color:#3f513b}.st-next{color:#f6f8f5;cursor:pointer;background:#3f513b;border:0;border-radius:14px;min-height:48px;padding:14px 28px;font-size:16px;font-weight:750}.st-start{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:36px 24px;display:flex}.st-emoji{font-size:48px;line-height:1}.st-start h2{color:#29352e;margin:0;font-size:28px}.st-start p{color:#566451;max-width:420px;margin:0;font-size:15px;line-height:1.5}.st-resume-info{color:#566451;background:#fff;border:1px solid #a94f6b33;border-radius:14px;padding:14px 18px;font-size:14px;line-height:1.5}.st-resume-info b{color:#a94f6b;font-size:16px}.st-start-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.st-start-btn{color:#fff;cursor:pointer;background:#a94f6b;border:0;border-radius:16px;min-height:50px;padding:15px 28px;font-size:16px;font-weight:750}.st-start-btn.st-resume{background:#3f513b}.st-start-btn:hover{filter:brightness(1.05)}.st-results{text-align:center;flex-direction:column;gap:16px;padding:28px 20px;display:flex}.st-results h2{color:#29352e;margin:0;font-size:30px}.st-score{color:#3f513b;margin:0;font-size:22px;font-weight:800}.st-pct{color:#a94f6b;margin:0;font-size:20px;font-weight:700}.st-note{color:#697661;margin:0;font-size:13px}.st-stage-stats{text-align:left;background:#fff;border:1px solid #e1e8db;border-radius:14px;gap:6px;padding:14px 18px;display:grid}.st-stage-stats div{color:#29352e;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;display:flex}.st-stage-stats b{color:#3f513b}.st-errors{text-align:left;background:#fff;border:1px solid #e1e8db;border-radius:14px;padding:14px 18px}.st-errors h3{color:#a24353;margin:0 0 8px;font-size:15px;font-weight:800}.st-errors div{color:#29352e;border-bottom:1px solid #f0f3ec;padding:4px 0;font-size:14px}.st-errors div:last-child{border-bottom:0}.st-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.st-back-btn{color:#3f513b;cursor:pointer;background:#edf2e6;border:1px solid #d2dfc4;border-radius:14px;min-height:48px;padding:14px 24px;font-size:16px;font-weight:750}.st-restart-btn{color:#fff;cursor:pointer;background:#a94f6b;border:0;border-radius:14px;align-items:center;gap:8px;min-height:48px;padding:14px 24px;font-size:16px;font-weight:750;display:inline-flex}@media (width<=650px){.st-wrap{padding:14px}.st-prompt{padding:14px 0;font-size:24px}.st-options button{min-height:48px;padding:14px;font-size:16px}.st-input{font-size:18px}.st-assembly button,.st-bank button{padding:8px 12px;font-size:16px}.st-start{padding:28px 18px}.st-start h2{font-size:24px}.st-results h2{font-size:26px}.st-stage-stats,.st-errors{padding:12px 14px}.study-stage{padding:14px}.rate-btn{padding:11px 16px;font-size:14px}.study-mode-title{font-size:14px}}.comments-bar{cursor:pointer;color:#344d70;text-align:left;background:#eaf0f8;border:1px solid #829abd;border-radius:14px;align-items:center;gap:10px;width:100%;max-width:360px;margin-bottom:14px;padding:12px 16px;font-size:15px;font-weight:700;display:flex}.comments-bar:hover{filter:brightness(.97)}.comments-badge{color:#fff;text-align:center;background:#3f513b;border-radius:20px;min-width:28px;margin-left:auto;padding:3px 10px;font-size:14px;font-weight:800}.comments-modal{flex-direction:column;width:min(520px,100% - 32px);max-height:86dvh;display:flex;position:relative;overflow:hidden}.comments-title{align-items:center;gap:10px;margin:0 0 14px;padding-right:40px;font-size:20px;display:flex}.comments-close{color:#385477;cursor:pointer;z-index:2;background:#fff;border:1px solid #d5dfec;border-radius:10px;width:34px;height:34px;font-size:22px;line-height:1;position:absolute;top:14px;right:16px}.comments-close:hover{background:#edf2f8}.comments-empty{text-align:center;color:#697661;padding:24px 0}.comments-list-items{-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;padding:2px 2px 4px;display:flex;overflow-y:auto}.comment-list-item{text-align:left;cursor:pointer;background:#edf2f8;border:1px solid #d5dfec;border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.comment-list-item:hover{border-color:#b8c9de}.comment-list-item.unread{border-left:3px solid #385477}.cli-teacher{color:#385477;font-size:14px;font-weight:700}.cli-text{color:#202824;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.5}.cli-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.cli-ref{color:#5a6a82;font-size:13px;font-weight:600}.cli-arrow{color:#385477;flex:none}@media (width<=650px){.comments-bar{max-width:100%;padding:11px 14px;font-size:14px}.comments-badge{padding:2px 8px;font-size:13px}}.voice-block{flex-direction:column;gap:12px;margin:14px 0;display:flex}.voice-idle{flex-direction:column;gap:12px;display:flex}.voice-idle-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.voice-record-btn{color:#a34f6b;cursor:pointer;background:#f7e7ed;border:1px solid #e8c3cd;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:440px;min-height:48px;padding:12px 22px;font-size:16px;font-weight:500;transition:background .15s;display:inline-flex}.voice-record-btn:hover{background:#f2dce4}.voice-record-btn:disabled{opacity:.6;cursor:default}.voice-send-btn{color:#fff;cursor:pointer;background:#3f513b;border:none;border-radius:14px;align-items:center;gap:8px;min-height:44px;padding:11px 20px;font-size:15px;font-weight:600;display:inline-flex}.voice-send-btn:disabled{opacity:.7;cursor:default}.voice-recording{background:#fdecee;border:1px solid #f3c3cb;border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.voice-rec-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.voice-rec-indicator{color:#c0392b;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.voice-rec-dot{background:#e74c3c;border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite voice-pulse;display:inline-block}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.voice-timer{color:#5f5746;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.voice-stop-btn{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:14px;align-self:flex-start;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:15px;font-weight:600;display:inline-flex}.voice-saved{flex-direction:column;gap:10px;display:flex}.voice-saved-badge{color:#487d28;background:#dcefc8;border:1px solid #bce0a0;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.voice-error{color:#b3261e;margin:2px 0 0;font-size:14px}@media (prefers-reduced-motion:reduce){.voice-rec-dot{animation:none}}.ex-comment-wrap{flex-direction:column;gap:2px;display:flex}.ex-comment{text-align:left;background:#edf2f8;border:1px solid #d5dfec;border-radius:16px;margin-top:16px;padding:14px 16px}.ex-comment-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ex-comment-author{color:#385477;font-size:14px;font-weight:700}.ex-comment-text{color:#202824;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:16px;line-height:1.5}.ex-comment-read{color:#385477;cursor:pointer;background:#fff;border:1px solid #d5dfec;border-radius:8px;align-self:flex-start;margin:6px 0 0;padding:6px 12px;font-size:12px;font-weight:600}.ex-comment-menu{flex:none;position:relative}.ex-comment-menu-btn{color:#385477;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:2px 4px;line-height:0}.ex-comment-menu-btn:hover{background:#dce6f2}.ex-comment-menu-overlay{z-index:40;position:fixed;inset:0}.ex-comment-menu-pop{z-index:41;background:#fff;border:1px solid #d5dfec;border-radius:12px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:26px;right:0;box-shadow:0 6px 20px #1c2a4022}.ex-comment-menu-pop button{color:#202824;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.ex-comment-menu-pop button:hover{background:#edf2f8}.ex-comment-menu-pop button.danger{color:#b3261e}.ex-comment-edit{margin-top:8px}.ex-comment-edit textarea{resize:vertical;border:1px solid #d5dfec;border-radius:12px;width:100%;min-height:80px;padding:10px 12px;font-size:15px;line-height:1.5}.ex-comment-edit-actions{gap:8px;margin-top:8px;display:flex}.ex-comment-edit-actions button{cursor:pointer;border:1px solid #d5dfec;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.ex-comment-edit-actions button:first-child{color:#fff;background:#385477;border-color:#385477}.ex-comment-edit-actions button:last-child{color:#385477;background:#fff}.ex-comment-err{color:#b3261e;margin:6px 0 0;font-size:13px}.ex-comment-add{margin-top:14px}.ex-comment-add .quiet{font-size:14px}.ex-comment-add textarea{resize:vertical;border:1px solid #d5dfec;border-radius:12px;width:100%;min-height:72px;margin-top:8px;padding:10px 12px;font-size:15px;line-height:1.5}.ex-comment-add-actions{gap:8px;margin-top:8px;display:flex}.ex-comment-add-actions button{cursor:pointer;border:1px solid #d5dfec;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.ex-comment-add-actions button:first-child{color:#fff;background:#385477;border-color:#385477}.ex-comment-add-actions button:last-child{color:#385477;background:#fff}.article-block{max-width:720px;margin:0 auto;padding:8px 4px}.article-block .article-instruction{color:#697661;margin:0 0 12px;font-size:17px;font-style:italic;line-height:1.8}.article-block .article-body{color:#111;font-size:19px;line-height:1.8}.article-block .article-body p{margin:0 0 14px}.article-block .article-body ul,.article-block .article-body ol{margin:0 0 14px;padding-left:24px}.article-block .article-body li{margin-bottom:6px;line-height:1.8}.article-block .article-body b,.article-block .article-body strong{font-weight:700}.article-block .article-body i,.article-block .article-body em{font-style:italic}.article-block .article-body u{text-decoration:underline}@media (width<=650px){.article-block .article-body{font-size:18px;line-height:1.8}.article-block .article-instruction{font-size:15px;line-height:1.8}}.gallery-uploader{flex-direction:column;gap:12px;display:flex}.gallery-thumbs{flex-wrap:wrap;gap:10px;display:flex}.gallery-thumb{background:#f4f4f5;border:2px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;overflow:hidden}.gallery-thumb.error{border-color:#dc2626}.gallery-thumb-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.gallery-thumb-loading{border:3px solid #e5e7eb;border-top-color:#3f513b;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.gallery-thumb-error{color:#dc2626;font-size:24px;font-weight:700}.gallery-thumb-done{color:#3f513b}.gallery-thumb-idx{color:#fff;background:#0000008c;border-radius:4px;padding:0 4px;font-size:11px;font-weight:700;position:absolute;top:2px;left:4px}.gallery-thumb-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0009;padding:1px 3px;font-size:9px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.gallery-thumb-errmsg{color:#dc2626;white-space:normal;font-size:9px;position:absolute;bottom:-16px;left:0;right:0}.gallery-thumb-actions{gap:2px;display:flex;position:absolute;top:2px;right:2px}.gallery-thumb-actions button{cursor:pointer;background:#ffffffd9;border:none;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex}.gallery-thumb-actions button:disabled{opacity:.4;cursor:default}.gallery-thumb-actions button.danger:hover{background:#fecaca}.gallery-add{color:#fff;cursor:pointer;background:#3f513b;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.gallery-add input{display:none}.block-modal .block-modal-section{border-radius:16px;flex-direction:column;width:92vw;max-width:780px;max-height:88vh;display:flex}.block-modal-body{flex:1;padding:0 4px;overflow-y:auto}.block-modal-body label{color:#697661;margin-bottom:12px;font-size:13px;font-weight:600;display:block}.block-modal-body input,.block-modal-body select,.block-modal-body textarea{width:100%;margin-top:4px}.block-modal-body fieldset{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;padding:12px}.block-modal-body legend{color:#344d70;font-size:13px;font-weight:700}.block-modal-body .upload{cursor:pointer;border:2px dashed #c4d4a8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;width:fit-content;padding:8px 12px;display:flex}.block-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.block-modal-footer button{cursor:pointer;border-radius:10px;padding:10px 20px;font-weight:600}.block-modal-footer button.primary{color:#fff;background:#3f513b}.block-modal-footer button.primary:disabled{opacity:.6}.block-modal-footer .green-check{color:#3f513b}.editor-preview-img{border-radius:10px;max-width:300px;margin-top:8px}.material-view{max-width:780px;margin:0 auto}.material-view .block-preview-wrap{margin-bottom:20px;position:relative}.block-preview-actions{justify-content:flex-end;gap:6px;margin-bottom:6px;display:flex}.block-preview-actions button{cursor:pointer;color:#3f513b;background:#eaf0e4;border:1px solid #c4d4a8;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600}.block-preview-actions button.danger{color:#dc2626;background:#fef2f2;border-color:#fecaca}.add-exercise-btn{color:#3f513b;cursor:pointer;background:0 0;border:2px dashed #c4d4a8;border-radius:12px;align-items:center;gap:6px;width:fit-content;margin:20px auto;padding:12px 24px;font-weight:600;display:flex}.add-exercise-btn:hover{background:#eaf0e4}.publish-btn{color:#fff;cursor:pointer;background:#3f513b;border-radius:12px;margin:24px auto;padding:12px 32px;font-size:15px;font-weight:700;display:block}.publish-btn:disabled{opacity:.6}.material-empty{text-align:center;padding:40px 20px}.material-empty .add-exercise-btn{margin:16px auto}.green-check{color:#3f513b}.audio-player{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:8px 0;padding:10px 12px;display:flex}.audio-player .ap-controls{flex:none;align-items:center;gap:10px;display:flex}.audio-player .ap-progress{flex:220px;align-items:center;gap:8px;min-width:0;display:flex}.ap-play{color:#fff;cursor:pointer;background:#78a83e;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 2px 6px #78a83e33}.ap-play:disabled{opacity:.5;cursor:default;box-shadow:none}.ap-play:hover:not(:disabled){filter:brightness(1.05)}.ap-skip{color:#487d28;cursor:pointer;background:#dcefc8;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;gap:1px;width:42px;height:42px;display:flex}.ap-skip:disabled{opacity:.5;cursor:default}.ap-skip:hover:not(:disabled){filter:brightness(.97)}.ap-skip svg{width:18px;height:18px}.ap-skip span{font-size:11px;font-weight:800;line-height:1}.ap-time{color:#3f513b;font-variant-numeric:tabular-nums;text-align:center;flex:none;min-width:40px;font-size:13px}.ap-bar{cursor:pointer;touch-action:none;background:#eef1ea;border-radius:5px;flex:1;min-width:80px;height:8px;position:relative}.ap-bar i{background:#78a83e;border-radius:5px;height:100%;display:block}.ap-speed-wrap{flex:none;position:relative}.ap-speed{color:#487d28;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #85b957;border-radius:10px;min-width:48px;padding:8px 12px;font-size:14px;font-weight:700}.ap-speed:disabled{opacity:.5;cursor:default}.ap-speed:hover:not(:disabled){background:#f6fbef}.ap-speed-menu{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0001}.ap-speed-menu button{color:#3f513b;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-width:56px;padding:8px 14px;font-size:14px;font-weight:600}.ap-speed-menu button:hover{background:#eef5e0}.ap-speed-menu button.active{color:#487d28;background:#dcefc8;font-weight:800}.ap-status{color:#697661;flex:none;font-size:12px}.ap-status.ap-err{color:#b3261e}.audio-player.compact{gap:8px;padding:8px 10px}.audio-player.compact .ap-play{width:40px;height:40px}.audio-player.compact .ap-skip{width:36px;height:36px}.audio-player.compact .ap-skip svg{width:16px;height:16px}.audio-player.compact .ap-speed{min-width:42px;padding:6px 10px;font-size:13px}@media (width<=650px){.audio-player{gap:8px;padding:8px 10px}.ap-play{width:44px;height:44px}.ap-skip{width:40px;height:40px}.ap-time{min-width:34px;font-size:12px}.audio-player .ap-progress{flex-basis:100%}}.audio-dock{background:0 0;border:0;max-height:none;margin:14px 0;padding:0;display:block;position:static;overflow:visible}.audio-dock .audio-player{margin:0}.pinned-audio{align-items:center;gap:8px;margin-top:8px;display:flex}.pinned-audio .audio-player{flex:1;min-width:0;margin:0}.pinned-close{color:#487d28;cursor:pointer;background:#fff;border:1px solid #85b957;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.pinned-close:hover{background:#f6fbef}.lesson-topbar{z-index:12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #dfe4e7;margin-bottom:18px;padding:0 0 10px;position:sticky;top:0}.lesson-top{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;background:0 0;border:0;margin:0;padding:8px 0 0;display:block;position:static}.lesson-top-row{align-items:center;gap:10px;display:flex}.lesson-back{color:#3f513b;cursor:pointer;background:#fff;border:1px solid #dfe4e7;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.lesson-back:hover{background:#edf2e6}.lesson-top h1{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:#233024;flex:1;min-width:0;margin:0;font-size:clamp(17px,2.6vw,21px);line-height:1.2;overflow:hidden}.lesson-top h1.expanded{white-space:normal;overflow-wrap:anywhere;overflow:visible}.lesson-count{color:#78a83e;white-space:nowrap;background:#eef5e0;border-radius:20px;flex:none;justify-content:center;align-items:center;min-width:62px;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.lesson-top .segments{pointer-events:none;gap:5px;height:5px;margin-top:7px;display:flex}.lesson-top .segments i{background:#e3e9dc;border-radius:4px;flex:1}.lesson-top .segments i.filled{background:#78a83e}@media (width<=650px){.lesson-top h1{font-size:17px}.lesson-count{padding:5px 9px;font-size:12px}.lesson-back{flex-basis:34px;width:34px;height:34px}.lesson-topbar{margin-bottom:14px}}.word-bank-compact{top:var(--lesson-top-h,60px)}@media (width<=650px){.word-bank-compact{top:var(--lesson-top-h,56px)}}.dropzone.drag-over{background:#eaf3fa;border-color:#3979ad;box-shadow:0 0 0 2px #3979ad55}.bank-ghost{color:#fff;white-space:nowrap;pointer-events:none;z-index:9999;will-change:transform;background:#3979ad;border-radius:14px;padding:8px 14px;font-size:15px;font-weight:700;line-height:1.2;position:fixed;top:0;left:0;transform:translate(-200px,-200px);box-shadow:0 6px 18px #0003}.notice.info{color:#3f513b;background:#eef5e0;border:1px solid #c6d5b8}.notice.success{color:#487d28;background:#dcefc8;border:1px solid #85b957}.notice.busy{color:#1c4e72;background:#eef4f8;border:1px solid #bbd6ea}.pdf-perm{background:#f6f8f3;border:1px solid #dce6cf;border-radius:8px;margin-top:8px;padding:8px 10px;font-weight:600;display:block}.pdf-sel-actions{gap:8px;margin:10px 0 6px;display:flex}.pdf-list{border:1px solid var(--border,#e5e7eb);border-radius:10px;max-height:46vh;padding:4px;overflow:auto}.pdf-folder-group{margin-bottom:8px}.pdf-folder-head{border-bottom:1px solid var(--border,#e5e7eb);background:#fff;justify-content:space-between;align-items:center;padding:4px 6px;display:flex;position:sticky;top:0}.pdf-folder-head b{font-size:13px}.pdf-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.pdf-row:hover{background:#f6f8f3}.pdf-row-title{flex:1;font-size:14px}.pdf-row-kind{color:#737373;background:#eef1ed;border-radius:6px;padding:1px 7px;font-size:11px}.spin{animation:.8s linear infinite sp}@keyframes sp{to{transform:rotate(360deg)}}.folder-rows{flex-direction:column;gap:8px;display:flex}.folder-row{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:14px;padding:12px 16px;display:flex;position:relative}.folder-row:hover{border-color:#c6d5b8;box-shadow:0 3px #e8ecdf50}.folder-row-icon{color:#5f784a;background:#eef2e6;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.folder-row-body{flex:1;min-width:0}.folder-row-body h3{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:700;line-height:1.3}.folder-row-body small{color:#697661;font-size:13px}.folder-row-menu{flex:none;align-items:center;display:flex;position:relative}.folder-row .card-menu,.folder-toolbar .card-menu,.material-row .card-menu{flex:none;align-items:center;display:flex;position:relative;top:auto;right:auto}.folder-row .card-menu-list,.folder-toolbar .card-menu-list,.material-row .card-menu-list{top:calc(100% + 4px)}.material-rows{flex-direction:column;gap:8px;display:flex}.material-row{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.material-row:hover{background:#fbfcf9;border-color:#c6d5b8}.material-row.dragging{background:#fff;border-color:#a8bd92;box-shadow:0 10px 26px #30482e33}.row-grip{color:#9aa68d;cursor:grab;touch-action:none;border-radius:8px;flex:none;place-items:center;padding:2px;line-height:0;display:grid}.row-grip:hover{color:#5f784a;background:#eef2e8}.row-grip:active{cursor:grabbing}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{color:#233024;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.row-title .material-emoji{vertical-align:middle;margin-right:6px;font-size:18px}.row-sub{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.2;display:flex}.row-kind{color:#5d7480;background:#eef1ed;border-radius:6px;flex:none;padding:1px 7px;font-size:11px;font-weight:700}.row-sub-meta{color:#697661;font-size:12px}.folder-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.folder-toolbar .back{margin:0}.folder-toolbar-menu{flex:none;align-items:center;display:flex;position:relative}.folder-toolbar-spacer{flex:1;min-width:8px}.folder-toolbar-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}@media (width<=650px){.material-row{gap:10px;padding:10px 12px}.row-title{font-size:14px}.folder-toolbar{gap:8px}.folder-toolbar-actions{justify-content:flex-start;width:100%}}.class-rows{flex-direction:column;gap:6px;display:flex}.class-row-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:relative}.class-row-card:hover{border-color:#c6d5b8;box-shadow:0 3px #e8ecdf50}.class-row-info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.class-row-icon{color:#5f784a;flex:none}.class-row-info h3{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:700;line-height:1.3}.class-row-info small{color:#697661;font-size:13px}.class-row-actions{flex:none;align-items:center;gap:8px;display:flex;position:relative}.class-row-actions>button{padding:8px 14px;font-size:13px}.class-row-card .card-menu,.cw3-item .card-menu{flex:none;align-items:center;display:flex;position:relative;top:auto;right:auto}.class-row-card .card-menu-list,.cw3-item .card-menu-list{top:calc(100% + 4px)}.class-tabs{border-bottom:1px solid var(--line);gap:6px;margin:0 0 16px;display:flex}.class-tabs button{color:#697661;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;display:flex}.class-tabs button.active{color:#3f513b;border-color:#78a83e}.class-tabs button:hover{background:#f6f8f5}.class-counts{color:#697661;flex:none;font-size:13px;font-weight:600}.cw3-left-toggle{display:none}.cw3-left,.cw3-right{border:1px solid var(--line);background:#fff;border-radius:14px;align-self:start;max-height:calc(100dvh - 124px);padding:12px;position:sticky;top:104px;overflow:auto}.cw3-left-head{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;margin-bottom:8px;padding-bottom:10px;display:flex}.cw3-left-head b{font-size:14px;font-weight:700}.cw3-add{justify-content:center;padding:8px 12px;font-size:13px}.cw3-list{flex-direction:column;gap:6px;display:flex}.cw3-item{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 36px 10px 12px;position:relative}.cw3-item:hover{background:#f9faf6;border-color:#c6d5b8}.cw3-item.active{background:#dce5d3;border-color:#c6d5b8}.cw3-item-kind{letter-spacing:.5px;color:#5d7480;text-transform:uppercase;font-size:10px;font-weight:800}.cw3-item-title{overflow-wrap:anywhere;margin-top:2px;font-size:14px;font-weight:700;line-height:1.3}.cw3-item-meta{color:#697661;margin-top:2px;font-size:12px}.cw3-item-menu{align-items:center;display:flex;position:absolute;top:6px;right:4px}.cw3-empty{color:#697661;text-align:center;padding:12px 4px;font-size:13px}.cw3-center{flex-direction:column;min-width:0;min-height:50vh;display:flex}.cw3-center-empty{color:#697661;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:40vh;padding:30px;display:flex}.cw3-center-empty svg{color:#a8bd92}.cw3-center-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.cw3-mode-toggle{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.cw3-mode-toggle button{color:#697661;background:#fff;border:0;border-radius:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.cw3-mode-toggle button.active{color:#3f513b;background:#dce5d3}.cw3-mode-toggle button:disabled{opacity:.4;cursor:default}.cw3-center-actions{flex-wrap:wrap;gap:6px;display:flex}.cw3-act{border:1px solid var(--line);color:#3f513b;background:#fff;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600}.cw3-act:hover{background:#f6f8f5}.cw3-content{flex:1;width:100%;min-width:0}.cw3-right-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:10px}.cw3-right-head b{font-size:14px;font-weight:700;display:block}.cw3-right-head small{color:#697661;font-size:12px}.cw3-student{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.cw3-student:hover{background:#f6f8f5}.cw3-student.active{background:#edf3e6;box-shadow:inset 0 0 0 2px #3f513b}.cw3-panel-empty{color:#697661;text-align:center;padding:12px 0;font-size:13px}.cw3-panel-btn{border:1px solid var(--line);color:#3f513b;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.cw3-panel-btn small{background:#eef2e6;border-radius:8px;margin-left:2px;padding:1px 6px;font-weight:700}.assign-kind{color:#697661;background:#eef2e6;border-radius:6px;flex:none;padding:2px 8px;font-size:11px}@media (width<=1000px){.class-workspace3{grid-template-columns:1fr}.cw3-left-toggle{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.cw3-left,.cw3-right{order:1;align-self:auto;max-height:none;display:none;position:static;top:auto;overflow:visible}.cw3-left.open,.cw3-right.open{margin-bottom:12px;display:block}.cw3-center{order:2}.cw3-left-toggle .cw3-panel-btn.active{background:#dce5d3;border-color:#c6d5b8}}@media (width<=650px){.class-row-card{flex-wrap:wrap}.class-row-actions{justify-content:flex-end;width:100%}.cw3-center-head{flex-direction:column;align-items:stretch}.cw3-mode-toggle button{padding:7px 10px;font-size:12px}.folder-row,.class-row-card{padding:10px 12px}}.class-comp{max-width:640px}.comp-section{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px 16px}.comp-head{color:#3f513b;border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0 0 10px;padding-bottom:8px;font-size:15px;font-weight:700;display:flex}.comp-head small{color:#697661;background:#eef2e6;border-radius:8px;padding:1px 8px;font-size:12px;font-weight:700}.comp-row{border-bottom:1px solid #f0f3ec;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.comp-row:last-child{border-bottom:0}.comp-name{color:#233024;font-size:14px;font-weight:600}.comp-name small{color:#697661;font-size:12px;font-weight:400;display:block}.comp-remove{color:#a23f48;background:#fff;border:1px solid #e5c1c1;border-radius:8px;flex:none;align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:inline-flex}.comp-remove:hover{background:#fdecec}.comp-empty{color:#697661;padding:6px 0;font-size:13px}.comp-add{align-items:center;gap:8px;margin-top:10px;display:flex}.comp-add select{flex:1;min-width:0}.comp-add button{flex:none;padding:9px 14px;font-size:13px}.comp-hint{color:#697661;font-size:13px;font-style:italic}.view-sentinel{width:100%;height:1px;margin-top:8px}.title-view-row{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 4px;display:flex}.lesson-title-display{color:#233024;overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0;margin:0;font-size:26px;font-weight:800;line-height:1.2}.title-edit-btn{color:#5f784a;border:1px solid var(--line);background:0 0;border-radius:12px;padding:9px 14px;font-size:14px;font-weight:700}.title-edit-row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px;display:flex}.title-edit-input{color:#233024;background:#fff;border:1.5px solid #b7c8ab;border-radius:12px;outline:none;flex:1;min-width:220px;padding:11px 14px;font-size:18px;font-weight:600}.title-edit-input:focus{border-color:#3f513b}.title-save-btn{color:#fff;background:#5f784a;border-radius:12px;padding:11px 16px;font-size:15px;font-weight:700}.title-save-btn:disabled{opacity:.6}.title-cancel-btn{color:#697661;border:1px solid var(--line);background:0 0;border-radius:12px;padding:11px 14px;font-size:15px;font-weight:600}.title-cancel-btn:disabled{opacity:.6}.title-err{color:#a23f48;width:100%;font-size:13px;font-weight:600}@media (width<=650px){.lesson-title-display{font-size:22px}.title-edit-input{min-width:160px;font-size:16px}.title-edit-row{flex-direction:row}.title-save-btn,.title-cancel-btn{flex:none}}.vocab-back-row{margin:0 0 14px}.scope-picker{text-align:center;max-width:360px}.scope-picker h2{margin:0 0 18px}.scope-option{background:#f6f7f0;border:1px solid #d8e0d4;border-radius:16px;width:100%;margin:0 0 12px;padding:16px;font-size:17px;font-weight:700;display:block}.scope-option:hover{background:#eef1e6}.student-bar{align-items:center;height:auto;min-height:0;padding:16px 4vw 14px;display:flex}.sbar{flex-wrap:wrap;align-items:baseline;gap:16px;width:100%;display:flex}.sbar h1{color:#a94f6b;letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(22px,3.6vw,30px);font-weight:800}.sbar-streak,.sbar-count{color:#5f784a;align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.assignment.compact{padding:16px 22px}.assignment.compact h2{margin:14px 0}.assignment.compact .assignment-heading{min-height:0;margin:8px 0 12px}.assignment.compact .praise{margin:0 0 12px}.assignment.compact progress{margin:14px 0}@media (width<=650px){.assignment.compact{padding:13px 18px}.assignment.compact h2{margin:10px 0}.assignment.compact .assignment-heading{min-height:0;margin:6px 0 10px}.assignment.compact .praise{margin:0 0 10px}.assignment.compact progress{margin:10px 0}.sbar{gap:12px}}.student-app{--pad-x:16px}.student-app>header.student-bar{height:auto;min-height:0;padding:12px var(--pad-x) 14px;border-bottom:1px solid #eef1e6}.student-app>main{padding-top:8px;padding-left:var(--pad-x);padding-right:var(--pad-x);margin-top:0}@media (width>=650px){.student-app{--pad-x:24px}.student-app>main,.student-app>header.student-bar{padding-left:190px;padding-right:20px}}@media (width>=900px){.student-app{--pad-x:32px}.student-app>main,.student-app>header.student-bar{padding-left:240px;padding-right:32px}}@media (width<=650px){.student-app>main{padding:8px var(--pad-x) calc(96px + env(safe-area-inset-bottom,0px));margin:0 auto}}.student-app .sbar{flex-wrap:wrap;gap:12px;width:100%;display:flex}.student-app .sbar.sbar-row{justify-content:space-between;align-items:center}.student-app .sbar.sbar-stack{flex-direction:column;align-items:flex-start;gap:6px}.student-app .sbar h1{color:#a94f6b;letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:26px;font-weight:700;line-height:1.2}.student-app .sbar-streak{color:#5f784a;white-space:nowrap;background:#eef3e6;border:1px solid #d3e0c4;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.student-app .sbar-count{color:#3f513b;white-space:nowrap;background:#e8eede;border:1px solid #d3e0c4;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}@media (width>=650px){.student-app .sbar h1{font-size:28px}}.student-app .vocab-topplate{background:#f5e3e8;border:1px solid #e8c3cd;border-radius:22px;flex-direction:column;gap:12px;margin:0 0 16px;padding:18px 20px;display:flex}.student-app .vocab-phrase{color:#a94f6b;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:700;line-height:1.2}.student-app .vocab-learned{color:#29352e;margin:0;font-size:15px;font-weight:600}.student-app .vocab-overall{align-items:center;gap:12px;margin:0;display:flex}.student-app .vocab-overall b{color:#a94f6b;flex:none;font-size:17px;font-weight:800}.student-app .vocab-overall progress{flex:1;height:8px;margin:0}.student-app .vocab-overall progress::-webkit-progress-value{background:#82976a}.student-app .vocab-overall progress::-moz-progress-bar{background:#82976a}.student-app .grid{gap:14px}.student-app .vocab-module-card{cursor:pointer;background:#fff;border:1px solid #e3e9d6;border-radius:22px;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:16px 18px;display:flex;position:relative;box-shadow:0 2px 8px #1c2a140c}.student-app .vmc-emoji{background:#f5e3e8;border:1px solid #e8c3cd;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.student-app .vmc-body{flex-direction:column;flex:140px;gap:3px;min-width:0;display:flex}.student-app .vmc-body h3{color:#29352e;overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:700;line-height:1.25}.student-app .vmc-body small{color:#566451;font-size:14px;font-weight:600}.student-app .vmc-progress{flex:none;align-items:center;display:flex}.student-app .vmc-progress b{color:#a94f6b;font-size:17px;font-weight:800}.student-app .vmc-bar{border-radius:10px;flex:100%;width:100%;height:7px;margin:10px 0 0}.student-app .vmc-bar::-webkit-progress-value{background:#82976a}.student-app .vmc-bar::-moz-progress-bar{background:#82976a}.student-app .vmc-mastered{color:#fff;background:#82976a;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;right:14px}.student-app .hw-list{flex-direction:column;gap:14px;max-width:760px;display:flex}.student-app .hw-section-title{color:#3f513b;margin:18px 0 2px;font-size:17px;font-weight:700}.student-app .assignment{background:#fff;border:1px solid #e2e8d8;border-radius:22px;margin:0;padding:20px 22px;box-shadow:0 2px 8px #1c2a140f}.student-app .assignment.main-hw{background:#eaf1f8;border-color:#d3e0ec;box-shadow:0 3px 12px #3b6a9914}.student-app .assignment.complete{background:#e7efdd;border-color:#d3e0c4}.student-app .assignment.gift{background:#eef3f0}.student-app .assignment.compact{padding:14px 16px}.student-app .hw-status{color:#5f784a;margin:0 0 10px;font-size:13px;font-weight:700}.student-app .assignment.main-hw .hw-status{color:#38618a}.student-app .assignment.complete .hw-status{color:#3f513b}.student-app .assignment.compact .hw-status{margin-bottom:8px;font-size:12px}.student-app .assignment-heading{align-items:center;gap:12px;min-height:0;margin:0 0 14px;display:flex}.student-app .assignment.compact .assignment-heading{margin:0 0 10px}.student-app .assignment h2{letter-spacing:-.01em;overflow-wrap:anywhere;color:#233024;flex:1;min-width:0;margin:0;font-size:22px;font-weight:700;line-height:1.25}.student-app .assignment.compact h2{font-size:18px}.student-app .assignment .gift-art{flex:none;font-size:34px;line-height:1}.student-app .assignment.compact .gift-art{font-size:26px}.student-app .assignment .prototype-art{flex-basis:30px;width:30px;height:30px}.student-app .assignment.compact .prototype-art{flex-basis:24px;width:24px;height:24px}.student-app .assignment .praise{color:#344d2d;margin:0 0 12px;font-size:15px;font-weight:700}.student-app .assignment.compact .praise{margin:0 0 10px;font-size:14px}.student-app .assignment progress{background:#e8ecdf;border-radius:10px;height:8px;margin:0}.student-app .assignment.compact progress{height:7px}.student-app .assignment.main-hw progress{background:#d9e4ee}.student-app .assignment progress::-webkit-progress-bar{background:#e8ecdf}.student-app .assignment.main-hw progress::-webkit-progress-bar{background:#d9e4ee}.student-app .assignment progress::-webkit-progress-value{background:#7e9c5b;border-radius:10px}.student-app .assignment.main-hw progress::-webkit-progress-value{background:#38618a}.student-app .assignment progress::-moz-progress-bar{background:#7e9c5b}.student-app .assignment.main-hw progress::-moz-progress-bar{background:#38618a}.student-app .assignment-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.student-app .assignment.compact .assignment-footer{margin-top:10px}.student-app .assignment-percent{letter-spacing:-.5px;color:#3f513b;white-space:nowrap;font-size:20px;font-weight:800;line-height:1}.student-app .assignment.main-hw .assignment-percent{font-size:24px}.student-app .assignment.compact .assignment-percent{font-size:18px}.student-app .assignment-percent small{color:inherit;font-size:13px;display:inline}.student-app .assignment-open{color:#fff;background:#3f513b;border-radius:14px;gap:8px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:700}.student-app .assignment.main-hw .assignment-open{background:#38618a}.student-app .assignment.complete .assignment-open{background:#6d8856}.student-app .assignment.compact .assignment-open{min-height:40px;padding:9px 14px;font-size:13px}@media (width<=650px){.student-app>nav{bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:20px;gap:4px;width:calc(100% - 24px);max-width:560px;padding:6px;left:50%;right:auto;transform:translate(-50%)}.student-app>nav button{border-radius:14px;flex-direction:column;flex:1 1 0;gap:4px;min-width:0;min-height:0;padding:8px 4px;font-size:12px;font-weight:600}.student-app>nav button.active{background:var(--matcha);color:#283d22}.student-app>nav svg{width:23px;height:23px}}.block-preview-actions{flex-wrap:wrap;align-items:center;gap:6px}.block-drag-handle{color:#3f513b;cursor:grab;touch-action:none;background:#f3f7ec;border:1px solid #c4d4a8;border-radius:8px;justify-content:center;align-items:center;width:34px;height:32px;display:inline-flex}.block-drag-handle:active{cursor:grabbing}.block-move{cursor:pointer;color:#3f513b;background:#eaf0e4;border:1px solid #c4d4a8;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600}.block-move:disabled{opacity:.4;cursor:default}.block-actions-spacer{flex:auto}.block-preview-wrap.dragging{z-index:20;background:#fff;border-radius:20px;box-shadow:0 12px 30px #1c2a4033}.block-preview-wrap.dragging .block-drag-handle{cursor:grabbing}.cw3-vocab-update{border:1px solid var(--line);color:#3f513b;background:#fff;border-radius:9px;width:100%;margin-top:8px;padding:6px 10px;font-size:12px;font-weight:700}.cw3-vocab-update:hover{background:#f9faf6;border-color:#c6d5b8}.cw3-vocab-update:disabled{opacity:.5;cursor:default}.vocab-diff{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.vocab-diff li{border:1px solid var(--line);background:#f6f8f1;border-radius:10px;justify-content:space-between;gap:10px;padding:8px 12px;font-size:14px;display:flex}.vocab-diff-list{border:1px solid var(--line);color:#29352e;background:#fbfcf8;border-radius:10px;flex-direction:column;gap:4px;max-height:180px;margin:6px 0 10px;padding:8px 12px;font-size:14px;display:flex;overflow:auto}.class-workspace3{grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,252px);align-items:start;gap:18px;display:grid}.class-workspace3>aside,.cw3-center{min-width:0}.cw3-center{width:auto;max-width:none;margin:0;padding:0}.cw3-center-head{min-width:0}.cw3-content,.cw3-content>*{min-width:0;max-width:100%}.cw3-content h1,.cw3-content h2,.cw3-content h3,.cw3-content p,.cw3-content blockquote{overflow-wrap:anywhere}.cw3-content .word-bank-compact{display:none}@media (width>=650px) and (width<=899.98px){.student-app>main{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.student-app>header.student-bar{padding-left:24px;padding-right:24px}}@media (width>=900px) and (width<=1199.98px){.student-app>main{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.student-app>header.student-bar{padding-left:24px;padding-right:24px}}@media (width>=1200px){.student-app>main{width:66.6667%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.student-app>header.student-bar{padding-left:0;padding-right:0}.student-app>header.student-bar .sbar{width:66.6667%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}}.learn-switch{background:#f1f3ef;border:1px solid #e4e9dd;border-radius:16px;flex-wrap:wrap;gap:4px;margin:0 0 16px;padding:4px;display:flex}.learn-seg{text-align:center;color:#475047;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;background:0 0;border:1px solid #0000;border-radius:12px;flex:160px;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:12px 14px;font-size:15.5px;font-weight:500;line-height:1.25;display:flex}.learn-seg.active{color:#355527;background:#dcefc8;border-color:#cddfb6;font-weight:600}.learn-picker{margin:0 0 16px;position:relative}.learn-picker-btn{color:#355527;text-align:left;white-space:normal;background:#f1f3ef;border:1px solid #e4e9dd;border-radius:16px;align-items:center;gap:10px;width:100%;min-height:44px;padding:12px 14px;font-size:15.5px;font-weight:600;line-height:1.25;display:flex}.learn-picker-text{overflow-wrap:anywhere;flex:1;min-width:0}.learn-picker-chev{color:#66755c;flex:none}.learn-picker-list{z-index:30;background:#fff;border:1px solid #e4e9dd;border-radius:16px;gap:2px;max-height:60vh;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #2530271f}.learn-option{color:#253027;text-align:left;white-space:normal;background:0 0;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;font-size:15px;font-weight:500;line-height:1.25;display:flex}.learn-option.active{color:#355527;background:#dcefc8;font-weight:600}.learn-option-title{overflow-wrap:anywhere;flex:1;min-width:0}.learn-option-check{color:#355527;flex:none}@media (width<=520px){.learn-switch{gap:6px}.learn-seg{flex:100%}}.class-kind-row{border:1px solid var(--line);background:#fbfcf9;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.class-kind-label{color:#4b5a3f;font-size:13px;font-weight:800}.class-kind-choice{border:1px solid var(--line);background:#f4f6f0;border-radius:12px;gap:4px;padding:4px;display:flex}.class-kind-choice button{color:#63735a;background:0 0;border-radius:9px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:800}.class-kind-choice button.active{color:#33421f;background:#fff;box-shadow:0 1px 2px #25302714}.class-type-tabs{border:1px solid var(--line);background:#f4f6f0;border-radius:14px;gap:5px;max-width:460px;margin:0 0 14px;padding:5px;display:flex}.class-type-tabs button{color:#5b6b52;background:0 0;border:none;border-radius:11px;flex:1;min-height:46px;padding:10px 12px;font-size:15px;font-weight:800;transition:background .15s,color .15s}.class-type-tabs button.active{color:#fff;background:#5f784a;box-shadow:0 2px 8px #3f513b33}.class-kind-hint{color:#78866c;font-size:12.5px;font-weight:600}.unit-type-field{gap:8px;margin:14px 0 0;display:grid}.unit-type-label{color:#4b5a3f;font-size:14px;font-weight:800}.unit-type-choice{border:1px solid var(--line);background:#f4f6f0;border-radius:12px;gap:6px;padding:4px;display:flex}.unit-type-choice button{color:#63735a;white-space:normal;background:0 0;border-radius:9px;flex:1;padding:10px 8px;font-size:13px;font-weight:800;line-height:1.25}.unit-type-choice button.active{color:#33421f;background:#fff;box-shadow:0 1px 2px #25302714}.unit-type-hint{color:#78866c;font-size:12.5px;font-weight:600;line-height:1.35}.unit-info-tag{letter-spacing:.02em;text-transform:uppercase;color:#6b7a5f;vertical-align:middle;white-space:nowrap;background:#eef2e8;border:1px solid #dbe3d3;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:800}.unit-info-badge{color:#6b7a5f;background:#f1f4ec;border:1px solid #e2e8da;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.unit-card-info{background:#fdfefb}.units-toggle{border:1px solid var(--line);background:#f4f6f0;border-radius:12px;gap:4px;margin-top:4px;padding:4px;display:flex}.units-toggle button{color:#63735a;background:0 0;border-radius:9px;flex:1;padding:7px 8px;font-size:12px;font-weight:800}.units-toggle button.active{color:#33421f;background:#fff;box-shadow:0 1px 2px #25302714}.compose-unit{color:#4b5a3f;align-items:center;gap:10px;margin:14px 0 0;font-size:14px;font-weight:800;display:flex}.compose-unit select{border:1px solid var(--line);color:#253b25;background:#fff;border-radius:12px;flex:1;min-width:0;padding:10px 12px;font-weight:700}.units-admin{gap:10px;padding:2px 0 8px;display:grid}.unit-admin{background:#fbfcf9;border:1px solid #dbe3d3;border-radius:16px;padding:8px}.unit-admin.dragging{opacity:.6}.unit-admin.loose{background:#f7f9f5;border-style:dashed}.unit-admin-head{align-items:center;gap:8px;padding:4px 4px 6px;display:flex}.unit-admin-title{color:#33421f;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:800;display:flex;overflow:hidden}.unit-admin-emoji{font-size:15px}.unit-admin-count{color:#6c7d5c;background:#eef2e8;border-radius:8px;padding:2px 7px;font-size:11px;font-weight:800}.unit-admin-tools{gap:2px;margin-left:auto;display:flex}.unit-admin-btn{color:#6b7a5d;background:0 0;border-radius:8px;padding:5px}.unit-admin-btn:hover{background:#eef2e8}.unit-admin-btn.danger{color:#b0545c}.unit-admin-body{gap:4px;display:grid}.unit-admin-empty{color:#7c8a6f;margin:2px 6px 6px;font-size:12px}.unit-drag{color:#9aa891;cursor:grab;align-items:center;display:inline-flex}.unit-admin-item{cursor:pointer;background:#fff;border:1px solid #e4eade;border-radius:12px;align-items:center;gap:8px;padding:8px 9px;display:flex}.unit-admin-item.active{background:#f4f8ee;border-color:#a8c184}.unit-admin-item-title{color:#253027;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.unit-admin-item-meta{color:#78866c;white-space:nowrap;font-size:11px}.unit-admin-select{border:1px solid var(--line);color:#4b5a3f;background:#fff;border-radius:9px;max-width:118px;padding:5px 4px;font-size:11px;font-weight:700}.unit-stack{gap:14px;margin:0 0 18px;display:grid}.unit-card{background:#fff;border:1px solid #dbe3d3;border-radius:20px;margin:0;padding:0;overflow:hidden;box-shadow:0 3px #eef2e8}.unit-head{text-align:left;background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;padding:16px 18px;display:flex}.unit-emoji{font-size:24px;line-height:1}.unit-head-text{gap:3px;min-width:0;display:grid}.unit-title{color:#253027;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;overflow:hidden}.unit-meta{color:#78866c;font-size:12.5px;font-weight:700}.unit-chev{color:#78866c;margin-left:auto;transition:transform .18s}.unit-card.open .unit-chev{transform:rotate(180deg)}.unit-rows{gap:6px;padding:0 12px 14px;display:grid}.unit-row{text-align:left;background:#fbfcf9;border:1px solid #e6ece0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.unit-row:hover{background:#f4f8ee}.unit-row-title{color:#253027;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.unit-row-progress{color:#5f784a;white-space:nowrap;font-size:12px;font-weight:800}.unit-row-go{color:#9aa891;display:inline-flex}@media (width<=640px){.unit-head{padding:14px}.unit-title{font-size:16px}.unit-row{padding:11px 12px}.unit-admin-select{max-width:96px}}.gap-text,.gap-text .protected,.article-body{word-break:normal;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word}.exercise-heading h3,.cat-placed,.cat-name-pill,.match button,.match-pair,.gap-readonly{word-break:normal;-webkit-hyphens:none;hyphens:none}.answer-group{vertical-align:baseline;flex-wrap:nowrap;align-items:baseline;max-width:100%;display:inline-flex}.answer-group>.answer{flex:0 auto;min-width:0}.answer-tail{white-space:nowrap}.answer{position:relative}.answer-peek{box-sizing:border-box;color:#3b5a22;font-weight:600;font-size:inherit;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:2;background:#edf6e1;border:1.5px solid #9dbe74;border-radius:14px;justify-content:center;align-items:center;padding:0 8px;line-height:1.3;display:flex;position:absolute;inset:0;overflow:hidden}.answer.peeking .attempts,.answer.peeking .free-dot{visibility:hidden}.answer-peek-full{z-index:40;color:#fff;white-space:normal;word-break:normal;overflow-wrap:break-word;pointer-events:none;background:#2c3b26;border-radius:12px;max-width:min(340px,80vw);padding:8px 12px;font-size:14px;font-weight:700;line-height:1.4;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 6px 18px #00000026}.progress-pill{color:#5f784a;white-space:nowrap;background:#eef2e8;border:1px solid #dbe3d3;border-radius:999px;align-items:center;gap:3px;padding:2px 9px;font-size:11.5px;font-weight:800;line-height:1.5;display:inline-flex}.assignment-score{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.unit-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.unit-pct{color:#3f513b;font-size:12.5px;font-weight:800}.unit-row-pill{color:#5f784a;white-space:nowrap;background:#eef2e8;border:1px solid #dbe3d3;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:800;line-height:1.5}.unit-row.is-done{background:#e7efdd;border-color:#d3e0c4}.unit-row.is-done .unit-row-title{color:#2f4426}.unit-row.is-done .unit-row-go{color:#5f784a}.unit-row.is-locked{cursor:default;background:#f7f8f5;border-style:dashed}.unit-row.is-locked .unit-row-title{color:#6f7d64}.unit-row-lock{color:#7c8a6f;white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;font-weight:800;display:inline-flex}.unit-sched-badge{color:#8a6a2f;white-space:nowrap;background:#fbf3df;border:1px solid #f0e2bf;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:800}.unit-admin-item-sched{color:#8a6a2f;white-space:nowrap;background:#fbf3df;border:1px solid #f0e2bf;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;font-weight:800;display:inline-flex}.cw3-sched{color:#8a6a2f;align-items:center;gap:3px;font-weight:700;display:inline-flex}.sched-warn{color:#a2682b;background:#fbf3df;border:1px solid #f0e2bf;border-radius:10px;padding:7px 10px;font-size:12.5px;font-weight:700;line-height:1.35}.class-tz-select{border:1px solid var(--line);color:#33421f;background:#fff;border-radius:10px;max-width:220px;padding:7px 10px;font-size:13px;font-weight:700}.student-app .assignment.locked{background:#f8f9f6;border-style:dashed}.student-app .assignment.locked .hw-status{color:#8a6a2f}.hw-locked{color:#8a6a2f;background:#fbf3df;border:1px solid #f0e2bf;border-radius:14px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.student-app .vocab-module-card.locked{cursor:default;background:#f8f9f6;border-style:dashed}.vmc-locked{align-items:center;gap:4px;font-weight:800;display:inline-flex;color:#8a6a2f!important}@media (width<=640px){.unit-row{flex-wrap:wrap}.unit-row-title{flex:100%}.unit-head-text{flex:1}.progress-pill,.unit-row-pill,.unit-row-lock{font-size:11px}}nav{gap:4px;padding:18px 14px}nav button{padding:10px 12px}.folder-rows{gap:6px}.folder-row{gap:10px;padding:8px 12px}.folder-row-icon{border-radius:9px;width:32px;height:32px}.folder-row-body h3{font-size:15px}.folder-row-body small{font-size:12px}.lib-unit-rows{flex-direction:column;gap:6px;margin:0 0 8px;display:flex}.lib-unit-row{cursor:pointer;box-shadow:none;background:#fff;border-radius:14px;align-items:center;gap:12px;min-width:0;margin:0;padding:10px 14px;display:flex}.lib-unit-row:hover{border-color:#c6d5b8}.lib-unit-row-icon{color:#5f784a;background:#eef2e6;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.lib-unit-row-body{flex:1;min-width:0}.lib-unit-row-body h3{overflow-wrap:anywhere;margin:0;font-size:16px}.lib-unit-row-body small{font-size:12px}.lib-unit-view{flex-direction:column;gap:10px;min-width:0;display:flex}.lib-path{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.lib-path-sep{color:#8da475}.lib-unit-name{overflow-wrap:anywhere;font-size:18px}.lib-rename{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.lib-rename input{border:1px solid var(--line);border-radius:10px;max-width:280px;padding:6px 10px;font-size:16px}.lib-rename-save{padding:6px 10px}.lib-rename-btn{align-items:center;gap:6px;padding-left:0;font-size:13px;display:inline-flex}.lib-unit-actions{flex-wrap:wrap;gap:8px;display:flex}.lib-add-panel{background:#fbfcf9;border:1px dashed #c6d5b8;border-radius:14px;flex-direction:column;gap:6px;padding:10px;display:flex}.lib-add-item{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:flex-start;gap:10px;min-width:0;padding:9px 12px}.lib-add-item span{overflow-wrap:anywhere;flex:140px;min-width:0;font-weight:700}.lib-add-item small{white-space:nowrap;font-size:12px}.lib-lessons{flex-direction:column;gap:6px;display:flex}.lib-lesson-row{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.lib-lesson-row:hover{border-color:#c6d5b8}.lib-lesson-ico{color:#5f784a;background:#eef2e6;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.lib-lesson-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lib-lesson-body b{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.lib-lesson-body small{font-size:12px}.lib-lesson-tools{flex:none;gap:2px;display:flex}.picker-subhead{color:#4b5a3f;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px;font-size:12px;font-weight:800}.picker-unit-list{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.picker-unit{border:1px solid var(--line);text-align:left;background:#f7f9f5;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;min-width:0;padding:9px 12px;display:flex}.picker-unit-emoji{font-size:17px}.picker-unit-body{flex-direction:column;flex:1;min-width:0;display:flex}.picker-unit-body b{overflow-wrap:anywhere;font-size:14px}.class-workspace3{grid-template-columns:minmax(0,266px) minmax(0,1fr) minmax(0,248px)}.class-workspace3>aside{min-width:0;max-width:100%;overflow-x:hidden}.cw3-left-head{gap:6px;margin-bottom:6px;padding-bottom:6px}.cw3-add{padding:8px 10px;font-size:12.5px}.units-admin{gap:8px;min-width:0;padding:0 0 6px}.unit-admin,.unit-admin-head,.unit-admin-body,.unit-admin-item,.unit-admin-title{min-width:0;max-width:100%}.unit-admin{padding:7px}.unit-admin-head{flex-direction:column;gap:4px;max-width:100%;padding:2px 2px 4px;display:flex}.unit-admin-toggle{text-align:left;background:0 0;border-radius:10px;justify-content:flex-start;gap:6px;width:100%;min-width:0;padding:4px 3px}.unit-admin-toggle:hover{background:#f1f5ea}.unit-admin-chev{color:#7b8b6a;flex:none;transition:transform .18s}.unit-admin-chev.open{transform:rotate(180deg)}.unit-admin-emoji{flex:none;font-size:15px;line-height:1.2}.unit-admin-name{color:#33421f;text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;flex:auto;min-width:0;font-size:14px;font-weight:800;line-height:1.32}.unit-admin-meta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding-left:25px;display:flex}.unit-admin-type{letter-spacing:.03em;text-transform:uppercase;color:#6b7a5f;font-size:10.5px;font-weight:800}.unit-admin-dot{color:#b3bfa8;font-weight:800}.unit-admin-count{flex:none}.unit-admin.loose .unit-admin-head{flex-direction:row;align-items:center;gap:8px}.unit-admin.loose .unit-admin-title{white-space:normal;text-overflow:clip;overflow-wrap:break-word;flex:auto;font-size:13.5px;overflow:visible}.unit-sched-badge{white-space:normal;flex:100%;font-size:10.5px}.unit-admin-tools{flex-wrap:wrap;align-items:center;gap:2px;margin-left:auto;display:flex}.unit-admin-body{gap:4px}.unit-admin-item{overflow-wrap:anywhere;flex-direction:column;align-items:stretch;gap:3px;padding:7px 8px;display:flex}.uai-main{overflow-wrap:anywhere;white-space:normal;font-size:13px;font-weight:700;line-height:1.3}.uai-sub{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.uai-meta{color:#78866c;white-space:nowrap;font-size:11px}.uai-tools{flex-wrap:wrap;align-items:center;gap:2px;margin-left:auto;display:flex}.unit-admin-select{max-width:100%;padding:4px 5px;font-size:11px}.unit-admin-add{background:#eef2e8;border:1px dashed #c6d5b8;border-radius:10px;justify-content:center;width:100%;margin-top:3px;padding:6px 10px;font-size:12px}.modal{z-index:1000}.modal>section{max-height:88dvh}.modal.sched-modal>section{width:min(520px,100%)}.test-runner{flex-direction:column;gap:12px;display:flex}.test-counter{letter-spacing:.08em;text-transform:uppercase;color:#5f784a;margin:0;font-size:12px;font-weight:800}.test-question{color:#111;white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:19px;font-weight:600;line-height:1.6}.test-hint{color:#697661;margin:0;font-size:13px;font-weight:700}.test-options{gap:12px;margin:4px 0 2px;display:grid}.test-option{color:#111;text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;background:#fff;border:1.5px solid #dfe4e7;border-radius:16px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:60px;padding:14px 16px;font-size:17px;font-weight:600;line-height:1.45;display:flex}.test-option:hover:not(:disabled){filter:none;border-color:#a8bd92;box-shadow:0 0 0 2px #eef2e8}.test-option:disabled{opacity:1;cursor:default}.test-option-mark{color:#5f784a;background:#f2f5ed;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:grid}.test-option-mark.check{background:#fff;border:2px solid #b8c4be;border-radius:7px}.test-option-text{flex:1;min-width:0}.test-option.is-correct{color:#487d28;background:#dcefc8;border-color:#85b957}.test-option.is-correct .test-option-mark{color:#fff;background:#78a83e}.test-option.is-correct .test-option-mark.check{background:#78a83e;border-color:#78a83e}.test-option.is-wrong{color:#b3261e;background:#fde8ea;border-color:#d8394b}.test-option.is-wrong .test-option-mark{color:#fff;background:#d8394b;border-color:#d8394b}.test-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.test-nav button{color:#355527;background:#eef2e8;border-radius:14px;min-height:48px;padding:11px 18px;font-size:15px;font-weight:800}.test-nav button:disabled{opacity:.45}.test-nav button:last-child{color:#fff;background:#78a83e}@media (width<=650px){.test-question{font-size:18px}.test-options{gap:10px}.test-option{border-radius:14px;min-height:56px;padding:13px 14px;font-size:16px}.test-nav button{padding:11px 14px;font-size:14px}}.img-match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.img-match-grid .question{flex-direction:column;gap:8px;margin:0;display:flex}.img-match-grid img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:15px;width:100%;display:block}.img-match-grid .answer{justify-content:center;width:100%}.img-match-grid .dropzone{white-space:normal;overflow-wrap:break-word;border-radius:12px;width:100%;height:auto;min-height:2.2em;padding:7px 9px;line-height:1.35;overflow:visible}.img-match-grid .correction-pair{justify-content:center}@media (width>=900px){.img-match-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.field-error{color:#b3261e;margin:0 0 8px;font-size:12.5px;font-weight:700;line-height:1.4}.im-row{background:#fbfcf8;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:10px;padding:12px;display:grid}.im-row-main{min-width:0}.im-row-main label{margin:0 0 8px}.im-row-main .upload{padding:9px}.im-row-side{flex-direction:column;align-items:center;gap:6px;display:flex}.im-row-photo{-o-object-fit:cover;object-fit:cover;border:1px solid #dce4d6;border-radius:10px;width:64px;height:64px;display:block}.im-row-actions{gap:2px;display:flex}.im-row-actions button{background:#f2f5ed;padding:6px}@media (width<=650px){.im-row{grid-template-columns:minmax(0,1fr)}.im-row-side{flex-direction:row;justify-content:space-between;width:100%}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.5rem;--font-heading:ui-sans-serif, system-ui, sans-serif;--font-body:ui-sans-serif, system-ui, sans-serif;--font-display:ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border));outline-color:hsl(var(--ring) / .5)}body{background-color:hsl(var(--background));font-family:var(--font-body);color:hsl(var(--foreground))}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-4{width:1rem;height:1rem}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-7xl{font-size:4.5rem;line-height:1}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-slate-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
