@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Lexend:wght@400&family=Roboto:wght@400;500;700&family=Manrope:wght@400;700&display=swap";:root{--font-ui: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-board: "Lexend", sans-serif;font-family:var(--font-ui);color:var(--ink);background:color-mix(in srgb,var(--accent) 5%,white);font-synthesis:none;text-rendering:optimizeLegibility;--ink: #26384a;--muted: #596875;--line: color-mix(in srgb, var(--accent) 22%, white);--paper: #fffef9;--mint: color-mix(in srgb, var(--accent) 10%, white);--accent: #365f7d;--green: var(--accent);--green-dark: color-mix(in srgb, var(--accent) 71%, black);--coral: #e8755e;--yellow: #f3d273}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100%}html,#root{height:100%}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 74%,white);outline-offset:2px}.app-shell{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:64px;flex:0 0 64px;padding:0 28px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:#fffffff0;position:relative;z-index:10}.brand{border:0;padding:0;background:transparent;display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:color-mix(in srgb,var(--accent) 67%,black);letter-spacing:.1px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:color-mix(in srgb,var(--accent) 98%,black);border-radius:9px 9px 9px 3px}.topbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;color:color-mix(in srgb,var(--accent) 61%,white);font-size:14px;white-space:nowrap}.workspace-dot{width:7px;height:7px;border-radius:50%;background:#3fb97a;margin-right:2px;transition:background .2s}.workspace-dot.saving{background:#e6ad49;animation:pulse-dot 1s ease-in-out infinite}.workspace-dot.error{background:#d64545}@keyframes pulse-dot{50%{opacity:.35}}.crumb-link{border:0;padding:0;background:none;color:color-mix(in srgb,var(--accent) 72%,white);font-size:14px}.crumb-link:hover{color:var(--green-dark)}.crumb-current{color:color-mix(in srgb,var(--accent) 78%,black);font-weight:600}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.avatar{width:29px;height:29px;flex:0 0 auto;overflow:hidden;display:grid;place-items:center;border-radius:50%;background:#edc7ac;color:#684b3b;font-size:12px;font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover}.profile-account{min-width:0;padding:3px 5px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;background:transparent;color:color-mix(in srgb,var(--accent) 82%,white)}.profile-account:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:var(--green-dark)}.profile-name{color:color-mix(in srgb,var(--accent) 85%,white);font-size:14px}.plan-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#ececec;color:#5f5f5f;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}.plan-pill.plan-pro{background:#dcf2e1;color:#1f6b35}.plan-pill.plan-premium{background:#f6e3a1;color:#7a5a00}.more-button,.icon-button{border:0;background:transparent;display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 82%,white);border-radius:7px}.more-button{width:30px;height:30px;padding:0;line-height:0}.icon-button{width:34px;height:34px}.more-button:hover,.icon-button:hover{color:var(--green-dark);background:color-mix(in srgb,var(--accent) 8%,white)}.icon-button:disabled{color:color-mix(in srgb,var(--accent) 34%,white);cursor:not-allowed;background:transparent}.export-button{border:0;border-radius:6px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700}.export-button:hover{background:color-mix(in srgb,var(--accent) 80%,black)}.follow-button{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 19%,white);color:color-mix(in srgb,var(--accent) 99%,white);background:color-mix(in srgb,var(--accent) 4%,white);border-radius:6px;padding:8px 11px;font-size:13px;font-weight:700}.follow-button.following{background:color-mix(in srgb,var(--accent) 9%,white);border-color:color-mix(in srgb,var(--accent) 32%,white)}.online-dot{width:6px;height:6px;margin-left:2px;border-radius:50%;background:color-mix(in srgb,var(--accent) 63%,white)}.library-layout{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{padding:28px 14px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in srgb,var(--accent) 2%,white)}.nav-item{width:100%;min-height:37px;padding:0 11px;border:0;border-radius:5px;display:flex;align-items:center;gap:11px;background:transparent;color:color-mix(in srgb,var(--accent) 84%,white);text-align:left;font-size:13px}.nav-item:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:color-mix(in srgb,var(--accent) 83%,black)}.nav-item.active{background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 81%,black);font-weight:700}.nav-count{margin-left:auto;color:color-mix(in srgb,var(--accent) 65%,white);font:12px var(--font-ui)}.nav-section-heading{margin:28px 10px 9px;display:flex;justify-content:space-between;align-items:center;color:color-mix(in srgb,var(--accent) 58%,white);text-transform:uppercase;letter-spacing:.7px;font-size:12px;font-weight:700}.nav-section-heading button{border:0;background:transparent;color:color-mix(in srgb,var(--accent) 71%,white);display:grid;place-items:center;width:24px;height:24px;border-radius:4px}.nav-section-heading button:hover{background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 99%,black)}.folder-list{display:grid;gap:2px}.folder-row{position:relative;display:flex;align-items:center}.drag-ghost{position:fixed;top:0;left:0;z-index:-1;background:#fff;box-shadow:0 4px 14px #00000040;overflow:hidden;border-radius:8px;pointer-events:none}.folder-row.drop-target{border-radius:10px;background:#e0edff;outline:2px dashed #2f6fed;outline-offset:-2px;box-shadow:0 0 0 3px #2f6fed2e}.folder-row.drop-target>.nav-item{color:#1d4fbf;font-weight:700}.folder-row>.nav-item{flex:1;min-width:0}.folder-row>.nav-item.student-folder-nav{padding-right:56px}.folder-row.subfolder-row>.nav-item{min-height:32px;padding-left:25px;font-size:12px}.folder-menu-anchor{position:absolute;right:3px;display:flex;gap:2px}.folder-add-lesson,.folder-more{width:24px;height:25px;display:grid;place-items:center;border:0;border-radius:4px;color:color-mix(in srgb,var(--accent) 72%,white)}.folder-add-lesson{background:transparent}.folder-add-lesson:hover{background:color-mix(in srgb,var(--accent) 9%,white);color:color-mix(in srgb,var(--accent) 97%,white)}.folder-more{background:color-mix(in srgb,var(--accent) 2%,white);opacity:0;padding:0;line-height:0}.folder-row:hover .folder-more,.folder-more:focus-visible{opacity:1}.folder-more:hover{background:color-mix(in srgb,var(--accent) 9%,white);color:color-mix(in srgb,var(--accent) 97%,white)}.folder-menu{position:absolute;z-index:12;top:26px;right:0;width:145px;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:5px;background:#fff;box-shadow:0 9px 22px color-mix(in srgb,color-mix(in srgb,var(--accent) 54%,black) 11%,transparent)}.folder-menu button{width:100%;min-height:29px;padding:0 7px;display:flex;align-items:center;gap:7px;border:0;border-radius:3px;background:transparent;color:#bc6654;font-size:12px;text-align:left}.folder-menu button:not(.danger-option){color:color-mix(in srgb,var(--accent) 95%,white)}.folder-menu button:hover{background:#fff0ec}.folder-menu button:not(.danger-option):hover{background:color-mix(in srgb,var(--accent) 9%,white)}.google-image-button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:color-mix(in srgb,var(--accent) 80%,white)}.google-image-button:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:color-mix(in srgb,var(--accent) 97%,white)}.folder-color.folder-0{color:#d19d4c;fill:#f7e5be}.folder-color.folder-1{color:color-mix(in srgb,var(--accent) 74%,white);fill:color-mix(in srgb,var(--accent) 19%,white)}.folder-color.folder-2{color:#8292c5;fill:#dfe5fa}.folder-color.folder-3{color:#cd8c75;fill:#f5e1d6}.sidebar-bottom{margin:auto 5px 0;padding:14px 10px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.storage-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:8px;color:#c87f62;background:#f9e8df}.sidebar-bottom strong,.sidebar-bottom span{display:block}.sidebar-bottom strong{margin-bottom:4px;color:color-mix(in srgb,var(--accent) 89%,white);font-size:12px}.sidebar-bottom span{color:color-mix(in srgb,var(--accent) 58%,white);font-size:12px}.library-main{min-width:0;min-height:0;width:min(1120px,100%);margin:0 auto;padding:48px 54px 20px;display:flex;flex-direction:column;overflow:hidden}.library-main>*{flex-shrink:0}.library-main>.library-scroll{flex:1 1 0;min-height:0;margin-right:-18px;padding-right:18px;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.library-scroll>*{flex-shrink:0}.eyebrow{margin:0 0 10px;color:#ba8b55;font:500 12px var(--font-ui);letter-spacing:1.6px}h1{margin:0;color:color-mix(in srgb,var(--accent) 59%,black);font-size:26px;letter-spacing:0;font-weight:700}.library-controls{margin-top:0;margin-bottom:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.search-box{width:min(330px,50%);height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:5px;background:#fff;color:color-mix(in srgb,var(--accent) 68%,white)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.search-box input::placeholder{color:color-mix(in srgb,var(--accent) 55%,white)}kbd{padding:2px 4px;border:1px solid color-mix(in srgb,var(--accent) 13%,white);border-radius:3px;color:color-mix(in srgb,var(--accent) 53%,white);font:12px var(--font-ui)}.control-right{display:flex;align-items:center;gap:3px}.view-toggle{width:29px;height:29px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 54%,white)}.view-toggle.selected,.view-toggle:hover{background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 96%,white)}.sort-button{height:29px;margin-left:12px;padding:0 9px;display:flex;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:4px;background:#fff;color:color-mix(in srgb,var(--accent) 81%,white);font-size:12px}.sort-wrap{position:relative}.sort-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:150px;padding:4px;display:grid;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:6px;background:#fff;box-shadow:0 8px 24px #0000001a}.sort-menu button{padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:4px;background:none;color:#44505c;font-size:12px;text-align:left;cursor:pointer}.sort-menu button:hover,.sort-menu button.selected{background:color-mix(in srgb,var(--accent) 10%,white)}.subfolder-section{margin:14px 0 17px}.subfolder-section-heading{margin:0 0 8px 2px;display:flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--accent) 72%,white);font-size:12px;font-weight:700}.subfolder-section-heading span:last-child{color:color-mix(in srgb,var(--accent) 58%,white);font:12px var(--font-ui)}.subfolder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:8px}.subfolder-card{min-width:0;min-height:58px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:5px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 84%,white);text-align:left}.subfolder-card:hover{border-color:color-mix(in srgb,var(--accent) 29%,white);background:color-mix(in srgb,var(--accent) 6%,white)}.subfolder-card-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 85%,white)}.subfolder-card-copy{min-width:0;flex:1;display:grid;gap:3px}.subfolder-card-copy strong{overflow:hidden;color:color-mix(in srgb,var(--accent) 91%,black);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.subfolder-card-copy span{color:color-mix(in srgb,var(--accent) 63%,white);font-size:12px}.subfolder-card>svg:last-child{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 55%,white)}.library-label-row{padding:0 2px 11px;display:flex;justify-content:space-between;color:color-mix(in srgb,var(--accent) 57%,white);font:12px var(--font-ui);text-transform:uppercase;letter-spacing:.55px}.library-label-row>span:first-child{color:color-mix(in srgb,var(--accent) 78%,white);font:600 12px var(--font-ui);text-transform:none;letter-spacing:0}.library-label-row>span:last-child{display:flex;align-items:center;gap:8px;margin-right:66px}.library-label-row svg{transform:rotate(-35deg)}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-content:start}@media(max-height:740px)and (min-width:721px){.library-main{padding:18px 34px 10px}.library-controls{margin-top:0;margin-bottom:10px}.library-main .lesson-grid{gap:12px}.library-main .lesson-grid .lesson-thumb{height:clamp(58px,calc((100dvh - 445px)/2),112px)}.library-main .lesson-grid .lesson-info{padding:8px 10px 9px}.library-main .lesson-grid .lesson-meta{margin-top:6px}.library-main .new-lesson-card{min-height:0}.library-footer{padding-top:12px}}@media(max-height:640px)and (min-width:721px){.library-main{padding:12px 24px 8px}.eyebrow{margin-bottom:6px}.library-controls{margin-bottom:7px}.library-main .lesson-grid{gap:8px}.library-main .lesson-grid .lesson-thumb{height:58px}.library-main .lesson-grid .lesson-info{padding:6px 8px 7px}.library-main .lesson-grid .lesson-meta{margin-top:4px}.library-footer{padding-top:7px}}.lesson-card{min-width:0;overflow:visible;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:6px;background:#fff;transition:border-color .16s,transform .16s,box-shadow .16s;cursor:pointer;animation:rise-in .36s both}.lesson-card.menu-open{position:relative;z-index:5}.lesson-card:nth-child(2){animation-delay:.04s}.lesson-card:nth-child(3){animation-delay:.08s}.lesson-card:nth-child(4){animation-delay:.12s}.lesson-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 29%,white);box-shadow:0 7px 18px color-mix(in srgb,color-mix(in srgb,var(--accent) 81%,black) 7%,transparent)}.lesson-thumb{height:157px;position:relative;overflow:hidden;border-radius:5px 5px 0 0;display:flex;align-items:center;justify-content:center;gap:9px}.lesson-thumb.page-preview{border:1px solid color-mix(in srgb,var(--accent) 16%,white);background:#fffef9}.page-preview svg{display:block;width:100%;height:100%}.lesson-thumb.custom-cover{background:#fffef9}.lesson-thumb.custom-cover img{width:100%;height:100%;object-fit:cover}.lesson-thumb.vowels{background-image:radial-gradient(color-mix(in srgb,color-mix(in srgb,var(--accent) 65%,white) 18%,transparent) .75px,transparent .75px);background-size:14px 14px}.thumb-title{position:absolute;top:24px;left:25px;color:color-mix(in srgb,var(--accent) 79%,black);font-size:25px;font-weight:700}.thumb-chip{min-width:42px;height:49px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 12%,white);border-radius:8px;background:#fffef9;color:color-mix(in srgb,var(--accent) 80%,black);box-shadow:0 4px 8px color-mix(in srgb,color-mix(in srgb,var(--accent) 88%,black) 7%,transparent);font-size:22px;font-weight:700;transform:rotate(-3deg)}.thumb-chip.peach{color:#dc785c;transform:translateY(-5px) rotate(2deg)}.thumb-chip.green{color:color-mix(in srgb,var(--accent) 93%,white);transform:translateY(4px) rotate(-1deg)}.thumb-underline{position:absolute;bottom:28px;left:27px;width:104px;height:2px;background:#d7a84e;transform:rotate(-2deg)}.lesson-thumb.blends{gap:8px;background-image:radial-gradient(color-mix(in srgb,color-mix(in srgb,var(--accent) 67%,white) 19%,transparent) .8px,transparent .8px);background-size:16px 16px}.thumb-line{width:17px;height:2px;background:color-mix(in srgb,var(--accent) 60%,white)}.thumb-line.short{width:30px;margin-right:7px}.lesson-thumb.blends .thumb-chip{min-width:41px;height:46px}.lesson-thumb.blends .thumb-chip:first-of-type{transform:rotate(-5deg)}.thumb-sun{position:absolute;top:24px;right:31px;width:29px;height:29px;border-radius:50%;background:#f1c875;box-shadow:0 0 0 8px #f5dba14c}.thumb-word{position:relative;z-index:2;color:color-mix(in srgb,var(--accent) 95%,black);font-size:17px;font-weight:700}.thumb-hills{position:absolute;bottom:-50px;left:-4%;width:110%;height:90px;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--accent) 36%,white)}.thumb-hills:after{content:"";position:absolute;bottom:19px;left:42%;width:95%;height:68px;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--accent) 50%,white)}.lesson-thumb.magic{gap:14px;background-image:radial-gradient(#8b8eb133 .8px,transparent .8px);background-size:16px 16px}.thumb-letter{color:#465883;font:700 35px var(--font-ui)}.thumb-letter.accent{color:#dc745b}.thumb-arrow{color:#a79c7d;font-size:20px}.thumb-star{position:absolute;top:24px;right:32px;color:#e0a847;font-size:17px}.lesson-info{padding:11px 12px 13px}.lesson-name-line{position:relative;min-width:0;display:flex;align-items:center;gap:4px}.lesson-name-line h2{min-width:0;flex:1;margin:0;overflow:hidden;color:color-mix(in srgb,var(--accent) 84%,black);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.lesson-rename-input{flex:1;min-width:0;font-size:13px;font-weight:700;color:color-mix(in srgb,var(--accent) 84%,black);border:1px solid color-mix(in srgb,var(--accent) 62%,white);border-radius:4px;padding:1px 4px;font-family:inherit}.demo-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#ffd166;color:#6b4b00;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.demo-banner{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 14px;border-radius:8px;background:#fff3d6;border:1px solid #ffd166;color:#6b4b00;font-size:14px;font-weight:600}.card-menu-button{width:25px;height:24px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 60%,white);opacity:0;line-height:0}.lesson-card:hover .card-menu-button,.card-menu-button:focus-visible{opacity:1}.card-menu-button:hover{color:color-mix(in srgb,var(--accent) 91%,black);background:color-mix(in srgb,var(--accent) 8%,white)}.menu-anchor{position:relative;display:flex}.file-menu{position:absolute;z-index:20;top:26px;right:0;width:175px;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:6px;background:#fff;box-shadow:0 10px 26px color-mix(in srgb,color-mix(in srgb,var(--accent) 54%,black) 11%,transparent)}.file-menu button{width:100%;min-height:29px;padding:0 7px;display:flex;align-items:center;gap:8px;border:0;border-radius:3px;background:transparent;color:color-mix(in srgb,var(--accent) 93%,white);font-size:12px;text-align:left}.file-menu button:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:color-mix(in srgb,var(--accent) 86%,black)}.file-menu button.danger-option{color:#bc6654}.file-menu button.danger-option:hover{background:#fff0ec}.menu-divider{height:1px;margin:4px 2px;background:color-mix(in srgb,var(--accent) 10%,white)}.menu-label{display:block;padding:3px 7px;color:color-mix(in srgb,var(--accent) 54%,white);font:11px var(--font-ui);text-transform:uppercase}.lesson-meta{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:color-mix(in srgb,var(--accent) 59%,white);font-size:12px}.lesson-folder{min-width:0;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;color:color-mix(in srgb,var(--accent) 88%,white);font-weight:600}.lesson-folder.student-folder-0{background:#f7e5be;color:#805b1d}.lesson-folder.student-folder-1{background:color-mix(in srgb,var(--accent) 19%,white);color:color-mix(in srgb,var(--accent) 80%,black)}.lesson-folder.student-folder-2{background:#dfe5fa;color:#59699b}.lesson-folder.student-folder-3{background:#f5e1d6;color:#995b46}.lesson-folder svg{flex:0 0 auto}.lesson-folder>span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-tags,.tag-editor-list{min-width:0;margin-top:7px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.lesson-tag{max-width:100%;padding:3px 6px;border-radius:3px;background:color-mix(in srgb,var(--accent) 9%,white);color:color-mix(in srgb,var(--accent) 90%,white);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.lesson-tag.removable{display:inline-flex;align-items:center;gap:5px}.lesson-tag.removable button{width:16px;height:16px;padding:0;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;color:inherit}.lesson-tag.removable button:hover{background:color-mix(in srgb,var(--accent) 17%,white)}.tag-editor-actions{margin-top:10px;display:flex;justify-content:flex-end}.tag-editor-list{margin-top:16px}.tag-empty-state{margin:16px 0 0;color:color-mix(in srgb,var(--accent) 66%,white);font-size:13px}.cover-editor-preview{margin:10px 0;border-radius:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 16%,white);height:120px}.cover-editor-preview img{width:100%;height:100%;object-fit:cover}.lesson-file-icon{width:19px;height:19px;display:grid;place-items:center;border-radius:4px;color:color-mix(in srgb,var(--accent) 76%,white);background:color-mix(in srgb,var(--accent) 8%,white)}.meta-dot{color:color-mix(in srgb,var(--accent) 36%,white)}.new-lesson-card{min-height:228px;border:1px dashed color-mix(in srgb,var(--accent) 28%,white);border-radius:6px;background:color-mix(in srgb,var(--accent) 3%,white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:color-mix(in srgb,var(--accent) 70%,white);animation:rise-in .36s .16s both}.new-lesson-card:hover{border-color:color-mix(in srgb,var(--accent) 69%,white);background:color-mix(in srgb,var(--accent) 6%,white);color:var(--accent)}.new-lesson-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 11%,white);color:color-mix(in srgb,var(--accent) 90%,white)}.new-lesson-card strong{color:color-mix(in srgb,var(--accent) 90%,white);font-size:12px}.new-lesson-card>span:last-child{color:color-mix(in srgb,var(--accent) 57%,white);font-size:12px}.list-view{grid-template-columns:minmax(0,1fr);gap:7px}.list-view .lesson-card{display:flex;min-height:82px}.list-view .lesson-thumb{width:116px;height:82px;flex:0 0 116px;border-radius:5px 0 0 5px}.list-view .thumb-chip{min-width:25px;height:29px;font-size:14px}.list-view .thumb-title{top:7px;left:10px;font-size:16px}.list-view .thumb-underline{bottom:10px;left:10px;width:62px}.list-view .lesson-info{flex:1;align-self:center;padding:10px 15px}.list-view .card-menu-button{opacity:1}.list-view .new-lesson-card{min-height:74px;flex-direction:row}.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:color-mix(in srgb,var(--accent) 64%,white);font-size:13px}.empty-state strong{color:color-mix(in srgb,var(--accent) 99%,white)}.empty-icon{width:40px;height:40px;display:grid;place-items:center;margin-bottom:3px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 78%,white)}.library-footer{margin-top:auto;padding-top:38px;display:flex;justify-content:space-between;color:color-mix(in srgb,var(--accent) 53%,white);font-size:12px}.footer-sparkle{margin-right:5px;color:#d5a653}.board-layout{flex:1;min-height:0;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.tool-rail{min-height:0;padding:11px 7px;display:flex;flex-direction:column;align-items:center;gap:4px;overflow-y:auto;border-right:1px solid color-mix(in srgb,var(--accent) 14%,white);background:#fff;z-index:4}.rail-back,.tool-button{width:39px;height:38px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:color-mix(in srgb,var(--accent) 72%,white)}.rail-back{margin-bottom:3px;color:color-mix(in srgb,var(--accent) 95%,white)}.rail-back:hover,.tool-button:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:color-mix(in srgb,var(--accent) 98%,black)}.tool-button.selected{color:color-mix(in srgb,var(--accent) 88%,black);background:color-mix(in srgb,var(--accent) 12%,white);box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 88%,white)}.rail-divider{width:27px;height:1px;margin:1px 0 5px;background:color-mix(in srgb,var(--accent) 13%,white)}.rail-spacer{flex:1}.tool-button[aria-label="Set background"]{margin-bottom:5px}.board-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--accent) 8%,white)}.board-toolbar{height:57px;flex:0 0 57px;padding:0 22px;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(250px,1fr);align-items:center;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,white);background:#fff;z-index:7}.board-toolbar.student-view-toolbar{grid-template-columns:minmax(200px,1fr) auto minmax(250px,1fr)}.board-title{display:flex;align-items:center;gap:9px;min-width:0}.board-title-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:color-mix(in srgb,var(--accent) 90%,white);background:color-mix(in srgb,var(--accent) 9%,white)}.board-title strong,.board-title span{display:block}.board-title strong{max-width:220px;overflow:hidden;color:color-mix(in srgb,var(--accent) 85%,black);font-size:12px;text-overflow:ellipsis;white-space:nowrap;cursor:text}.board-title-input{display:block;max-width:220px;color:color-mix(in srgb,var(--accent) 85%,black);font-size:12px;font-family:inherit;font-weight:inherit;border:1px solid color-mix(in srgb,var(--accent) 62%,white);border-radius:4px;padding:1px 4px}.board-title>div:nth-child(2){min-width:0}.board-title>div:nth-child(2) span{margin-top:4px;overflow:hidden;color:color-mix(in srgb,var(--accent) 59%,white);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.board-title .meta-dot{display:inline;margin:0;overflow:visible}.title-dropdown{border:0;background:transparent;color:color-mix(in srgb,var(--accent) 55%,white)}.page-directory-anchor{position:relative;flex:none;display:flex;align-items:center}.page-directory-button{display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:6px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 87%,black);font-size:12px;font-weight:600}.page-directory-menu{position:absolute;z-index:6;top:100%;left:50%;transform:translate(-50%);margin-top:6px;width:380px;max-width:calc(100vw - 24px);max-height:min(480px,70vh);overflow-y:auto;padding:8px;display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:7px;background:#fff;box-shadow:0 8px 26px color-mix(in srgb,color-mix(in srgb,var(--accent) 69%,black) 11%,transparent)}.page-directory-main{width:100%;min-width:0;display:grid;gap:4px;padding:6px;border:1px solid transparent;border-radius:6px;background:transparent;color:color-mix(in srgb,var(--accent) 85%,black);font-size:12px;text-align:left}.page-directory-main:hover{background:color-mix(in srgb,var(--accent) 7%,white)}.page-directory-thumb{position:relative;display:block;width:100%;aspect-ratio:1000 / 620;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px}.page-directory-thumb svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.page-directory-label{display:flex;align-items:center;gap:6px;min-width:0}.page-directory-name{overflow:hidden;color:color-mix(in srgb,var(--accent) 80%,white);font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.page-directory-item.active .page-directory-thumb{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.page-directory-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent);font-weight:700}.page-directory-item.active .page-directory-name{color:var(--accent);font-weight:700}.board-toolbar-modes,.board-toolbar-actions{display:contents}.board-toolbar-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:7px}.blend-button{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:5px;color:color-mix(in srgb,var(--accent) 96%,white);background:color-mix(in srgb,var(--accent) 4%,white);font-size:12px;font-weight:700}.blend-button.active,.blend-button:hover{background:color-mix(in srgb,var(--accent) 10%,white)}.canvas-workspace{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:24px 28px 0}.board-page-area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 0 7px;container-type:size}.page-paper{position:relative;width:min(100%,1030px,161.29cqh);max-height:100%;aspect-ratio:1000 / 620;overflow:hidden;border:1px solid #e5e7df;border-radius:2px;box-shadow:0 4px 16px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 4%,transparent),0 1px 2px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 5%,transparent);touch-action:none}.page-paper[data-tool=select]{cursor:default}.page-paper[data-tool=pen],.page-paper[data-tool=brush],.page-paper[data-tool=highlighter],.page-paper[data-tool=eraser]{cursor:crosshair}.page-paper[data-tool=element-eraser]{cursor:not-allowed}.page-paper[data-tool=text],.page-paper[data-tool=postit],.page-paper[data-tool=grid],.page-paper[data-tool=shape]{cursor:copy}.page-paper[data-tool=shape][data-shape=line],.page-paper[data-tool=shape][data-shape=arrow]{cursor:crosshair}.page-paper[data-tool=select] .drawing-layer .board-item{user-select:none;-webkit-user-select:none}.page-paper[data-tool=select] .drawing-layer .board-item textarea,.page-paper[data-tool=select] .drawing-layer .board-item input{user-select:text;-webkit-user-select:text}.drawing-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.drawing-layer text{dominant-baseline:middle}.drawing-layer foreignObject{overflow:visible;pointer-events:auto}.drawing-layer .board-item,.board-item>*{pointer-events:all}.page-paper:not([data-tool=select]):not([data-tool=text]) .drawing-layer .board-item,.page-paper:not([data-tool=select]):not([data-tool=text]) .drawing-layer .board-item *{pointer-events:none!important;-webkit-user-select:none;user-select:none}.selection-frame{pointer-events:none}.selection-resize-handle{fill:#fff;stroke:color-mix(in srgb,var(--accent) 88%,white);stroke-width:3;cursor:nwse-resize;pointer-events:all}.selection-resize-handle-nesw{cursor:nesw-resize}.selection-rotate-handle{width:24px;height:24px;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 88%,white);border-radius:50%;background:#fff;color:color-mix(in srgb,var(--accent) 90%,black);cursor:grab;box-shadow:0 2px 5px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 13%,transparent);pointer-events:all}.selection-rotate-handle:active{cursor:grabbing}.selection-move-handle{fill:color-mix(in srgb,var(--accent) 88%,white);cursor:move;pointer-events:all}.selection-toolbar{position:static;width:138px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:5px;background:#fff;box-shadow:0 3px 12px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 7%,transparent)}.selection-toolbar.shape-tool-toolbar{width:186px;grid-template-columns:1fr;gap:8px}.selected-element-toolbar .selection-text-colors{display:grid;grid-template-columns:repeat(3,20px);justify-content:center;gap:7px}.grid-selection-toolbar>.grid-size-label,.grid-selection-toolbar>.grid-size-row,.grid-selection-toolbar>.delete-selection{grid-column:1 / -1}.grid-size-row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px}.grid-selection-toolbar .grid-size-row button{width:100%;font-size:12px;white-space:nowrap}.selection-toolbar.color-only-toolbar{width:84px;grid-template-columns:1fr;gap:8px}.color-only-toolbar .selection-text-colors{padding-bottom:0;border-bottom:0}.shape-tool-columns{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:8px}.shape-tool-column{min-width:0;display:grid;align-content:start;justify-items:center;gap:7px}.shape-tool-column>span{margin:0;color:color-mix(in srgb,var(--accent) 80%,white);font-size:11px;font-weight:700}.shape-tool-shapes{display:grid;grid-template-columns:repeat(5,30px);gap:4px}.shape-tool-toolbar .shape-tool-shapes button{width:30px;height:30px}.shape-tool-toolbar .selection-text-colors{width:auto;display:grid;grid-template-columns:repeat(6,20px);gap:7px;padding:0;border:0}.shape-fill-controls{grid-column:1 / -1;display:grid;justify-items:center;gap:7px}.shape-fill-controls>label{display:flex;align-items:center;gap:5px;color:color-mix(in srgb,var(--accent) 80%,white);font-size:11px;font-weight:600;cursor:pointer}.shape-fill-controls input[type=checkbox]{accent-color:var(--accent);margin:0}.shape-fill-controls .selection-text-colors{display:grid;grid-template-columns:repeat(3,20px);justify-content:center;gap:7px;padding:0;border:0}.shape-tool-toolbar .shape-fill-controls .selection-text-colors{grid-template-columns:repeat(6,20px)}.selection-toolbar span{margin-right:6px;color:color-mix(in srgb,var(--accent) 80%,white);font-size:12px}.selection-toolbar button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 85%,white)}.selection-toolbar>button{width:auto;min-width:27px;padding:0 4px;font-size:12px;white-space:nowrap}.grid-text-toolbar,.text-font-toolbar{position:static;width:138px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:5px;background:#fff;box-shadow:0 3px 12px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 7%,transparent)}.grid-text-toolbar>span,.text-font-toolbar>label{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 80%,white);font-size:12px}.text-font-toolbar>button.active{background:color-mix(in srgb,var(--accent) 16%,white);color:color-mix(in srgb,var(--accent) 90%,black)}.grid-text-toolbar>button:not(.selection-font-picker),.text-font-toolbar>button:not(.selection-font-picker){width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 85%,white)}.grid-text-toolbar>button:hover,.text-font-toolbar>button:hover{background:color-mix(in srgb,var(--accent) 9%,white);color:color-mix(in srgb,var(--accent) 90%,black)}.selection-font-picker{width:100%;min-width:0;box-sizing:border-box;height:27px;flex:0 0 auto;padding:0 5px;font:12px var(--font-ui);justify-content:space-between}.selection-font-picker>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-toolbar button:hover{background:color-mix(in srgb,var(--accent) 9%,white);color:color-mix(in srgb,var(--accent) 90%,black)}.selection-toolbar button.active{background:color-mix(in srgb,var(--accent) 13%,white);color:color-mix(in srgb,var(--accent) 90%,black)}.selection-toolbar button.delete-selection{color:#bd6c59}.selection-toolbar button.delete-selection:hover{background:#fff0ec;color:#a74d3b}.selection-text-colors{gap:4px;grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:5px;padding-bottom:6px;width:100%;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,white)}.selection-text-colors button{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:50%}.selection-text-colors button.active{border-color:color-mix(in srgb,var(--accent) 90%,black)}.grid-size-label{font-size:12px;color:color-mix(in srgb,var(--accent) 85%,white);margin-right:4px}.page-corner-label{position:absolute;right:22px;bottom:15px;color:#c5c8b8;font:11px var(--font-ui);letter-spacing:1.1px;pointer-events:none}.page-corner-label span{margin-left:4px;color:#d4ad60}.board-sticky{font-family:var(--font-board);width:100%;height:100%;padding:17px 14px;display:flex;align-items:center;justify-content:center;white-space:pre-line;text-align:center;color:#735c37;font-size:14px;line-height:1.7;background:#fff3b0;box-shadow:2px 4px 9px #8d784329;transform:rotate(-3deg)}.board-grid{width:100%;height:100%;padding:6px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;background:#fbfcf8;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:7px;box-shadow:0 4px 12px color-mix(in srgb,color-mix(in srgb,var(--accent) 97%,black) 6%,transparent)}.board-grid input{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 12%,white);border-radius:4px;background:#fff;color:color-mix(in srgb,var(--accent) 88%,black);text-align:center;font-size:20px;font-weight:600}.board-grid input:focus{border-color:color-mix(in srgb,var(--accent) 57%,white);outline:1px solid color-mix(in srgb,var(--accent) 57%,white)}.board-text-input{width:100%;height:100%;padding:2px 4px;border:1px dashed color-mix(in srgb,var(--accent) 57%,white);border-radius:4px;background:#fffc;outline:none;resize:none;overflow:hidden;white-space:pre}.board-image{width:100%;height:100%;object-fit:contain;background:transparent;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.crop-modal{width:min(640px,100%)}.crop-stage{display:flex;justify-content:center;margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--mint)}.crop-frame{position:relative;display:inline-block;line-height:0;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.crop-frame img{display:block;max-width:100%;max-height:50vh;pointer-events:none}.crop-selection{position:absolute;border:2px solid var(--accent);cursor:move}.crop-shade{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.crop-shade-hole{position:absolute;box-shadow:0 0 0 9999px #00000073}.crop-handle{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid var(--accent);border-radius:50%;background:#fff}.crop-handle-nw{left:0;top:0;cursor:nwse-resize}.crop-handle-n{left:50%;top:0;cursor:ns-resize}.crop-handle-ne{left:100%;top:0;cursor:nesw-resize}.crop-handle-e{left:100%;top:50%;cursor:ew-resize}.crop-handle-se{left:100%;top:100%;cursor:nwse-resize}.crop-handle-s{left:50%;top:100%;cursor:ns-resize}.crop-handle-sw{left:0;top:100%;cursor:nesw-resize}.crop-handle-w{left:0;top:50%;cursor:ew-resize}.crop-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.crop-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--green-dark);font-size:12px;font-weight:700;cursor:pointer}.crop-actions button:hover{background:var(--mint)}.crop-actions .crop-confirm{border-color:var(--accent);background:var(--accent);color:#fff}.crop-actions .crop-confirm:hover{background:var(--green-dark)}.crop-actions .crop-confirm:disabled{opacity:.45;cursor:not-allowed}.pdf-tile{width:100%;height:100%;padding:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:5px;background:#fff;box-shadow:0 4px 12px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 7%,transparent);color:#d8795f}.pdf-tile span{max-width:95%;overflow:hidden;color:color-mix(in srgb,var(--accent) 89%,white);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.board-pdf{width:100%;height:100%;border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:5px;background:#fff;box-shadow:0 4px 12px color-mix(in srgb,color-mix(in srgb,var(--accent) 70%,black) 7%,transparent)}.student-cursor{position:absolute;z-index:2;top:28%;left:52%;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:12px 12px 12px 2px;background:#6e88c3;color:#fff;font-size:11px;box-shadow:0 2px 7px #24375d28;animation:cursor-in .3s both;pointer-events:none}.student-cursor-dot{width:5px;height:5px;border-radius:50%;background:#fff}.laser-stroke{filter:drop-shadow(0 0 5px #f9aa85)}.laser-stroke.fading{animation:laser-fade 1.5s ease-out forwards}@keyframes laser-fade{to{opacity:0}}.eraser-cursor{fill:color-mix(in srgb,color-mix(in srgb,var(--accent) 88%,white) 12%,transparent);stroke:color-mix(in srgb,var(--accent) 88%,white);stroke-width:1.5;stroke-dasharray:3 3}.page-selection-indicator{flex:none;width:15px;height:15px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 35%,white);border-radius:3px;color:#fff;background:#fff}.page-directory-item.selected-for-deletion .page-selection-indicator{border-color:#c74444;background:#c74444}.page-number{color:color-mix(in srgb,var(--accent) 44%,white);font:12px var(--font-ui)}@keyframes click-feedback{0%{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}35%{transform:scale(.9);background-color:color-mix(in srgb,var(--accent) 22%,white)}to{transform:scale(1);box-shadow:0 0 0 8px transparent}}.click-feedback.is-clicked,button.is-clicked{animation:click-feedback .35s ease-out}@media(prefers-reduced-motion:reduce){.click-feedback.is-clicked,button.is-clicked{animation-duration:.01ms}}.page-directory-actions{grid-column:1 / -1;position:sticky;top:-8px;z-index:2;margin:-8px -8px 0;padding:8px 8px 6px;background:#fff;display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,white);color:color-mix(in srgb,var(--accent) 58%,white);font:12px var(--font-ui)}.page-directory-actions button{flex:none;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 66%,white)}.page-directory-actions button:hover:not(:disabled){color:color-mix(in srgb,var(--accent) 100%,white);background:color-mix(in srgb,var(--accent) 8%,white)}.page-directory-actions .tutorial-help-button{margin-left:auto}.page-directory-actions .page-selection-action{width:auto;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:5px;font:inherit}.page-directory-actions .delete-selected-pages{color:#b73535}.page-directory-actions .delete-selected-pages:disabled{cursor:not-allowed;opacity:.45}.page-directory-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-directory-item{position:relative;min-width:0;border:1px solid transparent;border-radius:6px}.page-directory-item[draggable=true]{cursor:grab}.page-directory-item.dragging{opacity:.45}.page-directory-item.selected-for-deletion{background:color-mix(in srgb,#d94b4b 8%,white)}.page-directory-rename{padding:0 6px 6px}.page-directory-rename .page-rename-input{width:100%;min-width:0}.page-insert-before,.page-insert-after{position:absolute;top:6px;width:22px;height:22px;display:none;place-items:center;border:0;border-radius:50%;background:color-mix(in srgb,var(--accent) 85%,black);color:#fff;cursor:pointer}.page-insert-before{left:6px}.page-insert-after{right:6px}.page-directory-item:hover .page-insert-before,.page-directory-item:hover .page-insert-after,.page-insert-before:focus-visible,.page-insert-after:focus-visible{display:grid}.page-directory-menu .page-insert-before,.page-directory-menu .page-insert-after{padding:0}.page-frequent-button{position:absolute;right:8px;bottom:6px;width:18px;height:18px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 55%,white);cursor:pointer}.page-directory-item:has(.page-frequent-button) .page-directory-label{padding-right:22px}.page-frequent-button:hover:not(:disabled),.page-frequent-button:focus-visible{background:color-mix(in srgb,var(--accent) 10%,white);color:#d9a400}.page-frequent-button.saved{color:#d9a400}.page-frequent-menu{position:absolute;z-index:3;right:8px;bottom:28px;display:grid;min-width:150px;padding:4px;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:8px;background:#fff;box-shadow:0 6px 18px #00000024}.page-frequent-menu button{padding:7px 10px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:13px;color:color-mix(in srgb,var(--accent) 54%,black);cursor:pointer}.page-frequent-menu button:hover,.page-frequent-menu button:focus-visible{background:color-mix(in srgb,var(--accent) 8%,white)}.paste-section{margin:16px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.paste-hint{margin:0 0 6px;font-size:12px;opacity:.75}.background-panel{position:absolute;z-index:5;top:15px;width:228px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:7px;background:#fff;box-shadow:0 8px 26px color-mix(in srgb,color-mix(in srgb,var(--accent) 69%,black) 11%,transparent);animation:panel-in .18s ease-out both}.background-panel{left:15px;display:flex;flex-direction:column;max-height:calc(100% - 30px);overflow-y:auto}.background-panel>*{flex-shrink:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;color:color-mix(in srgb,var(--accent) 85%,black)}.panel-heading strong{display:block;font-size:13px}.panel-heading button,.modal-close{width:24px;height:24px;display:grid;padding:0;place-items:center;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 67%,white)}.panel-heading button:hover,.modal-close:hover{background:color-mix(in srgb,var(--accent) 8%,white)}.background-options{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.background-swatch{padding:0;display:grid;gap:5px;border:0;background:transparent;color:color-mix(in srgb,var(--accent) 72%,white);font-size:11px}.background-swatch span{height:47px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:4px;background-color:#fffef9}.background-swatch.lined span{background-image:repeating-linear-gradient(to bottom,#fffef9 0,#fffef9 10px,color-mix(in srgb,var(--accent) 17%,white),color-mix(in srgb,var(--accent) 17%,white) 12px)}.background-swatch.grid-bg span{background-image:radial-gradient(color-mix(in srgb,var(--accent) 54%,white) 1px,transparent 1px);background-size:8px 8px}.panel-divider{height:1px;margin:14px 0 11px;background:color-mix(in srgb,var(--accent) 10%,white)}.panel-small-label{display:block;margin-bottom:9px;color:color-mix(in srgb,var(--accent) 55%,white);font:11px var(--font-ui)}.background-colors+.panel-small-label{margin-top:16px}.background-colors{display:flex;gap:7px}.background-colors button{width:23px;height:23px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 18%,white);border-radius:50%;color:transparent}.background-colors button.selected{color:color-mix(in srgb,var(--accent) 90%,black);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.background-swatch.selected span{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.background-colors button:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 17%,white);color:color-mix(in srgb,var(--accent) 88%,white)}.upload-background{width:100%;margin-top:13px;padding:8px;display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 85%,white);font-size:12px}.background-scope{display:flex;flex-direction:column;gap:6px}.background-scope button{padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 85%,white);font-size:12px;text-align:left}.background-scope button.active{border-color:color-mix(in srgb,var(--accent) 57%,white);background:color-mix(in srgb,var(--accent) 8%,white);color:color-mix(in srgb,var(--accent) 90%,black);font-weight:600}.panel-kicker{display:block;margin-bottom:5px;color:#c6944e;font:11px var(--font-ui);letter-spacing:1px}.modal-scrim{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,color-mix(in srgb,var(--accent) 49%,black) 28%,transparent);animation:fade-in .15s both}.share-modal{position:relative;width:min(390px,100%);padding:28px;border-radius:8px;background:#fff;box-shadow:0 20px 70px color-mix(in srgb,color-mix(in srgb,var(--accent) 36%,black) 25%,transparent)}.delete-confirmation-modal{width:min(420px,100%)}.delete-confirmation-icon{background:#fff0ec;color:#bc6654}.delete-confirm-button{min-height:35px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bc6654;border-radius:4px;background:#bc6654;color:#fff;font:700 12px var(--font-ui);cursor:pointer}.delete-confirm-button:hover{border-color:#a34c3a;background:#a34c3a}.profile-settings-modal{width:min(860px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.profile-header{display:flex;align-items:center;gap:14px;padding-right:36px}.profile-header .share-modal-icon{margin:0;flex:0 0 auto}.profile-header h2{margin:0}.profile-header p{margin:3px 0 0}.profile-layout{margin-top:20px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}.profile-side{display:grid;gap:16px}.profile-card{margin:0;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 13%,white);border-radius:8px;background:color-mix(in srgb,var(--accent) 3%,white)}.profile-card .profile-avatar-row{padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--accent) 10%,white)}.profile-card .profile-avatar-preview{width:84px;height:84px;font-size:24px}@media(max-width:720px){.profile-layout{grid-template-columns:minmax(0,1fr)}}.profile-loading{padding:24px 0 5px;color:color-mix(in srgb,var(--accent) 71%,white);font-size:13px}.profile-form{margin-top:0}.profile-avatar-row{display:flex;align-items:center;gap:14px}.profile-avatar-preview{width:68px;height:68px;flex:0 0 auto;overflow:hidden;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,white);color:color-mix(in srgb,var(--accent) 98%,white);font-size:20px;font-weight:700}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-actions{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-avatar-actions>span{flex:0 0 100%;color:color-mix(in srgb,var(--accent) 60%,white);font-size:12px}.profile-upload-button,.profile-remove-photo{min-height:29px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 91%,white);font-size:12px;cursor:pointer}.profile-upload-button:hover,.profile-remove-photo:hover{background:color-mix(in srgb,var(--accent) 9%,white)}.profile-upload-button input{display:none}.profile-remove-photo{border-color:transparent;background:transparent;color:#a85d4c}.profile-email-value{min-height:38px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 13%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 4%,white);color:color-mix(in srgb,var(--accent) 78%,white);font-size:13px;font-weight:400;overflow-wrap:anywhere}.profile-password-form{margin:0}.profile-password-form h3{margin:0;color:color-mix(in srgb,var(--accent) 85%,black);font-size:14px}.profile-password-form .auth-submit{width:100%;margin-top:15px}.profile-plan{margin:0}.profile-plan h3{margin:0 0 10px;color:color-mix(in srgb,var(--accent) 85%,black);font-size:14px}.profile-plan-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.plan-list,.admin-user-list{margin:14px 0 0;padding:0;display:grid;gap:8px;list-style:none}.plan-card{padding:10px 12px;display:grid;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 13%,white);border-radius:6px;font-size:12px}.plan-card.current{border-color:var(--accent)}.plan-card-head{display:flex;align-items:center;justify-content:space-between}.plan-limits{color:color-mix(in srgb,var(--accent) 71%,white)}.upgrade-modal{width:min(820px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.plan-grid{margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.plan-tile{padding:18px;gap:10px;align-content:start;grid-template-rows:auto auto auto 1fr;border-radius:8px;background:color-mix(in srgb,var(--accent) 3%,white);font-size:13px}.plan-tile.current{border-width:2px;padding:17px;background:#fff}.plan-current-tag{display:inline-flex;align-items:center;gap:4px;color:color-mix(in srgb,var(--accent) 85%,white);font-size:11px;font-weight:700}.plan-price{display:flex;align-items:baseline;gap:4px;color:color-mix(in srgb,var(--accent) 85%,black)}.plan-price strong{font-size:30px;line-height:1}.plan-price span,.plan-summary{color:color-mix(in srgb,var(--accent) 65%,white)}.plan-limit-list{margin:0;padding:12px 0 0;display:grid;gap:6px;align-content:start;list-style:none;border-top:1px solid color-mix(in srgb,var(--accent) 12%,white);color:color-mix(in srgb,var(--accent) 85%,black)}.plan-limit-list li{display:flex;align-items:center;gap:6px}.plan-upgrade-button{align-self:end;min-height:36px;margin-top:6px;border-radius:5px;font:700 12px var(--font-ui);cursor:pointer}.plan-upgrade-button:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 85%,black)}@media(max-width:720px){.plan-grid{grid-template-columns:minmax(0,1fr)}}.admin-modal{width:min(480px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.admin-user-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.admin-user-name{min-width:0;flex:1 1 auto;display:grid;overflow-wrap:anywhere}.admin-user-list .admin-plan-select{width:120px;flex:0 0 120px}.auth-screen{min-height:100vh;min-height:100dvh;padding:24px;display:grid;place-items:center;overflow-y:auto;background:color-mix(in srgb,var(--accent) 7%,white)}.auth-panel{width:min(420px,100%);padding:32px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:7px;background:#fff;box-shadow:0 14px 42px color-mix(in srgb,color-mix(in srgb,var(--accent) 55%,black) 8%,transparent)}.auth-brand{margin-bottom:28px;display:flex;align-items:center;gap:9px;color:color-mix(in srgb,var(--accent) 66%,black);font-size:17px;font-weight:800}.auth-brand .brand-mark{width:31px;height:31px}.auth-panel .eyebrow{margin-bottom:8px}.auth-panel h1{font-size:25px}.auth-intro{margin:8px 0 22px;color:color-mix(in srgb,var(--accent) 72%,white);font-size:13px;line-height:1.6}.auth-form{display:grid;gap:14px}.auth-field{display:grid;gap:6px;color:color-mix(in srgb,var(--accent) 91%,white);font-size:12px;font-weight:700}.auth-input-wrap{height:40px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 71%,white)}.auth-input-wrap:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 57%,white);outline-offset:1px}.auth-input-wrap input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:color-mix(in srgb,var(--accent) 69%,black);font-size:14px}.auth-input-wrap input:focus-visible{outline:0}.auth-submit{min-height:40px;margin-top:3px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:4px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.auth-submit:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 82%,black)}.auth-submit:disabled{opacity:.56;cursor:wait}.auth-mode-toggle{width:100%;margin-top:15px;padding:7px 0;border:0;background:transparent;color:color-mix(in srgb,var(--accent) 96%,white);font-size:12px;font-weight:700}.auth-mode-toggle:hover{color:color-mix(in srgb,var(--accent) 71%,black);text-decoration:underline}.auth-feedback{margin:0;display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5}.auth-feedback.error{color:#a94f41}.auth-feedback.success{color:color-mix(in srgb,var(--accent) 96%,white)}.auth-feedback svg{flex:0 0 auto}.auth-local-note{margin:18px 0 0;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 64%,white);font-size:12px;line-height:1.55}.cloud-storage-notice{position:fixed;z-index:50;top:12px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);padding:8px 16px;border:1px solid #f0e4c8;border-radius:6px;background:#fff9ed;color:#816f4d;font-size:12px;text-align:center;box-shadow:0 5px 20px color-mix(in srgb,color-mix(in srgb,var(--accent) 56%,black) 10%,transparent);pointer-events:none}.modal-close{position:absolute;top:12px;right:12px}.share-modal-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,white);color:color-mix(in srgb,var(--accent) 92%,white)}.share-modal h2{margin:17px 0 8px;color:color-mix(in srgb,var(--accent) 71%,black);font-size:17px}.share-modal p{margin:0;color:color-mix(in srgb,var(--accent) 71%,white);font-size:12px;line-height:1.7}.new-lesson-modal{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.lesson-creation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.lesson-creation-options button{min-width:0;min-height:100px;padding:12px;display:grid;justify-items:start;align-content:start;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:6px;background:#fff;color:color-mix(in srgb,var(--accent) 75%,black);font:inherit;text-align:left;cursor:pointer}.lesson-creation-options button.selected{border-color:color-mix(in srgb,var(--accent) 62%,white);background:color-mix(in srgb,var(--accent) 5%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.lesson-creation-options button:disabled{cursor:default}.lesson-creation-options strong{font-size:12px}.lesson-creation-options span,.deck-import-help{color:color-mix(in srgb,var(--accent) 70%,white);font-size:11px;line-height:1.55}.deck-import-help{margin-top:14px!important}.deck-import-progress{margin-top:12px!important;color:color-mix(in srgb,var(--accent) 80%,black)!important}.new-lesson-field{display:grid;gap:6px;margin-top:15px;color:color-mix(in srgb,var(--accent) 83%,white);font-size:12px;font-weight:700}.new-lesson-field input{width:100%;height:38px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 86%,black);font:13px var(--font-ui)}.new-lesson-field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 57%,white);outline-offset:1px}.themed-select-trigger{width:100%;min-width:0;box-sizing:border-box;height:38px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 86%,black);font:13px var(--font-ui);text-align:left;white-space:nowrap;cursor:pointer}.themed-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.themed-select-trigger>svg{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 68%,white);transition:transform .15s ease}.themed-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.themed-select-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 57%,white);outline-offset:1px}.themed-select-popup{box-sizing:border-box;padding:4px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:6px;background:#fff;box-shadow:0 8px 24px #00000024;overflow-y:auto}.themed-select-option{min-height:32px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:4px;color:#44505c;font-size:12px;white-space:pre;cursor:pointer}.themed-select-option.active,.themed-select-option:hover{background:color-mix(in srgb,var(--accent) 10%,white)}.themed-select-option[aria-selected=true]{color:color-mix(in srgb,var(--accent) 87%,black);font-weight:700}.themed-select-option>svg{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 80%,white)}.lesson-folder-select{position:relative;display:block}.lesson-folder-select-trigger{width:100%;height:38px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 86%,black);font:13px var(--font-ui);text-align:left;cursor:pointer}.lesson-folder-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-folder-select-trigger>svg{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 68%,white);transition:transform .15s ease}.lesson-folder-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.lesson-folder-select-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 57%,white);outline-offset:1px}.lesson-folder-select-popup{position:fixed;z-index:40;box-sizing:border-box;padding:4px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:6px;background:#fff;box-shadow:0 8px 24px #00000024;overflow-y:auto}.lesson-folder-select-options{min-height:0;overflow-y:auto}.lesson-folder-select-option{min-height:32px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:4px;color:#44505c;font-size:12px;cursor:pointer}.lesson-folder-select-option.active,.lesson-folder-select-option:hover{background:color-mix(in srgb,var(--accent) 10%,white)}.lesson-folder-select-option[aria-selected=true]{color:color-mix(in srgb,var(--accent) 87%,black);font-weight:700}.lesson-folder-select-option>svg{flex:0 0 auto;color:color-mix(in srgb,var(--accent) 80%,white)}.postit-editor-modal{width:min(420px,100%)}.postit-textarea{width:100%;min-height:120px;padding:10px;resize:vertical;border:1px solid color-mix(in srgb,var(--accent) 17%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 86%,black);font:13px/1.5 var(--font-board)}.postit-textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 57%,white);outline-offset:1px}.new-lesson-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:8px}.new-lesson-actions button{min-height:35px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:4px;font:700 12px var(--font-ui);cursor:pointer}.cancel-button{border:1px solid color-mix(in srgb,var(--accent) 16%,white);background:#fff;color:color-mix(in srgb,var(--accent) 87%,white)}.confirm-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.confirm-button:disabled{opacity:.45;cursor:not-allowed}.share-link{margin-top:19px;padding:5px 6px 5px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:5px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 84%,white);font:12px var(--font-ui)}.share-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-link-status{margin-top:19px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:5px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 84%,white);font-size:12px}.share-link-status.error{border-color:#f0c4b9;background:#fff4f0;color:#a4523a}.share-link button{padding:7px 9px;display:flex;align-items:center;gap:5px;border:0;border-radius:4px;background:var(--accent);color:#fff;font:700 12px var(--font-ui)}.share-permission{margin-top:12px;display:flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--accent) 67%,white);font-size:12px}.image-search-form{margin-top:17px;display:flex;gap:6px}.image-search-form input,.image-url-label input{min-width:0;width:100%;height:34px;padding:0 9px;border:1px solid color-mix(in srgb,var(--accent) 16%,white);border-radius:4px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 98%,white);font-size:12px}.image-search-form button,.insert-image-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:0;border-radius:4px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.image-url-label{display:grid;gap:6px;margin-top:14px;color:color-mix(in srgb,var(--accent) 55%,white);font:11px var(--font-ui)}.insert-image-button{width:100%;height:34px;margin-top:10px}.insert-image-button:disabled{opacity:.45;cursor:not-allowed}.toast-message{position:fixed;z-index:40;right:22px;bottom:22px;padding:11px 14px;display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 21%,white);border-radius:5px;background:#fff;color:color-mix(in srgb,var(--accent) 96%,white);font-size:12px;box-shadow:0 5px 20px color-mix(in srgb,color-mix(in srgb,var(--accent) 56%,black) 10%,transparent);animation:toast-in .2s both}.print-pages{display:none}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes cursor-in{0%{opacity:0;transform:translate(-5px,4px)}to{opacity:1;transform:translate(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:1000px){.library-main{padding:38px 30px 18px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-toolbar{padding:0 14px;grid-template-columns:minmax(160px,1fr) auto minmax(185px,1fr)}.board-toolbar.student-view-toolbar{grid-template-columns:minmax(160px,1fr) auto minmax(185px,1fr)}.canvas-workspace{padding:18px 18px 0}}@media(max-width:1000px){.topbar-center{position:static;transform:none;flex:1 1 0;min-width:0;justify-content:center;overflow:hidden}.topbar-center .crumb-current{overflow:hidden;text-overflow:ellipsis}}@media(max-width:900px){.board-toolbar,.board-toolbar.student-view-toolbar{height:auto;flex-basis:auto;min-height:54px;padding:6px 12px;grid-template-columns:auto 1fr auto;row-gap:6px}.board-title{grid-column:1 / -1}.board-toolbar-right{display:contents}.board-toolbar-modes,.board-toolbar-actions{display:flex;align-items:center;gap:7px;grid-row:2;min-width:0}.board-toolbar-modes{grid-column:1;justify-self:start}.board-toolbar-modes .blend-button{white-space:nowrap}.board-toolbar-actions{grid-column:3;justify-self:end}.page-directory-anchor{grid-column:2;grid-row:2;justify-self:center}.board-toolbar-right:empty{display:none}.board-toolbar-right>*{flex:0 0 auto}}@media(max-width:480px){.topbar-center{display:none}}@media(max-width:720px){.new-lesson-modal{padding:22px}.topbar{height:56px;flex-basis:56px;padding:0 13px;gap:10px}.topbar-center{position:static;transform:none;margin-left:10px;font-size:12px;overflow:hidden}.topbar-center .crumb-current{overflow:hidden;text-overflow:ellipsis}.profile-name,.more-button{display:none}.topbar-actions{gap:5px}.export-button{width:34px;height:34px;padding:0;gap:0;justify-content:center;font-size:0}.export-button svg{width:17px;height:17px}.follow-button{padding:7px;font-size:0}.follow-button svg{width:17px}.online-dot{margin-left:0}.library-layout{min-height:calc(100vh - 56px);grid-template-columns:56px minmax(0,1fr)}.sidebar{padding:15px 7px;align-items:center}.nav-item{width:40px;height:38px;min-height:38px;padding:0;justify-content:center;font-size:0}.nav-count,.nav-section-heading span,.nav-section-heading button,.sidebar-bottom,.folder-list .nav-item span{display:none}.nav-section-heading{width:100%;margin:18px 0 8px;justify-content:center}.folder-list{width:100%}.library-main{padding:28px 16px 15px}.library-controls{margin-top:0}.search-box{width:100%}.search-box kbd,.sort-button{display:none}.lesson-grid{grid-template-columns:minmax(0,1fr);gap:10px}.lesson-card{display:flex;min-height:83px}.lesson-thumb{width:108px;height:83px;flex:0 0 108px;border-radius:5px 0 0 5px}.thumb-chip{min-width:25px;height:30px;font-size:14px}.thumb-title{top:7px;left:10px;font-size:15px}.thumb-underline{bottom:10px;left:10px;width:60px}.thumb-line.short{width:12px;margin-right:0}.lesson-info{min-width:0;flex:1;align-self:center;padding:10px}.lesson-name-line h2{font-size:12px}.card-menu-button{opacity:1}.lesson-meta{margin-top:8px}.new-lesson-card{min-height:70px;flex-direction:row;gap:8px}.new-lesson-card>span:last-child{display:none}.new-lesson-icon{width:27px;height:27px}.library-label-row>span:last-child{margin-right:0}.library-footer{padding-top:23px;font-size:11px}.board-layout{grid-template-columns:47px minmax(0,1fr)}.tool-rail{padding:8px 4px;gap:2px}.rail-back,.tool-button{width:37px;height:35px}.board-toolbar,.board-toolbar.student-view-toolbar{padding:6px 8px}.board-title{gap:6px}.board-title-icon{display:none}.board-title strong{max-width:135px;font-size:12px}.board-title>div:nth-child(2) span{font-size:10px}.board-toolbar-modes,.board-toolbar-actions{gap:5px}.board-toolbar .page-nav{gap:3px}.board-toolbar .page-nav-step{width:24px}.board-toolbar .page-directory-button{padding:7px 8px}.blend-button{width:28px;height:28px;padding:0;gap:0;justify-content:center;font-size:0}.blend-button svg{width:17px;height:17px}.board-toolbar-right .icon-button,.board-toolbar-right .google-image-button{width:28px;height:28px}.canvas-workspace{padding:12px 9px 0}.board-page-area{padding-top:3px}.page-directory-menu{width:min(380px,calc(100vw - 72px))}.background-panel{left:7px;top:10px}}@media print{@page{size:landscape;margin:.4in}.topbar,.tool-rail,.board-toolbar,.background-panel,.blending-board,.card-deck,.board-layout{display:none!important}html,body,#root,.app-shell{height:auto;min-height:0;overflow:visible}.print-pages,.print-pages *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-pages{display:block}.print-page{position:relative;width:100%;aspect-ratio:1000 / 620;overflow:hidden;break-after:page}.print-page:last-child{break-after:auto}.print-page svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.print-page .board-sticky{padding:14px}.library-layout{min-height:calc(100vh - 56px);grid-template-columns:56px minmax(0,1fr)}.sidebar{padding:15px 7px;align-items:center}.nav-item{width:40px;height:38px;min-height:38px;padding:0;justify-content:center;font-size:0}.nav-count,.nav-section-heading span,.nav-section-heading button,.sidebar-bottom,.folder-list .nav-item span,.folder-add-lesson,.folder-more{display:none}.nav-section-heading{width:100%;margin:18px 0 8px;justify-content:center}.folder-list{width:100%}.library-main{padding:28px 16px 15px}.library-controls{margin-top:0}.search-box{width:100%}.search-box kbd,.sort-button{display:none}.lesson-grid{grid-template-columns:minmax(0,1fr);gap:10px}.lesson-card{display:flex;min-height:83px}.lesson-thumb{width:108px;height:83px;flex:0 0 108px;border-radius:5px 0 0 5px}.thumb-chip{min-width:25px;height:30px;font-size:14px}.thumb-title{top:7px;left:10px;font-size:15px}.thumb-underline{bottom:10px;left:10px;width:60px}.thumb-line.short{width:12px;margin-right:0}.lesson-info{min-width:0;flex:1;align-self:center;padding:10px}.lesson-name-line h2{font-size:12px}.card-menu-button{opacity:1}.lesson-meta{margin-top:8px}.new-lesson-card{min-height:70px;flex-direction:row;gap:8px}.new-lesson-card>span:last-child{display:none}.new-lesson-icon{width:27px;height:27px}.library-label-row>span:last-child{margin-right:0}.library-footer{padding-top:23px;font-size:11px}}.paste-modal{max-height:80vh;overflow-y:auto}.paste-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}.paste-list li{display:flex;gap:6px;align-items:stretch}.paste-entry{flex:1;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:8px;background:#fff;color:color-mix(in srgb,var(--accent) 54%,black)}.paste-entry span{font-size:14px;color:color-mix(in srgb,var(--accent) 80%,white)}.paste-entry:hover{border-color:color-mix(in srgb,var(--accent) 99%,black);background:color-mix(in srgb,var(--accent) 8%,white)}.paste-remove{width:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:color-mix(in srgb,var(--accent) 66%,white)}.paste-remove:hover{background:color-mix(in srgb,var(--accent) 8%,white);color:#bc4a3a}.paste-empty{margin:16px 0}.paste-thumb{position:relative;flex:none;width:120px;aspect-ratio:1000 / 620;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:4px}.paste-thumb svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.paste-info{display:grid;gap:3px;min-width:0}.blending-board{position:absolute;z-index:6;top:14px;right:14px;bottom:14px;left:14px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#f4f4f2;box-shadow:0 0 0 1px #0000001f,0 18px 48px #0000004d,0 4px 14px #0003;-webkit-user-select:none;user-select:none;touch-action:none}.blending-tabs{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#fff}.blending-tabs button:not(.blending-close):not(.tutorial-help-button){flex:1 1 auto;padding:9px 6px;border:0;border-radius:6px;background:color-mix(in srgb,var(--board-accent) 62%,#354354);color:#fff;font:13px var(--font-ui);white-space:nowrap}.blending-tabs button.active{background:color-mix(in srgb,var(--board-accent) 48%,#26384a);color:#fff;box-shadow:inset 0 0 0 2px #ffffffa8;font-weight:600}.blending-tabs button:disabled:not(.active){cursor:not-allowed;opacity:.75}.blending-close{flex:0 0 34px;width:34px;border:0;border-radius:6px;background:var(--board-accent);color:#fff}.blending-tray{display:grid;grid-template-columns:minmax(0,1fr);padding:10px 12px 12px;background:#fff;box-shadow:0 2px 6px #0000001a}.blending-tray-panel{grid-area:1 / 1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;visibility:hidden;pointer-events:none}.blending-tray-panel.active{visibility:visible;pointer-events:auto}.blending-vowel-groups{display:flex;flex:1;justify-content:center;align-items:flex-start;gap:36px}.blending-capital-letters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:620px;margin:0 auto;padding:6px;border-radius:10px;background:#f3f3f3}.blending-syllable-labels{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 auto;padding:6px;border-radius:10px;background:#f3f3f3}.blending-special-tiles{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:center;align-self:flex-start;gap:6px;margin:0 auto;padding:6px;border-radius:10px;background:#f3f3f3}.syllable-label-tile{flex:0 0 auto;min-width:max-content;padding:3px 6px;font-size:14px;white-space:nowrap}.blending-vowel-group{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;max-width:454px;padding:6px;border-radius:10px;background:#f3f3f3}.blending-vowel-group+.blending-vowel-group{max-width:330px}.blending-affix-groups{display:flex;flex:1;justify-content:center;align-items:stretch;gap:16px}.blending-affix-group{display:flex;flex-wrap:wrap;align-content:flex-start;box-sizing:content-box;gap:4px;padding:7px;border-radius:12px}.blending-affix-group.prefix{width:220px;border:3px solid #ffd342;background:transparent}.blending-affix-group.root{width:336px;border:3px solid #34733b;background:transparent}.tray-tile.affix-root-tile.root{width:50px}.blending-affix-group.suffix{width:260px;border:3px solid #bd302b;background:transparent}.blending-affix-group.suffix:last-child{width:236px}.tray-tile.affix-root-tile{width:38px;height:35px;padding:0 2px;font-size:14px}.tray-tile.affix-root-tile.prefix{color:#a87800}.tray-tile.affix-root-tile.suffix{width:36px;color:#c52823;font-size:12px}.tray-tile.affix-root-tile.root,.canvas-tile.affix-root{color:#34733b}.canvas-tile.affix-prefix{color:#a87800}.canvas-tile.affix-suffix{color:#c52823}.blending-affix-group.suffix:last-child .tray-tile.affix-root-tile{width:auto;min-width:36px;padding:0 4px}.advanced-vowel-tile{width:44px;height:40px;font-size:16px}.blending-letter-groups{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.blending-letters,.blending-digraphs,.blending-glued-sounds{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:10px;background:#f3f3f3}.blending-glued-sounds{padding:0;background:transparent}.blending-letters{max-width:780px}.blending-digraphs{max-width:330px;align-content:flex-start}.tray-tile,.canvas-tile{border:2px solid #333;border-radius:7px;color:#111;font-family:var(--font-board);font-weight:600}.tray-tile{width:56px;height:46px;font-size:19px;cursor:grab;touch-action:none}.glued-sound-tile{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;font-size:14px;line-height:1;text-align:center}.consonant{background:#fff}.vowel{background:#fff9c4}.canvas-tile{position:absolute;display:flex;align-items:center;justify-content:center;font-size:50px;cursor:grab;box-shadow:0 4px #0002}.canvas-tile.dragging{cursor:grabbing;box-shadow:0 8px 14px #0003}.drag-ghost{position:fixed;z-index:100;pointer-events:none;opacity:.9}.blending-canvas{position:relative;flex:1;overflow:hidden;background-color:var(--board-accent)}.blending-ink-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;width:100%;height:100%;pointer-events:none;touch-action:none}.blending-board.drawing-mode .blending-ink-layer{pointer-events:all;cursor:crosshair}.blending-board.drawing-mode .blending-tray,.blending-board.drawing-mode .canvas-tile,.blending-board.drawing-mode .initial-final-blends{pointer-events:none}.blend-mode-tools{display:flex;align-items:center;gap:6px}.blending-footer .blend-mode-tools button{display:grid;justify-content:center;place-items:center;width:32px;height:32px;padding:0;border:1px solid #00000024;border-radius:8px;background:#fff;color:#333;cursor:pointer}.blending-footer .blend-mode-tools button.selected{border-color:#fff;background:#1f2937;color:#fff;box-shadow:0 0 0 3px #fff}.blending-footer .blend-mode-tools .pen-color.selected{border-color:#1f2937;box-shadow:0 0 0 3px #fff;transform:scale(1.15)}.blending-footer .blend-mode-tools .pen-color{width:22px;height:22px;border-radius:50%}.syllable-instructions{position:absolute;top:10px;left:12px;z-index:1;width:260px;padding:10px 12px;border-radius:6px;background:#fff;box-shadow:0 2px 6px #0000001a;color:#222;font:11px var(--font-ui)}.syllable-instructions strong{color:#34733b;font-size:13px}.syllable-instructions ol{margin:3px 0 0;padding-left:14px}.syllable-instructions li+li{margin-top:1px}.canvas-syllable-label{min-width:max-content;padding:3px 6px;border-radius:7px;font-size:16px;white-space:nowrap}.initial-final-blends{position:absolute;z-index:1;top:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.initial-final-blends-toggle{min-height:48px;padding:7px 16px;border:4px solid white;border-radius:10px;background:color-mix(in srgb,var(--board-accent) 48%,#26384a);color:#ffcf42;font:12px var(--font-ui);font-weight:700;cursor:pointer}.initial-final-blends-tiles{display:flex;flex-direction:column;gap:5px}.initial-final-blend-row{display:flex;flex-wrap:wrap;gap:4px}.initial-final-blend-tile{width:36px;height:32px;padding:0;border:2px solid #333;border-radius:8px;background:#fff;box-shadow:0 3px #bfc1c3;color:#111;font:400 15px var(--font-board);cursor:grab;touch-action:none}.blending-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:10px;color:#fff;font:16px var(--font-ui);text-shadow:0 1px 3px #233748;pointer-events:none}.blending-footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:8px 14px;background:color-mix(in srgb,var(--board-accent) 52%,#354354);color:#fff;font:12px var(--font-ui)}.blending-footer button{padding:7px 12px;display:flex;align-items:center;gap:6px;border:0;border-radius:6px;background:color-mix(in srgb,var(--board-accent) 42%,#26384a);color:#fff}.blending-footer-center{display:flex;align-items:center;justify-content:center;gap:10px}.blending-footer-actions{display:flex;align-items:center;gap:10px}.blending-footer button:disabled{opacity:.5}@media(max-width:900px){.blending-tray{flex-direction:column}.blending-vowel-groups{flex-wrap:wrap;width:100%}.blending-affix-groups{flex-wrap:wrap;justify-content:flex-start}.blending-tabs button:not(.blending-close):not(.tutorial-help-button){font-size:10px}}.swatch-picker{position:relative}.swatch-picker .swatch-toggle{display:none}.accent-swatches{display:flex;align-items:center;gap:8px}.accent-swatches button{width:28px;height:28px;display:grid;place-items:center;border:2px solid white;border-radius:6px;box-shadow:0 0 0 1px #0000002e;color:#fff}.accent-swatches button.selected{box-shadow:0 0 0 2px #283a35}.blending-board.read-only .blending-canvas{pointer-events:none}.student-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;gap:8px;padding-top:14px;cursor:not-allowed;font-size:13px;font-weight:700;color:#444}.tool-options-stack{position:absolute;z-index:4;left:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.tool-options-stack>*{pointer-events:auto}.selection-toolbar>span{text-align:center;margin-right:0}.selection-toolbar>button,.selection-toolbar button{align-self:center}.selection-toolbar>span,.grid-text-toolbar>span:not(.size-readout),.text-font-toolbar>label,.grid-text-toolbar>select,.text-font-toolbar>select,.grid-text-toolbar>.selection-font-picker,.text-font-toolbar>.selection-font-picker,.selection-toolbar>.selection-font-picker{grid-column:1 / -1;justify-self:stretch;margin:0}.selection-toolbar>span,.grid-text-toolbar>span,.text-font-toolbar>label{text-align:center}.grid-text-toolbar>.size-readout{margin:0;font-weight:700;text-align:center}.image-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:260px;overflow-y:auto;margin:12px 0}.image-result{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#f1f1f1;cursor:pointer;aspect-ratio:1}.image-result:hover{border-color:#4f7cff}.image-result img{width:100%;height:100%;object-fit:cover;display:block}.image-search-error{color:#b3261e;font-size:13px}.student-status-wrap,.student-status-button{position:relative}.student-select-toggle.active,.student-menu .mini.icon.active{background:#dff3ea;color:#1f7a52;border-color:#3fb97a}.student-status-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#b9c2cf;border:1.5px solid white}.student-status-button.connected{color:#2e9d68}.student-status-button.connected .student-status-dot{background:#3fb97a}.student-status-button.locked .student-status-dot{background:#e6ad49}.student-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.student-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:41;min-width:190px;padding:6px;background:#fff;border:1px solid #e3e8ef;border-radius:10px;box-shadow:0 10px 28px #1e2d4629;display:grid;gap:2px}.student-menu-status{padding:6px 10px;font-size:12px;font-weight:700;color:#596875}.student-menu button{display:flex;align-items:center;gap:9px;border:0;background:transparent;border-radius:7px;padding:8px 10px;font-size:13px;font-weight:600;color:#3d4a5c;text-align:left}.student-menu button:hover:not(:disabled){background:#f1f4f8}.student-menu button.danger{color:#d64545}.student-menu button:disabled{opacity:.4;cursor:not-allowed}.student-status-button.waiting .student-status-dot{background:#e6ad49;animation:pulse-dot 1s ease-in-out infinite}.admission-banner{flex:none;display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);align-items:center;gap:12px;padding:10px 24px;border-bottom:1px solid #e7bf69;background:#fff7e3;box-shadow:0 2px 8px #64481414}.admission-banner-summary{display:flex;align-items:center;gap:10px;min-width:0}.admission-banner-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f6e4b9;color:#805b16}.admission-banner-summary>div{display:grid;gap:2px;min-width:0}.admission-banner-summary strong{color:#684a12;font-size:13px}.admission-banner-summary span:not(.admission-banner-icon){color:#66583d;font-size:12px}.admission-banner-requests{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.admission-request{flex:0 1 auto;min-width:0;max-width:100%;display:flex;align-items:center;gap:9px;padding:6px 8px;border:1px solid #ead8ae;border-radius:8px;background:#fffdfa}.admission-request-name{flex:0 1 auto;min-width:0;max-width:180px;overflow:hidden;color:#3d4a5c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admission-request-actions{flex:none;display:flex;gap:6px}.admission-request-actions button{min-height:30px;padding:0 10px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:700}.admission-admit{background:#2e9d68;color:#fff}.admission-admit:hover{background:#247d53}.admission-deny{border-color:#e8c9c0!important;background:#fff;color:#b7463e}.admission-deny:hover{background:#fff0ec}@media(max-width:720px){.admission-banner{grid-template-columns:minmax(0,1fr);padding:10px 13px}.admission-banner-summary{gap:8px}.admission-banner-icon{width:30px;height:30px}}.student-menu{min-width:260px}.student-menu-section{display:grid;gap:2px;padding:2px 0 6px;border-bottom:1px solid #eef1f5}.student-menu-label{padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#596875}.student-menu-row{display:flex;align-items:center;gap:8px;padding:4px 10px}.student-menu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:#3d4a5c}.student-menu .mini{padding:4px 8px;font-size:12px;border:1px solid #e3e8ef;background:#fff}.student-menu .mini.primary{background:#2e9d68;border-color:#2e9d68;color:#fff}.student-menu .mini.primary:hover:not(:disabled){background:#278a5b}.student-menu .mini.icon{padding:4px;border-color:transparent}.invite-dot{flex:none;width:10px;height:10px;border-radius:50%}.invite-modal{width:min(480px,100%)}.share-live-status{margin-top:16px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#2e9d68}.live-dot{width:8px;height:8px;border-radius:50%;background:#3fb97a}.invite-form{margin-top:12px;display:flex;gap:8px}.invite-form input{flex:1;min-width:0;padding:9px 10px;border:1px solid #dfe5ec;border-radius:6px;font:13px var(--font-ui)}.invite-form button,.end-lesson-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border:0;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.invite-approval{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:12px;color:#5c6878}.invite-list{margin-top:14px;max-height:260px;overflow-y:auto;display:grid;gap:6px}.invite-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e8ecf1;border-radius:8px}.invite-row.removed{opacity:.65}.invite-info{flex:1;min-width:0;display:grid}.invite-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-info small{font-size:11px;color:#596875}.invite-info small.online{color:#2e9d68;font-weight:700}.invite-copy,.invite-action{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #dfe5ec;border-radius:6px;background:#fff;font-size:12px;font-weight:600;color:#3d4a5c}.invite-action.danger{color:#d64545}.end-lesson-button{margin-top:16px;width:100%;background:#fff0ec;color:#d64545}.live-student-cursor{position:absolute;z-index:30;pointer-events:none;display:flex;align-items:flex-start;gap:2px;transition:left .06s linear,top .06s linear}.live-student-cursor span{margin-top:12px;padding:1px 6px;border-radius:8px;background:currentColor;font-size:11px;font-weight:700;white-space:nowrap;-webkit-text-fill-color:white}.live-section{margin-bottom:22px}.live-heading{display:inline-flex;align-items:center;gap:8px;color:#d64545}.live-pulse{width:8px;height:8px;border-radius:50%;background:#e5484d;animation:pulse-dot 1.2s ease-in-out infinite}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.live-card{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;border:1px solid #f3c4c6;border-radius:8px;background:#fff7f7;cursor:pointer}.live-card:hover{border-color:#e5484d;box-shadow:0 4px 14px #e5484d24}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em}.live-badge .live-pulse{background:#fff}.live-card-copy{flex:1;min-width:0;display:grid}.live-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.live-card-copy span{font-size:12px;color:#596875}.live-card-action{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:#d64545}.page-nav{display:flex;align-items:center;gap:4px}.page-nav-step{display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:6px;background:color-mix(in srgb,var(--accent) 2%,white);color:color-mix(in srgb,var(--accent) 87%,black)}.page-nav-step:disabled{opacity:.4;cursor:default}.page-rename-input{width:120px;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit;outline:none}.card-deck{--board-accent: var(--accent);position:absolute;z-index:6;top:14px;right:14px;bottom:14px;left:14px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#f4f4f2;box-shadow:0 0 0 1px #0000001f,0 18px 48px #0000004d,0 4px 14px #0003;-webkit-user-select:none;user-select:none}.deck-header{display:flex;align-items:center;gap:12px;padding:8px;background:#fff}.deck-header strong{padding-left:6px;font:600 14px var(--font-ui);color:color-mix(in srgb,var(--board-accent) 48%,#26384a)}.deck-header span{flex:1;color:#5f6b66;font-size:13px}.deck-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:6px;background:var(--board-accent);color:#fff}.deck-session{display:flex;flex:1;flex-direction:column;min-height:0}.deck-split{display:flex;flex:1;min-height:0}.deck-tiles{display:flex;flex-direction:column;flex:0 0 50%;max-width:50%;min-width:0;gap:10px;padding:12px;background:#fff;box-shadow:2px 0 6px #0000001a;overflow:auto;z-index:1}.deck-tile-list,.deck-prep-tiles{display:flex;flex-wrap:wrap;gap:6px}.deck-chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:46px;height:46px;padding:0 8px;border:2px solid #333;border-radius:7px;color:#111;font:400 19px var(--font-board);cursor:default}button.deck-chip{cursor:pointer;opacity:.5}button.deck-chip.selected{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--board-accent) 48%,#26384a)}.deck-chip.shown{opacity:.4}.deck-consonant{background:#fff}.deck-vowel,.deck-prefix{background:#ffe94d}.deck-root{background:#6fcf7a}.deck-suffix{background:#f26b6b}.deck-unlock,.deck-bar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border:0;border-radius:6px;background:color-mix(in srgb,var(--board-accent) 42%,#26384a);color:#fff;font:12px var(--font-ui)}.deck-bar button.primary{background:color-mix(in srgb,var(--board-accent) 48%,#26384a);box-shadow:inset 0 0 0 2px #ffffffa8;font-weight:600}.deck-bar button:disabled{opacity:.5;cursor:not-allowed}.deck-canvas{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.deck-stage{display:flex;flex:1;align-items:center;justify-content:center;width:100%;min-height:0;background-color:#fff}.deck-card{display:flex;align-items:center;justify-content:center;min-width:220px;max-width:90%;padding:30px 50px;border:2px solid #333;border-radius:7px;color:#111;font:400 clamp(80px,16vw,200px) / 1.1 var(--font-board);box-shadow:0 4px #0002}.deck-empty{color:#6b7570;font:16px var(--font-ui)}.deck-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;background:color-mix(in srgb,var(--board-accent) 52%,#354354);color:#fff;font:12px var(--font-ui)}.deck-bar .deck-bar-note{flex:1}.deck-bar .deck-bar-end{text-align:right}.deck-bar .deck-unlock{background:color-mix(in srgb,var(--board-accent) 42%,#26384a)}.deck-prep{display:flex;flex:1;flex-direction:column;min-height:0}.deck-prep-groups{display:flex;flex:1;flex-flow:row wrap;align-content:flex-start;align-items:flex-start;gap:8px;padding:10px;overflow:auto;background-color:#fff}.deck-prep-group{flex:0 1 auto;max-width:100%;padding:6px 8px 8px;border-radius:10px;background:#f3f3f3}.deck-prep-group .deck-prep-tiles{gap:4px}.deck-prep-group .deck-chip{min-width:34px;height:34px;padding:0 6px;border-width:1.5px;font-size:15px}.deck-prep-group h3{margin:0 0 4px;color:#5f6b66;font:600 11px var(--font-ui)}.card-deck.read-only .deck-stage{flex:1}@media(max-width:800px){.card-deck{top:6px;right:6px;bottom:6px;left:6px}}.matching-game{background:color-mix(in srgb,var(--board-accent) 8%,#f4f4f2)}.match-swatch-picker{margin-left:auto}.match-accent-swatches{gap:7px}.match-stage{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0;padding:16px 20px}.match-prep-stage{justify-content:center;overflow-y:auto;background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--board-accent) 22%,transparent),transparent 55%),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--board-accent) 16%,transparent),transparent 50%)}.match-prep{display:flex;flex-direction:column;gap:12px;width:min(600px,100%);padding:24px 28px;border-radius:20px;background:#fff;box-shadow:0 1px #fffc inset,0 10px 34px color-mix(in srgb,var(--board-accent) 30%,transparent),0 1px 4px #0000001f;font:14px var(--font-ui)}.match-prep-heading{display:flex;align-items:center;gap:14px}.match-prep-heading h2{margin:0;color:color-mix(in srgb,var(--board-accent) 48%,#26384a);font:600 20px var(--font-ui)}.match-prep-heading p{margin:2px 0 0;color:#5f6b66}.match-prep-icon{display:grid;flex:none;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--board-accent) 18%,white);color:color-mix(in srgb,var(--board-accent) 70%,#26384a)}.match-prep label{color:#26384a;font-weight:600}.match-prep label em{margin-left:6px;color:#596875;font-style:normal;font-weight:400}.match-prep textarea{resize:vertical;min-height:120px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--board-accent) 4%,white);color:var(--ink);font:17px / 1.5 var(--font-board);transition:border-color .15s,box-shadow .15s}.match-prep textarea:focus{outline:0;border-color:var(--board-accent);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--board-accent) 24%,transparent)}.match-prep-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.match-count{padding:3px 12px;border-radius:999px;background:color-mix(in srgb,var(--board-accent) 14%,white);color:color-mix(in srgb,var(--board-accent) 60%,#26384a);font-size:12px;font-weight:500}.match-count.over{background:#fdeeee;color:#b3402c}.match-error{margin:0;color:#b3402c;font-weight:500}.match-chip{padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--board-accent) 16%,white);color:color-mix(in srgb,var(--board-accent) 52%,#26384a);font:500 16px var(--font-board)}.match-preview{justify-content:flex-start;max-height:120px;overflow-y:auto}.match-word-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px}.match-word-list .match-chip{font-size:18px}.match-scores{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#5f6b66;font:14px var(--font-ui)}.match-players{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.match-score{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--board-accent) 10%,white);color:var(--ink);transition:background .2s,border-color .2s,opacity .2s}.match-score strong{font-weight:600}.match-score.turn{border-color:var(--board-accent);background:color-mix(in srgb,var(--board-accent) 28%,white)}.match-score.away{opacity:.55}.match-score small{padding:0 6px;border-radius:999px;background:#0000001a;font-size:11px}.match-dot{width:10px;height:10px;border-radius:50%;background:var(--board-accent)}.match-turn{font-weight:600;color:color-mix(in srgb,var(--board-accent) 48%,#26384a)}.match-score-winner-name{position:relative;isolation:isolate}.match-dancer{position:absolute;bottom:calc(100% + 2px);left:50%;width:17px;margin-left:-8.5px;font-size:17px;line-height:1;pointer-events:none;animation:match-dancer-fade 6.15s ease both}.match-dancer>span{display:block;transform-origin:50% 100%;animation:match-dancer-groove .6s ease-in-out 10}@keyframes match-dancer-fade{0%,90%{opacity:1}to{opacity:0}}@keyframes match-dancer-groove{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-3px) rotate(8deg)}}.match-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.match-confetti i{position:absolute;top:0;left:50%;width:5px;height:7px;border-radius:1px;background:#f2c94c;animation:match-confetti-pop 1.2s ease-out 5 both}.match-confetti i:nth-child(2n){background:#e87979}.match-confetti i:nth-child(3n){background:#7bbf91}.match-confetti i:nth-child(1){--confetti-x: -30px;--confetti-y: -22px;--confetti-rotate: -100deg}.match-confetti i:nth-child(2){--confetti-x: -19px;--confetti-y: -30px;--confetti-rotate: 80deg;animation-delay:40ms}.match-confetti i:nth-child(3){--confetti-x: -8px;--confetti-y: -24px;--confetti-rotate: 140deg;animation-delay:80ms}.match-confetti i:nth-child(4){--confetti-x: 5px;--confetti-y: -34px;--confetti-rotate: -60deg;animation-delay:20ms}.match-confetti i:nth-child(5){--confetti-x: 16px;--confetti-y: -26px;--confetti-rotate: 110deg;animation-delay:.1s}.match-confetti i:nth-child(6){--confetti-x: 28px;--confetti-y: -32px;--confetti-rotate: -120deg;animation-delay:60ms}.match-confetti i:nth-child(7){--confetti-x: -24px;--confetti-y: -8px;--confetti-rotate: 60deg;animation-delay:.12s}.match-confetti i:nth-child(8){--confetti-x: 23px;--confetti-y: -10px;--confetti-rotate: -80deg;animation-delay:.14s}@keyframes match-confetti-pop{0%{opacity:1;transform:translate(var(--confetti-x),var(--confetti-y)) rotate(0)}to{opacity:0;transform:translate(var(--confetti-x),calc(var(--confetti-y) - 12px)) rotate(var(--confetti-rotate))}}.match-board{--gap: clamp(6px, 1.4vw, 16px);display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:var(--gap);flex:1;width:100%;max-width:1000px;min-height:0}.match-card{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));height:calc((100% - (var(--rows) - 1) * var(--gap)) / var(--rows));min-width:0;min-height:0;padding:0;border:0;background:transparent;perspective:700px;transform:rotate(var(--tilt, 0deg));cursor:pointer}.match-card:disabled{cursor:default}.match-card.matched{visibility:hidden}.match-card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s}.match-card.face-up .match-card-inner{transform:rotateY(180deg)}.match-card-back,.match-card-front{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:5px solid white;border-radius:12px;box-shadow:0 3px 10px #0003;backface-visibility:hidden}.match-card-back{background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--board-accent) 24%,white) 0 7%,transparent 7.5%),radial-gradient(circle at 82% 76%,color-mix(in srgb,var(--board-accent) 24%,white) 0 10%,transparent 10.5%),color-mix(in srgb,var(--board-accent) 17%,white);color:color-mix(in srgb,var(--board-accent) 70%,#26384a)}.match-card-back-mark{width:clamp(36px,42%,62px);aspect-ratio:1;display:grid;place-items:center;border:2px solid #ffffffd9;border-radius:20px;background:color-mix(in srgb,var(--board-accent) 70%,white);color:color-mix(in srgb,var(--board-accent) 68%,#26384a);box-shadow:0 3px 8px color-mix(in srgb,var(--board-accent) 24%,transparent)}.match-card-back-mark svg{width:clamp(18px,2.6vw,27px);height:clamp(18px,2.6vw,27px)}.match-card-back b{position:absolute;right:10px;bottom:10px;min-width:28px;height:28px;display:grid;place-items:center;border:2px solid white;border-radius:999px;background:#fff;color:#26384a;font:700 clamp(14px,1.8vw,18px) var(--font-board)}.match-card:not(:disabled):hover .match-card-back{filter:brightness(1.04)}.match-card-front{padding:4px 8px;background:#fff;color:#111;font:500 clamp(14px,2.6vw,34px) / 1.15 var(--font-board);overflow-wrap:anywhere;text-align:center;transform:rotateY(180deg)}.match-board.pending .match-card{pointer-events:none}.match-card.matched .match-card-front,.match-card.hit .match-card-front{border-color:#8fd19e;background:#eefaf0}.match-card.miss .match-card-front{border-color:#e57373;background:#fdeeee}@media(prefers-reduced-motion:reduce){.match-card-inner{transition:none}.match-confetti i{animation:none;opacity:0}.match-dancer,.match-dancer>span{animation:none;opacity:0}}.board-sticky.deck-sticky{padding:4px;border:2px solid #333;border-radius:7px;color:#111;font-weight:600;line-height:1.1;transform:none;box-shadow:none}.background-image-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain}.background-image-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 24px;align-items:start}.background-image-preview{width:100%;margin-inline:0}.background-image-modal .new-lesson-actions{position:sticky;bottom:-28px;margin:20px -28px -28px;padding:12px 28px 28px;background:#fff}@media(max-width:640px){.background-image-body{grid-template-columns:1fr}}.background-image-preview{aspect-ratio:1000 / 620;margin-top:15px;border:1px solid color-mix(in srgb,var(--accent) 14%,white);border-radius:7px;background-color:#fffef9}.background-fit{flex-direction:row;flex-wrap:wrap}.background-fit button{flex:1 1 auto;text-align:center;font-weight:400}.background-fit button.active{font-weight:600}.form-error{margin:8px 0 0;color:#b3261e;font-size:12px}.background-library{display:grid;align-content:start;gap:6px;margin-top:8px;flex:0 1 auto;min-height:90px;max-height:190px;overflow-y:auto}.background-panel>.background-library{flex-shrink:1}.background-library-group-name{font-size:12px;font-weight:600;color:#52605a}.background-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.background-library-item{position:relative}.background-library-item>button:first-child{width:100%;aspect-ratio:1000 / 620;border:1px solid #d9dedb;border-radius:5px;background-size:cover;background-position:center;cursor:pointer;padding:0}.background-library-remove{position:absolute;top:2px;right:2px;display:none;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#fff;align-items:center;justify-content:center;cursor:pointer}.background-library-item:hover .background-library-remove,.background-library-remove:focus-visible{display:inline-flex}.brush-cursor{stroke:color-mix(in srgb,var(--accent) 60%,white);stroke-width:1}.stroke-size-control{display:grid;gap:4px;font-size:.75rem}.stroke-size-control input[type=range]{width:100%;min-width:0}.stroke-size-options{display:flex;flex-wrap:wrap;gap:4px}.stroke-size-options button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line, #d8dedb);border-radius:8px;background:transparent;cursor:pointer}.stroke-size-options button span{display:block;border-radius:50%;background:currentColor}.stroke-size-options button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.selection-toolbar .stroke-size-options button span{margin:0;flex:none}.deck-canvas{position:relative}.grid-text-toolbar>.grid-scope-group{grid-column:1 / -1;justify-self:stretch;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.grid-text-toolbar>.grid-scope-group>button{height:24px;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--accent) 85%,white);font-size:11px}.grid-text-toolbar>.grid-scope-group>button.active,.grid-text-toolbar>button.active{background:color-mix(in srgb,var(--accent) 16%,white);color:color-mix(in srgb,var(--accent) 90%,black)}.image-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;max-width:min(520px,90vw);padding:10px 14px;border-radius:10px;background:#fff4da;color:#5c4400;border:1px solid #f7c948;box-shadow:0 6px 20px #00000026;font-size:14px}.image-notice.success{background:#eaf6e6;color:#1f5130;border-color:#8fd19e}.image-notice.error{background:#fce8e8;color:#7a1f1f;border-color:#f4a6b8}.image-notice button{border:0;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}.app-tooltip{position:fixed;z-index:3000;max-width:280px;padding:7px 10px;border-radius:7px;background:#263445;color:#fff;box-shadow:0 4px 14px #0003;font-size:12px;line-height:1.4;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .16s ease,transform .16s ease}.app-tooltip.visible{opacity:1;transform:translateY(0);animation:app-tooltip-fade-in .16s ease-out}@keyframes app-tooltip-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-tooltip,.app-tooltip.visible{transition:none;animation:none}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000}.tutorial-blur{position:fixed;background:color-mix(in srgb,var(--ink) 40%,transparent);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.tutorial-highlight{position:fixed;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 3px var(--accent),0 0 18px color-mix(in srgb,var(--accent) 60%,transparent);pointer-events:none}.tutorial-card{position:fixed;box-sizing:border-box;padding:14px 16px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 12px 36px color-mix(in srgb,var(--ink) 30%,transparent);display:grid;gap:6px}.tutorial-card p{margin:0;font-size:14px;line-height:1.4}.tutorial-inline-icon{display:inline-block;vertical-align:-3px;color:var(--muted)}.tutorial-card .tutorial-progress{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tutorial-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.tutorial-skip{border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:13px}.tutorial-next{border:0;border-radius:8px;padding:7px 16px;background:var(--green-dark);color:#fff;font:inherit;font-weight:600;cursor:pointer}.modal-close.tutorial-help-button,.invite-modal .tutorial-help-button{position:absolute;top:7px;right:48px}.blending-tabs .tutorial-help-button{margin-left:auto;align-self:center;margin-right:6px;width:30px;height:30px}.blending-tabs .blending-close{display:grid;place-items:center;padding:0;height:34px;align-self:center}.panel-heading .tutorial-help-button{margin-left:auto;margin-right:4px}.deck-header .tutorial-help-button{margin-left:auto;margin-right:6px;width:30px;height:30px}.landing{--l-bg: #080b16;--l-surface: #11162a;--l-line: rgb(255 255 255 / .1);--l-text: #eef1fb;--l-muted: #a3adc8;--l-pink: #ff5fa2;--l-cyan: #35e0ff;--l-yellow: #ffd166;--l-violet: #8b7bff;--l-green: #4ade80;--l-coral: #ff7a59;--l-brand: linear-gradient(120deg, var(--l-violet), var(--l-pink) 55%, var(--l-coral));min-height:100%;background:var(--l-bg);color:var(--l-text);overflow-x:clip;position:relative}html:has(.landing){scroll-behavior:smooth;background:#080b16}.landing:before{content:"";position:absolute;inset:0 0 auto 0;height:900px;pointer-events:none;background:radial-gradient(600px 380px at 15% 0%,rgb(139 123 255 / .28),transparent 70%),radial-gradient(560px 360px at 85% 5%,rgb(255 95 162 / .22),transparent 70%)}.landing h1,.landing h2,.landing h3{color:#fff;letter-spacing:-.02em}.landing .eyebrow{color:var(--tone, var(--l-yellow))}.landing-gradient-text{background:linear-gradient(100deg,var(--l-cyan),var(--l-violet) 45%,var(--l-pink));-webkit-background-clip:text;background-clip:text;color:transparent}.landing-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:30;pointer-events:none}.landing-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--l-cyan),var(--l-violet),var(--l-pink),var(--l-yellow));transform-origin:left;transform:scaleX(0)}.landing-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:14px clamp(20px,5vw,56px);background:#080b16b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--l-line)}.landing-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:18px;text-decoration:none}.landing-brand .brand-mark{background:var(--l-brand);color:#fff}.landing-nav{display:flex;gap:24px;margin-left:24px}.landing-nav a{color:var(--l-muted);font-weight:500;text-decoration:none;transition:color .15s}.landing-nav a:hover{color:#fff}.landing-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.landing-link-button{border:0;background:transparent;padding:8px 14px;border-radius:8px;color:var(--l-text);font-weight:500}.landing-link-button:hover{background:#ffffff14}.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:10px;border:1px solid transparent;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button.small{padding:9px 16px}.landing-button.block{width:100%}.landing-button.primary{background:var(--l-brand);color:#fff;box-shadow:0 10px 30px #ff5fa24d}.landing-button.primary:hover{box-shadow:0 12px 36px #ff5fa280}.landing-button.secondary{background:#ffffff0d;color:var(--l-text);border-color:#ffffff2e}.landing-button.secondary:hover{background:#ffffff1f}.landing :focus-visible{outline:2px solid var(--l-cyan);outline-offset:2px}.landing-hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;height:calc(100svh - 68px);min-height:560px;box-sizing:border-box;overflow:hidden;padding:clamp(40px,8vh,96px) clamp(20px,5vw,56px) 0}.landing-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;pointer-events:none;z-index:3;background:linear-gradient(to bottom,transparent,var(--l-bg) 92%)}.landing-hero h1{max-width:18ch;font-size:clamp(38px,6vw,64px);line-height:1.04}.landing-lead{max-width:58ch;margin:22px 0 0;color:var(--l-muted);font-size:clamp(16px,2vw,19px);line-height:1.6}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.landing-cta-row.center{justify-content:center}.landing img{display:block;width:100%;height:auto;position:relative;border-radius:20px;border:7px solid color-mix(in srgb,var(--tone, var(--l-violet)) 22%,rgba(12,12,28,.78));background:linear-gradient(145deg,color-mix(in srgb,var(--tone, var(--l-violet)) 45%,#0c0c1c),color-mix(in srgb,var(--tone2, var(--l-pink)) 35%,#0c0c1c));filter:brightness(.9) saturate(1.05);box-shadow:0 0 0 1px color-mix(in srgb,var(--tone, var(--l-violet)) 45%,transparent),0 0 38px color-mix(in srgb,var(--tone, var(--l-violet)) 55%,transparent),0 0 90px color-mix(in srgb,var(--tone2, var(--l-pink)) 40%,transparent)}.landing-glow{position:absolute;top:8%;right:4%;bottom:4%;left:4%;z-index:0;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;background:radial-gradient(circle at 25% 30%,var(--tone, var(--l-violet)),transparent 60%),radial-gradient(circle at 80% 80%,var(--tone2, var(--l-pink)),transparent 60%)}.landing-hero-frame{position:relative;flex:none;width:min(1080px,100%);margin-top:56px;animation:landing-rise .9s ease both}.landing-feature-media{position:relative}.landing-features,.landing-pricing{position:relative;padding:clamp(64px,9vw,112px) clamp(20px,5vw,56px);max-width:1240px;margin:0 auto}.landing-section-head{text-align:center;max-width:640px;margin:0 auto clamp(40px,6vw,72px)}.landing-section-head h2{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0}.landing-section-head p:not(.eyebrow){margin:16px 0 0;color:var(--l-muted);font-size:17px}.landing-features .landing-section-head{margin-bottom:clamp(8px,2vw,24px)}.landing-showcase{margin-top:-6vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,80px);align-items:start}.landing-feature{--tone: var(--l-cyan);--tone2: var(--l-violet);min-height:70vh;display:flex;flex-direction:column;justify-content:center;opacity:.35;transition:opacity .5s ease}.landing-feature.active{opacity:1}.landing-steps{padding-bottom:15vh}.landing-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center}.landing-stage-inner{position:relative;width:100%}.landing-stage-item{--tone: var(--l-cyan);--tone2: var(--l-violet);margin:0;position:absolute;right:0;bottom:0;left:0;top:50%;height:max-content;transform:translateY(-46%) scale(.96);opacity:0;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.landing-stage-item.active{opacity:1;transform:translateY(-50%)}.landing-stage-item:nth-of-type(5n+2){--tone: var(--l-pink);--tone2: var(--l-coral)}.landing-stage-item:nth-of-type(5n+3){--tone: var(--l-yellow);--tone2: var(--l-coral)}.landing-stage-item:nth-of-type(5n+4){--tone: var(--l-green);--tone2: var(--l-cyan)}.landing-stage-item:nth-of-type(5n+5){--tone: var(--l-violet);--tone2: var(--l-pink)}.landing-feature-media.inline{display:none}.landing-feature:nth-of-type(5n+2){--tone: var(--l-pink);--tone2: var(--l-coral)}.landing-feature:nth-of-type(5n+3){--tone: var(--l-yellow);--tone2: var(--l-coral)}.landing-feature:nth-of-type(5n+4){--tone: var(--l-green);--tone2: var(--l-cyan)}.landing-feature:nth-of-type(5n+5){--tone: var(--l-violet);--tone2: var(--l-pink)}.landing-step{display:inline-block;margin-bottom:14px;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--tone) 16%,transparent);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent);font:600 12px var(--font-ui);letter-spacing:1px}.landing-feature h3{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15}.landing-feature-copy>p:not(.eyebrow){margin:16px 0 0;color:var(--l-muted);font-size:17px;line-height:1.6}.landing-feature ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.landing-feature li{display:flex;align-items:flex-start;gap:10px;color:var(--l-text)}.landing-feature li svg{flex:none;margin-top:3px;color:var(--tone)}.landing-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-top:clamp(40px,6vw,72px)}.landing-extra{padding:24px;border-radius:16px;border:1px solid var(--l-line);background:linear-gradient(160deg,#ffffff0f,#ffffff04)}.landing-extras>:nth-child(1){--tone: var(--l-cyan)}.landing-extras>:nth-child(2){--tone: var(--l-pink)}.landing-extras>:nth-child(3){--tone: var(--l-yellow)}.landing-extras>:nth-child(4){--tone: var(--l-green)}.landing-extras>:nth-child(5){--tone: var(--l-cyan)}.landing-extra h3{margin:14px 0 6px;font-size:17px}.landing-extra p{margin:0;color:var(--l-muted);line-height:1.55;font-size:15px}.landing-extra-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--tone) 18%,transparent);color:var(--tone)}.landing-pricing{max-width:1120px}.landing-plans{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.landing-plan{display:flex;--tone: var(--l-cyan)}.landing-plan.featured{--tone: var(--l-pink)}.landing-plan:last-child{--tone: var(--l-yellow)}.landing-plan>.landing-reveal{flex:1;display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:18px;border:1px solid var(--l-line);background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 10%,var(--l-surface)),var(--l-surface) 55%);box-shadow:inset 0 2px 0 var(--tone)}.landing-plan.featured>.landing-reveal{border-color:color-mix(in srgb,var(--tone) 60%,transparent);box-shadow:inset 0 2px 0 var(--tone),0 20px 60px #ff5fa238}.landing-plan-head{display:flex;align-items:center;justify-content:space-between}.landing-plan .plan-pill{background:color-mix(in srgb,var(--tone) 18%,transparent);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 45%,transparent)}.landing-plan-badge{padding:3px 10px;border-radius:999px;background:var(--l-brand);color:#fff;font-size:12px;font-weight:600}.landing-plan .plan-price{color:#fff}.landing-plan .plan-price span,.landing-plan .plan-summary{color:var(--l-muted)}.landing-plan .plan-summary{margin:0}.landing-plan-features{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:10px;flex:1;align-content:start}.landing-plan-features li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--l-text)}.landing-plan-features svg{flex:none;margin-top:3px;color:var(--tone)}.landing-plan .landing-button{margin-top:auto}.landing-final{position:relative;text-align:center;padding:clamp(72px,10vw,120px) clamp(20px,5vw,56px);background:radial-gradient(600px 300px at 50% 100%,rgb(139 123 255 / .3),transparent 70%),radial-gradient(500px 260px at 20% 100%,rgb(53 224 255 / .16),transparent 70%);border-top:1px solid var(--l-line)}.landing-final h2{margin:0;font-size:clamp(28px,4vw,44px)}.landing-final p{margin:14px 0 0;color:var(--l-muted);font-size:17px}.landing-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px clamp(20px,5vw,56px);color:var(--l-muted);font-size:14px;border-top:1px solid var(--l-line)}.landing-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.landing-reveal.in-view{opacity:1;transform:none}.auth-back{display:inline-flex;align-items:center;gap:6px}@keyframes landing-rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media(max-width:860px){.landing-nav{display:none}.landing-showcase{grid-template-columns:1fr}.landing-stage{display:none}.landing-steps{padding-bottom:0}.landing-feature{min-height:0;opacity:1;padding:36px 0;gap:28px}.landing-feature-media.inline{display:block}.landing-plans{grid-template-columns:1fr;max-width:440px;margin:0 auto}}@media(max-width:480px){.landing-header{gap:8px}.landing-link-button{padding:8px}}@media(prefers-reduced-motion:reduce){html:has(.landing){scroll-behavior:auto}.landing-reveal,.landing-reveal.in-view{opacity:1;transform:none;transition:none}.landing-hero-frame{animation:none}.landing-feature,.landing-stage-item,.landing-button{transition:none}}html:has(.landing-light){background:#f7f8fe}.landing.landing-light{--l-bg: #f7f8fe;--l-surface: #ffffff;--l-line: rgb(20 24 60 / .1);--l-text: #1c2140;--l-muted: #5b6482;--l-pink: #ec4899;--l-cyan: #0ea5e9;--l-yellow: #d99a00;--l-violet: #6d5cf0;--l-green: #16a34a;--l-coral: #f0663d}.landing-light:before{background:radial-gradient(600px 380px at 15% 0%,rgb(139 123 255 / .2),transparent 70%),radial-gradient(560px 360px at 85% 5%,rgb(255 95 162 / .16),transparent 70%)}.landing-light h1,.landing-light h2,.landing-light h3,.landing-light .landing-brand,.landing-light .landing-nav a:hover,.landing-light .landing-plan .plan-price{color:var(--l-text)}.landing-light .landing-brand .brand-mark{color:#fff}.landing-light .landing-header{background:#f7f8fecc}.landing-light .landing-link-button:hover{background:#14183c0f}.landing-light .landing-button.secondary{background:#fff;border-color:#14183c29}.landing-light .landing-button.secondary:hover{background:#14183c0d}.landing-light .landing-button.primary{color:#fff}.landing-light img{border-color:#fff;background:#fff;filter:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--tone, var(--l-violet)) 35%,transparent),0 24px 60px color-mix(in srgb,var(--tone, var(--l-violet)) 28%,transparent),0 8px 24px #14183c1f}.landing-light .landing-glow{opacity:.32}.landing-light .landing-extra{background:#fff;box-shadow:0 6px 24px #14183c0f}.landing-light .landing-plan>.landing-reveal{background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 9%,#fff),#fff 55%);box-shadow:inset 0 2px 0 var(--tone),0 10px 30px #14183c12}.landing-light .landing-plan.featured>.landing-reveal{box-shadow:inset 0 2px 0 var(--tone),0 20px 50px #ec48992e}.landing-light .landing-final{background:radial-gradient(600px 300px at 50% 100%,rgb(139 123 255 / .2),transparent 70%),radial-gradient(500px 260px at 20% 100%,rgb(14 165 233 / .12),transparent 70%)}@media(max-width:720px){.blending-board{top:6px;right:6px;bottom:6px;left:6px}.blending-tabs{gap:6px;padding:6px}.blending-tabs button:not(.blending-close):not(.tutorial-help-button){padding:5px 8px;font-size:12px}.blending-tray{flex:0 1 auto;min-height:0;max-height:30%;overflow-y:auto}.blending-footer{display:flex;gap:8px;padding:6px 8px}.blending-footer .blend-mode-tools{flex:1 1 auto;min-width:0;padding:5px 4px;margin:-5px -4px;overflow-x:auto;scrollbar-width:none}.blending-footer-actions{flex:0 0 auto;gap:6px}.blending-footer-actions>button{width:34px;height:34px;padding:0;justify-content:center}.footer-label{display:none}.swatch-picker .swatch-toggle{display:block;width:34px;height:34px;border:2px solid white;border-radius:6px;box-shadow:0 0 0 1px #0000002e;padding:0}.swatch-picker .accent-swatches{display:none;position:absolute;right:0;bottom:calc(100% + 10px);z-index:3;padding:8px;flex-wrap:wrap;justify-content:center;width:156px;border-radius:10px;background:#fff;box-shadow:0 6px 20px #0003}.swatch-picker .accent-swatches.open{display:flex}.tray-tile{width:40px;height:34px;font-size:15px;border-width:1.5px}.blending-tray{padding:8px}}@media(max-width:720px){.deck-bar{flex-wrap:wrap;gap:8px}.match-swatch-picker{margin-left:0}}@media(max-width:720px){.folder-row{flex-direction:column;align-items:center}.folder-row>.nav-item,.folder-row>.nav-item.student-folder-nav,.folder-row.subfolder-row>.nav-item{flex:0 0 auto;padding:0}.folder-menu-anchor{position:relative;right:auto;justify-content:center}.folder-row .folder-add-lesson{display:none}.folder-row:not(:has(>.nav-item.active)) .folder-more{display:none}.folder-row .folder-more{opacity:1;width:40px;margin-top:2px}}@media(max-width:720px){.nav-section-heading button{display:grid}}@media(max-width:720px){.folder-menu{left:0;right:auto;width:160px}}@media(max-width:720px){.deck-split{flex-direction:column}.deck-tiles{flex:0 1 auto;max-width:none;max-height:38%;box-shadow:0 2px 6px #0000001a}.deck-canvas{flex:1 1 0;min-height:120px}}.modal-scrim>.share-modal{max-height:calc(100dvh - 40px);overflow-x:clip;overflow-y:auto}@media(max-width:720px){.card-deck:not(.matching-game) .deck-bar-run{flex-wrap:wrap;row-gap:8px}.card-deck:not(.matching-game) .deck-bar-run>button{order:1;flex:0 0 auto;white-space:nowrap}.card-deck:not(.matching-game) .deck-bar-run:after{content:"";order:1;flex-basis:100%;height:0}.card-deck:not(.matching-game) .deck-bar-run>.deck-bar-note{order:2;flex:1 1 auto}}@media(max-width:380px){.card-deck:not(.matching-game) .deck-bar-run{gap:6px;padding-inline:8px}.card-deck:not(.matching-game) .deck-bar-run>button{padding-inline:8px}}@media(max-width:380px){.card-deck:not(.matching-game) .deck-bar-run>button{gap:3px;padding-inline:6px;font-size:11px}.card-deck:not(.matching-game) .deck-bar-run>button svg{width:13px;height:13px}}@media(max-width:720px){.matching-game .deck-bar-run{flex-wrap:wrap;row-gap:8px}.matching-game .deck-bar-run>button{order:1;flex:0 0 auto;white-space:nowrap}.matching-game .deck-bar-run:after{content:"";order:1;flex-basis:100%;height:0}.matching-game .deck-bar-run>.deck-bar-note,.matching-game .deck-bar-run>.match-swatch-picker{order:2}.matching-game .deck-bar-run>.deck-bar-note{flex:0 0 auto}.matching-game .deck-bar-run>.match-swatch-picker{margin-left:auto}}:root{--sb-violet: #8b7bff;--sb-pink: #ff5fa2;--sb-coral: #ff7a59;--sb-cyan: #35e0ff;--sb-yellow: #ffd166;--sb-violet-rgb: 139 123 255;--sb-pink-rgb: 255 95 162;--sb-violet-strong: #6a5cf0;--sb-ink-violet: #3d3a8c;--sb-ink: #14183a;--sb-brand: linear-gradient(120deg, var(--sb-violet), var(--sb-pink) 55%, var(--sb-coral));--sb-hairline: linear-gradient(90deg, var(--sb-cyan), var(--sb-violet), var(--sb-pink), var(--sb-yellow));--sb-selected-bg: linear-gradient(135deg, rgb(var(--sb-violet-rgb) / .22), rgb(var(--sb-pink-rgb) / .16));--sb-hover-bg: rgb(var(--sb-violet-rgb) / .12);--sb-border: rgb(var(--sb-violet-rgb) / .2);--sb-border-strong: rgb(var(--sb-violet-rgb) / .55);--sb-group-bg: rgb(var(--sb-violet-rgb) / .07);--sb-group-border: rgb(var(--sb-violet-rgb) / .14);--sb-plan-free: var(--sb-cyan);--sb-plan-pro: var(--sb-pink);--sb-plan-premium: var(--sb-yellow);--sb-popover-shadow: 0 12px 36px rgb(80 64 190 / .18)}.app-shell .topbar{background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgb(var(--sb-violet-rgb) / .08)}.app-shell .topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;background:var(--sb-hairline);opacity:.75}.app-shell .brand{color:var(--sb-ink);font-weight:700;font-size:18px;letter-spacing:-.01em}.app-shell .brand-mark{background:var(--sb-brand);box-shadow:0 6px 18px rgb(var(--sb-pink-rgb) / .3)}.app-shell .export-button{background:var(--sb-brand);box-shadow:0 6px 20px rgb(var(--sb-pink-rgb) / .28);transition:transform .15s,box-shadow .15s}.app-shell .export-button:hover{background:var(--sb-brand);transform:translateY(-1px);box-shadow:0 8px 26px rgb(var(--sb-pink-rgb) / .45)}.app-shell .sidebar{background:linear-gradient(180deg,rgb(var(--sb-violet-rgb) / .07),rgb(var(--sb-pink-rgb) / .03) 60%,transparent),#fbfaff}.app-shell .sidebar .nav-item.active{background:linear-gradient(120deg,rgb(var(--sb-violet-rgb) / .16),rgb(var(--sb-pink-rgb) / .1));box-shadow:inset 2px 0 0 var(--sb-pink)}.app-shell .library-layout{position:relative;background:#f7f6fc}.app-shell .library-layout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(560px 340px at 85% 0%,rgb(var(--sb-pink-rgb) / .12),transparent 70%),radial-gradient(600px 380px at 25% 0%,rgb(var(--sb-violet-rgb) / .14),transparent 70%)}.app-shell .library-main{position:relative}.app-shell .library-main h1{color:var(--sb-ink);letter-spacing:-.02em}.app-shell .library-main .eyebrow{background:var(--sb-brand);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.app-shell .lesson-card{border-radius:14px;border-color:rgb(var(--sb-violet-rgb) / .18);box-shadow:0 2px 10px #14183a0d}.app-shell .lesson-card:hover{border-color:rgb(var(--sb-violet-rgb) / .6);box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .3),0 12px 34px rgb(var(--sb-violet-rgb) / .22),0 0 60px rgb(var(--sb-pink-rgb) / .1)}.app-shell .lesson-thumb{border-radius:13px 13px 0 0}.app-shell .new-lesson-card{border-radius:14px;border-color:rgb(var(--sb-violet-rgb) / .4);background:rgb(var(--sb-violet-rgb) / .05);color:var(--sb-violet-strong);transition:background .16s,box-shadow .16s,border-color .16s}.app-shell .new-lesson-card:hover{background:rgb(var(--sb-violet-rgb) / .1);border-color:var(--sb-violet);box-shadow:0 8px 28px rgb(var(--sb-violet-rgb) / .22)}.modal-scrim{background:radial-gradient(500px 320px at 20% 10%,rgb(var(--sb-violet-rgb) / .25),transparent 70%),radial-gradient(500px 320px at 85% 90%,rgb(var(--sb-pink-rgb) / .18),transparent 70%),#14183a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.share-modal{border-radius:18px;border:1px solid rgb(var(--sb-violet-rgb) / .2);background:#fff;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .08),0 24px 70px #5040be47,0 0 80px rgb(var(--sb-pink-rgb) / .1);overflow:clip}.share-modal:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--sb-hairline)}.share-modal h2{color:var(--sb-ink);letter-spacing:-.02em}.share-modal-icon{background:linear-gradient(135deg,rgb(var(--sb-violet-rgb) / .16),rgb(var(--sb-pink-rgb) / .14));color:var(--sb-violet-strong)}.delete-confirmation-modal .share-modal-icon{background:#fff0ec;color:#bc6654}.new-lesson-actions button,.delete-confirm-button{border-radius:10px;transition:transform .15s,box-shadow .15s,background .15s}.cancel-button{border-color:rgb(var(--sb-violet-rgb) / .25)}.cancel-button:hover{background:rgb(var(--sb-violet-rgb) / .08)}.confirm-button,.auth-submit,.plan-upgrade-button:not(:disabled){border-color:transparent;background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));color:#fff;box-shadow:0 6px 20px rgb(var(--sb-pink-rgb) / .25)}.confirm-button:hover:not(:disabled),.auth-submit:hover:not(:disabled),.plan-upgrade-button:not(:disabled):hover{background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));transform:translateY(-1px);box-shadow:0 8px 26px rgb(var(--sb-pink-rgb) / .42)}.auth-submit,.plan-upgrade-button{border-radius:10px}.auth-screen{position:relative;background:radial-gradient(600px 380px at 15% 0%,rgb(var(--sb-violet-rgb) / .2),transparent 70%),radial-gradient(560px 360px at 85% 5%,rgb(var(--sb-pink-rgb) / .16),transparent 70%),#f7f6fc}.auth-panel{border-radius:18px;border-color:var(--sb-border);box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .08),0 24px 70px #5040be2e}.auth-brand{color:var(--sb-ink);font-weight:700;letter-spacing:-.01em}.auth-brand .brand-mark{background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));box-shadow:0 6px 18px rgb(var(--sb-pink-rgb) / .3)}.auth-panel input:focus-visible,.share-modal input:focus-visible,.share-modal textarea:focus-visible{outline:2px solid var(--sb-violet);outline-offset:1px}.tutorial-card{border-radius:16px;border:1px solid rgb(var(--sb-violet-rgb) / .25);box-shadow:0 16px 44px #5040be4d}.tutorial-highlight{box-shadow:0 0 0 3px var(--sb-violet),0 0 22px rgb(var(--sb-violet-rgb) / .7),0 0 50px rgb(var(--sb-pink-rgb) / .35)}.tutorial-next{background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral))}.app-shell .tool-rail{background:linear-gradient(180deg,rgb(var(--sb-violet-rgb) / .07),rgb(var(--sb-pink-rgb) / .03) 60%,transparent),#fbfaff;border-right-color:rgb(var(--sb-violet-rgb) / .16)}.app-shell .tool-button,.app-shell .rail-back{border-radius:10px;transition:background .15s,color .15s,transform .15s}.app-shell .tool-button:hover,.app-shell .rail-back:hover{background:var(--sb-hover-bg);color:var(--sb-violet-strong)}.app-shell .tool-button.selected{background:var(--sb-selected-bg);color:#5a49e0;box-shadow:inset 2px 0 0 var(--sb-pink),0 4px 14px rgb(var(--sb-violet-rgb) / .2)}.app-shell .rail-divider{background:rgb(var(--sb-violet-rgb) / .2)}.app-shell .board-main{background:radial-gradient(560px 340px at 85% 0%,rgb(var(--sb-pink-rgb) / .1),transparent 70%),radial-gradient(600px 380px at 25% 0%,var(--sb-hover-bg),transparent 70%),#f4f2fb}.app-shell .board-toolbar{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:rgb(var(--sb-violet-rgb) / .16)}.app-shell .board-title-icon{border-radius:10px;background:linear-gradient(135deg,rgb(var(--sb-violet-rgb) / .18),rgb(var(--sb-pink-rgb) / .14));color:var(--sb-violet-strong)}.app-shell .board-title strong{color:var(--sb-ink);letter-spacing:-.01em}.app-shell .blend-button,.app-shell .page-nav-step{border-radius:10px;border-color:rgb(var(--sb-violet-rgb) / .22);background:rgb(var(--sb-violet-rgb) / .05);color:var(--sb-ink-violet);transition:background .15s,box-shadow .15s,border-color .15s}.app-shell .blend-button:hover:not(:disabled),.app-shell .page-nav-step:hover:not(:disabled){background:var(--sb-hover-bg);border-color:rgb(var(--sb-violet-rgb) / .5);box-shadow:0 4px 14px rgb(var(--sb-violet-rgb) / .18)}.app-shell .blend-button.active{background:var(--sb-selected-bg);border-color:var(--sb-border-strong)}.app-shell .page-paper{border-radius:4px;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .15),0 18px 50px #5040be2e,0 0 70px rgb(var(--sb-pink-rgb) / .08)}.app-shell .blending-board{border-radius:18px;border:1px solid rgb(var(--sb-violet-rgb) / .25);background:#f7f6fc;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .1),0 24px 70px #5040be4d,0 0 80px rgb(var(--sb-pink-rgb) / .1)}.app-shell .blending-board:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;pointer-events:none;background:var(--sb-hairline)}.app-shell .blending-tabs,.app-shell .deck-header{padding-top:11px;background:#ffffffe6;border-bottom:1px solid rgb(var(--sb-violet-rgb) / .14)}.app-shell .blending-tabs button:not(.blending-close):not(.tutorial-help-button){border:1px solid rgb(var(--sb-violet-rgb) / .25);border-radius:10px;background:rgb(var(--sb-violet-rgb) / .06);color:var(--sb-ink-violet);font-weight:500;transition:background .15s,box-shadow .15s,border-color .15s}.app-shell .blending-tabs button:not(.blending-close):not(.tutorial-help-button):hover:not(:disabled){background:rgb(var(--sb-violet-rgb) / .14);border-color:rgb(var(--sb-violet-rgb) / .5);box-shadow:0 4px 14px rgb(var(--sb-violet-rgb) / .18)}.app-shell .blending-tabs button.active{border-color:transparent;background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));color:#fff;box-shadow:0 6px 18px rgb(var(--sb-pink-rgb) / .3)}.app-shell .blending-close,.app-shell .deck-close{border-radius:10px;border:1px solid rgb(var(--sb-violet-rgb) / .25);background:rgb(var(--sb-violet-rgb) / .08);color:var(--sb-ink-violet);transition:background .15s}.app-shell .blending-close:hover,.app-shell .deck-close:hover{background:rgb(var(--sb-pink-rgb) / .15);color:#c2185b}.app-shell .blending-tray{background:#fff;box-shadow:0 6px 20px var(--sb-hover-bg)}.app-shell .blending-letters,.app-shell .blending-digraphs{border-radius:14px;background:var(--sb-group-bg)}.app-shell .tray-tile{transition:transform .12s,box-shadow .12s}.app-shell .tray-tile:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgb(var(--sb-violet-rgb) / .3)}.app-shell .initial-final-blends-toggle{border-radius:12px}.app-shell .blending-footer,.app-shell .deck-bar{background:#ffffffeb;color:var(--sb-ink-violet);border-top:1px solid rgb(var(--sb-violet-rgb) / .16)}.app-shell .blending-footer button,.app-shell .deck-bar button,.app-shell .deck-bar .deck-unlock{border:1px solid rgb(var(--sb-violet-rgb) / .25);border-radius:10px;background:rgb(var(--sb-violet-rgb) / .06);color:var(--sb-ink-violet);font-weight:500;transition:background .15s,box-shadow .15s,transform .15s}.app-shell .blending-footer button:hover:not(:disabled),.app-shell .deck-bar button:hover:not(:disabled){background:rgb(var(--sb-violet-rgb) / .14);box-shadow:0 4px 14px rgb(var(--sb-violet-rgb) / .18)}.app-shell .deck-bar button.primary{border-color:transparent;background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));color:#fff;box-shadow:0 6px 18px rgb(var(--sb-pink-rgb) / .3)}.app-shell .deck-bar button.primary:hover:not(:disabled){background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));transform:translateY(-1px);box-shadow:0 8px 24px rgb(var(--sb-pink-rgb) / .45)}.app-shell .blending-footer .blend-mode-tools button{background:#fff;border-color:rgb(var(--sb-violet-rgb) / .25);color:var(--sb-ink-violet)}.app-shell .blending-footer .blend-mode-tools button.selected{border-color:transparent;background:linear-gradient(135deg,var(--sb-violet),var(--sb-pink));color:#fff;box-shadow:0 4px 14px rgb(var(--sb-violet-rgb) / .4)}.app-shell .blending-footer .blend-mode-tools .pen-color{border-color:#14183a2e}.app-shell .blending-footer .blend-mode-tools .pen-color.selected{border-color:var(--sb-violet);box-shadow:0 0 0 3px rgb(var(--sb-violet-rgb) / .45)}.app-shell .deck-header strong,.app-shell .match-prep-heading h2{color:var(--sb-ink);letter-spacing:-.01em}.app-shell .deck-stage{background:radial-gradient(500px 300px at 20% 0%,rgb(var(--sb-violet-rgb) / .1),transparent 70%),radial-gradient(500px 300px at 85% 100%,rgb(var(--sb-pink-rgb) / .08),transparent 70%),#fff}.app-shell .deck-card{border-radius:18px;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .2),0 14px 40px rgb(var(--sb-violet-rgb) / .25),0 4px #0002}.app-shell .matching-game{background:#f7f6fc}.app-shell .match-prep{border-radius:22px;border:1px solid rgb(var(--sb-violet-rgb) / .2);box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .08),0 24px 60px #5040be33}.app-shell .match-prep-icon{border-radius:14px;background:linear-gradient(135deg,rgb(var(--sb-violet-rgb) / .2),rgb(var(--sb-pink-rgb) / .16));color:var(--sb-violet-strong)}.app-shell .match-count{background:var(--sb-hover-bg);color:#4b3fc0}.app-shell .match-count.over{background:#fdeeee;color:#b3402c}.app-shell .match-card-back,.app-shell .match-card-front{border-radius:16px;border-color:#fff;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .25),0 8px 22px rgb(var(--sb-violet-rgb) / .28)}.app-shell .match-card:not(:disabled):hover .match-card-back{box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .5),0 12px 30px rgb(var(--sb-pink-rgb) / .3)}.app-shell .match-score{border-radius:999px;background:rgb(var(--sb-violet-rgb) / .08)}.app-shell .match-score.turn{border-color:transparent;background:linear-gradient(120deg,rgb(var(--sb-violet-rgb) / .25),rgb(var(--sb-pink-rgb) / .2));box-shadow:0 4px 14px rgb(var(--sb-violet-rgb) / .25)}.app-shell .blending-tabs,.app-shell .deck-header{position:relative;z-index:1}.app-shell .blending-tabs button:not(.blending-close):not(.tutorial-help-button):hover:not(:disabled),.app-shell .blending-footer button:hover:not(:disabled),.app-shell .deck-bar button:hover:not(:disabled),.app-shell .deck-bar button.primary,.app-shell .deck-bar button.primary:hover:not(:disabled),.app-shell .blending-footer .blend-mode-tools button.selected,.app-shell .blending-footer .blend-mode-tools .pen-color.selected{box-shadow:none}.app-shell .blending-tabs button.active{background:var(--sb-violet-strong);border-color:var(--sb-violet-strong);color:#fff;box-shadow:none;font-weight:600}.app-shell .blending-footer .blend-mode-tools button.selected{background:var(--sb-violet-strong);border-color:var(--sb-violet-strong);color:#fff}.app-shell .deck-bar button.primary,.app-shell .deck-bar button.primary:hover:not(:disabled){background:var(--sb-violet-strong);border-color:var(--sb-violet-strong);transform:none}.app-shell .blending-footer .blend-mode-tools .pen-color.selected{border-color:var(--sb-violet-strong);outline:2px solid var(--sb-violet-strong);outline-offset:2px}.app-shell .blending-tabs button.active:not(.blending-close):not(.tutorial-help-button),.app-shell .blending-tabs button.active:not(.blending-close):not(.tutorial-help-button):hover:not(:disabled){background:var(--sb-violet-strong);border-color:var(--sb-violet-strong);color:#fff}.app-shell .blending-tabs{gap:6px 8px;align-items:center}.app-shell .blending-tabs button:not(.blending-close):not(.tutorial-help-button){flex:0 0 auto}.app-shell .blending-tabs .tutorial-help-button{margin-left:auto}.app-shell .blending-tabs button.active:not(.blending-close):not(.tutorial-help-button),.app-shell .blending-tabs button.active:not(.blending-close):not(.tutorial-help-button):hover:not(:disabled),.app-shell .blending-footer .blend-mode-tools button.selected,.app-shell .deck-bar button.primary,.app-shell .deck-bar button.primary:hover:not(:disabled){background:var(--sb-selected-bg);border-color:var(--sb-border-strong);color:var(--sb-ink-violet);box-shadow:none}.app-shell .blending-footer .blend-mode-tools .pen-color.selected{border-color:var(--sb-violet);outline-color:var(--sb-violet)}.app-shell .syllable-label-tile{background:#fff}.app-shell .blending-syllable-labels,.app-shell .blending-special-tiles,.app-shell .blending-capital-letters,.app-shell .blending-vowel-group{border-radius:14px;background:rgb(var(--sb-violet-rgb) / .07)}.app-shell .blending-tabs{padding-right:92px;min-height:54px}.app-shell .blending-tabs .blending-close{position:absolute;top:11px;right:8px;margin:0}.app-shell .blending-tabs .tutorial-help-button{position:absolute;top:13px;right:50px;margin:0}.app-shell .card-deck{border-radius:18px;border:1px solid rgb(var(--sb-violet-rgb) / .25);background:#f7f6fc;box-shadow:0 0 0 1px rgb(var(--sb-violet-rgb) / .1),0 24px 70px #5040be4d,0 0 80px rgb(var(--sb-pink-rgb) / .1)}.app-shell .card-deck:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;pointer-events:none;background:var(--sb-hairline)}.invite-form button:not(.end-lesson-button),.share-link button,.image-search-form button,.insert-image-button,.crop-actions .crop-confirm{border:1px solid transparent;border-radius:10px;background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));color:#fff;box-shadow:0 6px 20px rgb(var(--sb-pink-rgb) / .25);transition:transform .15s,box-shadow .15s}.invite-form button:not(.end-lesson-button):hover:not(:disabled),.share-link button:hover:not(:disabled),.image-search-form button:hover:not(:disabled),.insert-image-button:hover:not(:disabled),.crop-actions .crop-confirm:hover:not(:disabled){background:linear-gradient(120deg,var(--sb-violet),var(--sb-pink) 55%,var(--sb-coral));transform:translateY(-1px);box-shadow:0 8px 26px rgb(var(--sb-pink-rgb) / .42)}.end-lesson-button{border-radius:10px}.end-lesson-button:hover{background:#ffe3dc}.crop-actions button:not(.crop-confirm){border-radius:10px}.page-insert-before,.page-insert-after{background:linear-gradient(135deg,var(--sb-violet),var(--sb-pink))}input,textarea,select{accent-color:var(--sb-violet)}.invite-form input,.image-search-form input,.auth-input-wrap,.match-prep textarea,.themed-select-trigger,.search-box,.sort-button{border-radius:10px;border-color:rgb(var(--sb-violet-rgb) / .22)}.invite-form input:focus,.image-search-form input:focus,.match-prep textarea:focus,.themed-select-trigger:focus-visible,.auth-input-wrap:focus-within,.search-box:focus-within{border-color:var(--sb-violet);outline:none;box-shadow:0 0 0 3px rgb(var(--sb-violet-rgb) / .2)}.view-toggle{border-radius:10px}.view-toggle.selected,.view-toggle:hover{background:linear-gradient(135deg,rgb(var(--sb-violet-rgb) / .2),rgb(var(--sb-pink-rgb) / .14));color:var(--sb-ink-violet)}.sort-menu,.themed-select-popup,.page-directory-menu,.page-frequent-menu{border-radius:14px;border-color:var(--sb-border);box-shadow:0 16px 44px #5040be38}.themed-select-option:hover,.themed-select-option.selected,.themed-select-option[aria-selected=true]{background:var(--sb-hover-bg);color:var(--sb-ink-violet)}.background-panel,.selection-toolbar,.text-font-toolbar,.grid-text-toolbar,.page-frequent-menu,.student-status-menu,.invite-menu{border-radius:14px;border-color:var(--sb-border);box-shadow:var(--sb-popover-shadow)}.background-scope button,.background-swatch span,.image-result{border-radius:10px;border-color:rgb(var(--sb-violet-rgb) / .22);transition:background .15s,border-color .15s}.background-scope button:hover{background:rgb(var(--sb-violet-rgb) / .1);border-color:rgb(var(--sb-violet-rgb) / .5)}.background-scope button.active,.text-font-toolbar>button.active,.selection-toolbar button.active,.selection-toolbar button.selected,.grid-text-toolbar button.active{background:var(--sb-selected-bg);border-color:var(--sb-border-strong);color:var(--sb-ink-violet)}.selection-toolbar button,.text-font-toolbar>button:not(.selection-font-picker),.grid-text-toolbar>button:not(.selection-font-picker){border-radius:8px}.selection-toolbar button:hover,.text-font-toolbar>button:hover,.grid-text-toolbar>button:hover{background:var(--sb-hover-bg);color:var(--sb-ink-violet)}.sort-menu button{border-radius:8px}.sort-menu button:hover,.sort-menu button.selected{background:var(--sb-hover-bg);color:var(--sb-ink-violet)}.page-directory-actions button:hover:not(:disabled),.page-frequent-menu button:hover{background:var(--sb-hover-bg);color:var(--sb-ink-violet)}.nav-item.drop-target,.folder-row.drop-target{outline-color:var(--sb-violet);background:var(--sb-hover-bg)}.folder-row.drop-target>.nav-item{color:var(--sb-ink-violet)}.file-menu{border-radius:14px;border-color:var(--sb-border);box-shadow:var(--sb-popover-shadow)}.file-menu button{border-radius:8px}.file-menu button:hover{background:var(--sb-hover-bg);color:var(--sb-ink-violet)}.file-menu button.danger-option:hover{background:#dc46461a;color:#b4342f}.card-menu-button:hover{background:rgb(var(--sb-violet-rgb) / .14);color:var(--sb-ink-violet)}.upload-background{border-radius:10px;border-color:var(--sb-border);background:#fff;color:var(--sb-ink-violet);transition:background .15s,border-color .15s}.upload-background:hover:not(:disabled){background:var(--sb-hover-bg);border-color:var(--sb-border-strong);color:var(--sb-ink-violet)}.blending-letters,.blending-digraphs,.blending-glued-sounds,.blending-affix-group,.deck-prep-group{background:var(--sb-group-bg);border:1px solid var(--sb-group-border);border-radius:14px}.app-shell .plan-pill{--tone: var(--sb-plan-free);background:color-mix(in srgb,var(--tone) 18%,white);color:color-mix(in srgb,var(--tone) 45%,#14183a);border:1px solid color-mix(in srgb,var(--tone) 55%,transparent)}.app-shell .plan-pill.plan-pro{--tone: var(--sb-plan-pro)}.app-shell .plan-pill.plan-premium{--tone: var(--sb-plan-premium);color:color-mix(in srgb,var(--tone) 40%,#14183a)}.profile-card{border-radius:16px;border-color:var(--sb-border);background:linear-gradient(180deg,rgb(var(--sb-violet-rgb) / .05),#fff 60%)}.profile-card .profile-avatar-preview{box-shadow:0 0 0 3px #fff,0 0 0 5px rgb(var(--sb-violet-rgb) / .35)}.profile-card .profile-avatar-row{border-bottom-color:var(--sb-border)}.profile-card h3{color:var(--sb-ink)}.profile-upload-button{border-radius:10px;border-color:var(--sb-border);background:#fff;color:var(--sb-ink-violet);transition:background .15s,border-color .15s}.profile-upload-button:hover:not(:disabled){background:var(--sb-hover-bg);border-color:var(--sb-border-strong)}.profile-remove-photo{border-radius:10px}.profile-remove-photo:hover{background:#dc46461a}.profile-card .new-lesson-field input,.profile-email-value{border-radius:10px;border-color:var(--sb-border);background:#fff}.profile-email-value{background:rgb(var(--sb-violet-rgb) / .05);color:var(--sb-ink-violet)}.profile-card .new-lesson-field input:focus{outline:none;border-color:var(--sb-violet);box-shadow:0 0 0 3px rgb(var(--sb-violet-rgb) / .2)}.profile-card .new-lesson-field label,.profile-card .new-lesson-field span{color:var(--sb-ink-violet)}
