:root{--bg-app:#f4ebdd;--bg-sidebar:#fdf8f0;--bg-card:#fffdf9;--bg-card-hover:#fdf6ea;--border-color:#7a5e3e29;--border-color-focus:#d67c5480;--text-primary:#4b3f33;--text-secondary:#8a7663;--text-muted:#b3a390;--accent-blue:#6a8caf;--accent-cyan:#d67c54;--accent-green:#8aa06f;--accent-purple:#b98aa0;--accent-gradient:linear-gradient(135deg,#eaa06e 0%,#d67c54 100%);--accent-gradient-hover:linear-gradient(135deg,#e7955f 0%,#cd6f45 100%);--sidebar-width:380px;--border-radius-sm:12px;--border-radius-md:18px;--border-radius-lg:26px;--shadow-glow:0 6px 18px #d67c542e;--shadow-soft:0 8px 24px #7a5e3e1f;--font-heading:"Baloo 2",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-body:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);overflow:hidden;height:100vh;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7a5e3e38;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#7a5e3e66}.app-container{display:flex;width:100vw;height:100vh}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;z-index:10;flex-direction:column;flex-shrink:0;height:100%}.brand{display:flex;border-bottom:1px solid var(--border-color);align-items: center;gap:12px;height:70px;padding:0 24px}.lang-switch{margin-left:auto}.lang-select{appearance:none;-webkit-appearance:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.5px;cursor:pointer;background:#7a5e3e0f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a8927a' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") right 10px center no-repeat;padding:6px 28px 6px 10px;transition:all .2s;font-size:12px;font-weight:700}.lang-select:hover{color:var(--text-primary);border-color:var(--accent-cyan)}.lang-select:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:1px}:root[dir=rtl] .lang-select{background-position:10px 50%;padding:6px 10px 6px 28px}.brand-icon{filter:drop-shadow(0 3px 6px #d67c5459);font-size:28px}.brand-text h1{background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.brand-text span{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);display:block;margin-top:-2px;font-size:11px;font-weight:700}.control-sections{overflow-y:auto;display:flex;flex-direction:column;flex:1;gap:20px;padding:20px}.control-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:20px;transition:border-color .3s,box-shadow .3s,transform .3s;box-shadow:0 2px 8px #7a5e3e0f}.control-card:hover{box-shadow:var(--shadow-soft);border-color:#d67c5459}.control-card h2{display:flex;align-items: center;gap:10px;margin-bottom:16px;font-size:17px;font-weight:700}.step-num{background:var(--accent-gradient);color:#fff;display:inline-flex;border-radius:50%;justify-content:center;align-items: center;width:24px;height:24px;font-size:12px;font-weight:800;box-shadow:0 2px 6px #d67c5459}.upload-zone{border-radius:var(--border-radius-sm);text-align:center;cursor:pointer;position:relative;background:#d67c5408;border:2px dashed #7a5e3e47;margin-top:12px;padding:22px 10px;transition:all .3s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow);background:#d67c5412}.file-input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;top:0;left:0}.upload-icon{display:block;opacity:.9;margin-bottom:8px;font-size:26px}.upload-text{color:var(--text-secondary);font-size:13px}.upload-text strong{color:var(--accent-cyan)}.upload-subtext{display:block;color:var(--text-muted);margin-top:4px;font-size:11px}.saved-worksheets{margin-top:16px}.saved-worksheets>label{display:block;color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.worksheet-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.worksheet-card{position:relative;aspect-ratio:1;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;background:var(--bg-card);transition:border-color .2s,box-shadow .2s,transform .15s}.worksheet-card:hover{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.worksheet-card.active{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow);cursor:default}.worksheet-card img{object-fit:cover;display:block;image-rendering:pixelated;width:100%;height:100%}.worksheet-card-delete{position:absolute;color:#fff;text-align:center;cursor:pointer;opacity:0;background:#4b3f33b8;border:none;border-radius:50%;width:20px;height:20px;padding:0;transition:opacity .2s,background .2s;font-size:11px;line-height:20px;top:3px;right:3px}.worksheet-card:hover .worksheet-card-delete,.worksheet-card:focus-within .worksheet-card-delete{opacity:1}.worksheet-card-delete:hover{background:#c0392b}:root[dir=rtl] .worksheet-card-delete{left:3px;right:auto}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-label{display:flex;justify-content:space-between;align-items: center;margin-bottom:8px}.control-label label{color:var(--text-secondary);font-size:13px;font-weight:700}.val-display{font-family:var(--font-heading);color:var(--accent-cyan);font-size:14px;font-weight:700}.input-desc{color:var(--text-muted);display:block;margin-top:6px;font-size:11px}.layout-modes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.mode-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-family:var(--font-body);cursor:pointer;text-align:center;background:#7a5e3e0a;padding:9px 4px;transition:all .2s;font-size:11px;font-weight:700}.mode-btn:hover{color:var(--text-primary);background:#7a5e3e1a}.mode-btn.active{background:var(--accent-cyan);color:#fff;border-color:var(--accent-cyan);box-shadow:0 3px 10px #d67c5459}input[type=range]{-webkit-appearance:none;outline:none;background:#7a5e3e24;border-radius:6px;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-cyan);cursor:pointer;border:2px solid #fffdf9;border-radius:50%;width:18px;height:18px;transition:transform .1s;box-shadow:0 2px 6px #d67c5480}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.dual-range{position:relative;height:18px;margin-top:10px}.dual-range-track,.dual-range-fill{position:absolute;pointer-events:none;border-radius:6px;height:8px;top:5px}.dual-range-track{background:#7a5e3e24;left:0;right:0}.dual-range-fill{background:var(--accent-cyan);box-shadow:0 2px 6px #d67c5459}.dual-range input[type=range]{position:absolute;pointer-events:none;background:0 0;width:100%;height:18px;margin:0;top:0;left:0}.dual-range input[type=range]::-webkit-slider-thumb{pointer-events:auto}.dual-range input[type=range]::-moz-range-thumb{pointer-events:auto;background:var(--accent-cyan);cursor:pointer;border:2px solid #fffdf9;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #d67c5480}.palette-edit-wrap{position:relative;margin-top:8px}.palette-edit-wrap:after{content:"";position:absolute;pointer-events:none;border-radius:0 0 var(--border-radius-sm)var(--border-radius-sm);background:linear-gradient(to bottom,#fdf8f000,var(--bg-card));opacity:0;height:32px;transition:opacity .2s;bottom:0;left:0;right:4px}.palette-edit-wrap.can-scroll-down:after{opacity:1}.palette-edit-grid{display:flex;overflow-y:auto;flex-direction:column;gap:8px;max-height:220px;padding-right:4px}.palette-chip{display:flex;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:#7a5e3e0a;justify-content:space-between;align-items: center;gap:10px;padding:7px 11px;transition:all .2s}.palette-chip.excluded{opacity:.4;background:#7a5e3e14;border-style:dashed}.palette-chip-left{display:flex;flex:1;align-items: center;gap:10px}.palette-chip-swatch-container{position:relative;overflow:hidden;cursor:pointer;border:2px solid #fffc;border-radius:50%;flex-shrink:0;width:24px;height:24px;transition:transform .1s;box-shadow:0 2px 5px #7a5e3e40}.palette-chip-swatch-container:hover{transform:scale(1.1)}.palette-chip-swatch-container input[type=color]{position:absolute;cursor:pointer;background:0 0;border:none;width:34px;height:34px;margin:0;padding:0;top:-5px;left:-5px}.palette-chip-info{display:flex;flex-direction:column}.palette-chip-name{color:var(--text-primary);font-size:12px;font-weight:700}.palette-chip-math{display:inline-flex;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items: center;gap:4px;margin-top:1px;padding:0;transition:color .15s;font-family:inherit;font-size:10px;font-weight:700}.palette-chip-math:hover:not(:disabled){color:var(--accent-cyan)}.palette-chip-math:disabled{cursor:default}.palette-chip-math-edit{opacity:.6;font-size:9px}.palette-chip-math:disabled .palette-chip-math-edit{display:none}.number-popover{position:fixed;z-index:1000;display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);flex-direction:column;gap:8px;width:232px;max-height:60vh;padding:12px;box-shadow:0 10px 30px #7a5e3e47}.number-popover-head{display:flex;justify-content:space-between;align-items: center;gap:8px}.number-popover-title{display:flex;color:var(--text-primary);align-items: center;gap:7px;font-size:13px;font-weight:800}.number-popover-swatch{border:2px solid #fffc;border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:0 1px 3px #7a5e3e4d}.number-popover-auto{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border:1px solid var(--border-color);cursor:pointer;background:#7a5e3e14;border-radius:999px;padding:3px 9px;transition:all .15s;font-family:inherit;font-size:10px;font-weight:800}.number-popover-auto.active{color:#fff;background:var(--accent-cyan);border-color:var(--accent-cyan)}.number-popover-hint{color:var(--text-muted);font-size:10px;line-height:1.35}.number-popover-grid{display:grid;grid-template-columns:repeat(5,1fr);overflow-y:auto;gap:5px;padding-right:2px}.number-chip{font-family:var(--font-heading);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:#7a5e3e0d;border-radius:7px;padding:6px 0;transition:all .12s;font-size:12px;font-weight:700}.number-chip:hover:not(.disabled):not(.selected){background:#7a5e3e1f;border-color:#d8c3a5}.number-chip.selected{color:#fff;background:var(--accent-cyan);border-color:var(--accent-cyan)}.number-chip.disabled{opacity:.32;cursor:not-allowed}.palette-chip-action{color:var(--text-muted);cursor:pointer;display:inline-flex;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items: center;width:28px;height:28px;transition:all .2s;font-size:16px;font-weight:700}.palette-chip-action svg{display:block}.palette-chip-action:hover{color:#d1584a;background:#d1584a1f}.palette-chip.excluded .palette-chip-action:hover{color:var(--accent-green);background:#8aa06f26}.palette-chip-added{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-cyan);vertical-align:middle;background:#d67c5424;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:800}.btn-add-color{justify-content:center;width:100%;margin-top:10px}.operation-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.op-btn[data-op=number]{grid-column:1/-1}.op-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-family:var(--font-body);cursor:pointer;text-align:center;background:#7a5e3e0a;padding:11px 6px;transition:all .2s;font-size:12px;font-weight:700}.op-btn:hover{color:var(--text-primary);background:#7a5e3e1a}.op-btn.active{background:var(--accent-cyan);color:#fff;border-color:var(--accent-cyan);box-shadow:0 3px 10px #d67c5459}.difficulty-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.diff-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-family:var(--font-body);cursor:pointer;text-align:center;background:#7a5e3e0a;padding:9px 4px;transition:all .2s;font-size:11px;font-weight:700}.diff-btn:hover{color:var(--text-primary);background:#7a5e3e1a}.diff-btn.active{background:var(--accent-cyan);color:#fff;border-color:var(--accent-cyan);box-shadow:0 3px 10px #d67c5459}.tables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.table-checkbox{position:relative;display:block}.table-checkbox input{position:absolute;opacity:0;width:0;height:0}.table-checkbox span{display:block;text-align:center;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;background:#7a5e3e0a;padding:7px;transition:all .2s;font-size:12px;font-weight:700}.table-checkbox input:checked+span{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#d67c5424}.table-checkbox span:hover{background:#7a5e3e1a;border-color:#7a5e3e4d}.btn{display:inline-flex;font-family:var(--font-heading);border-radius:var(--border-radius-sm);cursor:pointer;border:none;justify-content:center;align-items: center;gap:8px;width:100%;padding:13px 20px;transition:all .3s;font-size:14px;font-weight:700}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:hover{box-shadow:none;transform:none}.control-card[inert]{opacity:.5;filter:grayscale(.6);transition:opacity .3s,filter .3s}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--accent-gradient-hover);transform:translateY(-1px);box-shadow:0 8px 20px #d67c5459}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#7a5e3e0f}.btn-secondary:hover{background:#7a5e3e1f;border-color:#7a5e3e4d}.btn-tertiary{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn-tertiary:hover{color:var(--text-primary);background:#7a5e3e0d;border-color:#7a5e3e4d}.btn-text{color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:12px;font-weight:600}.btn-text:hover{color:var(--text-primary);border-color:var(--border-color);background:#7a5e3e0d}.export-actions{display:flex;flex-direction:column;gap:10px}.workspace{display:flex;background-color:var(--bg-app);flex-direction:column;flex:1;height:100%}.workspace-header{border-bottom:1px solid var(--border-color);display:flex;background-color:var(--bg-sidebar);justify-content:space-between;align-items: center;height:70px;padding:0 30px}.tabs{display:flex;align-items: flex-end;gap:6px;height:100%}.tab-btn{color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;display:inline-flex;background:0 0;border:none;border-bottom:3px solid #0000;align-items: center;gap:6px;padding:0 16px 16px;transition:all .2s;font-size:14px;font-weight:700}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.workspace-body{overflow-y:auto;display:flex;background-image:radial-gradient(circle at 50% 30%,#eaa06e1f 0%,#0000 70%);flex-direction:column;flex:1;align-items: center;padding:30px}.tab-content{display:none;flex-direction:column;align-items: center;width:100%;height:100%}.empty-state{display:none;text-align:center;border-radius:var(--border-radius-sm);color:var(--text-secondary);border:2px dashed #7a5e3e47;flex-direction:column;justify-content:center;align-items: center;gap:16px;max-width:440px;margin:auto;padding:32px;transition:border-color .3s,background .3s}.empty-state.drag-over{border-color:var(--accent-cyan);background:#d67c5412}.empty-state-icon{opacity:.9;font-size:64px}.empty-state h2{font-family:var(--font-heading);color:var(--text-primary);font-size:24px;font-weight:700}.empty-state p{font-size:15px;line-height:1.6}.empty-state .btn{margin-top:4px}body:not(.has-image) .workspace-header,body:not(.has-image) .tab-content{display:none!important}body:not(.has-image) #empty-state{display:flex}body.has-image #empty-state{display:none}.edit-hint{color:var(--text-secondary);background:#d67c541a;border:1px solid #d67c544d;border-radius:999px;align-self: center;margin-bottom:16px;padding:9px 18px;font-size:13px;font-weight:600}.tab-content.active{display:flex}.worksheet-layout-preview{display:flex;flex:1;justify-content:center;width:100%}.printable-page{color:#4b3f33;border-radius:var(--border-radius-md);display:flex;position:relative;border:1px solid var(--border-color);background:#fffdf9;flex-direction:column;width:720px;min-height:930px;padding:40px;box-shadow:0 20px 45px #7a5e3e38}.worksheet-header{margin-bottom:24px;padding-bottom:16px}.worksheet-title-row{display:flex;justify-content:center;align-items: center;gap:8px}.worksheet-title-row[hidden]{display:none}.worksheet-title{font-family:var(--font-heading);color:#4b3f33;text-transform:uppercase;letter-spacing:-.5px;text-align:center;font-size:27px;font-weight:800}.worksheet-title[contenteditable]{outline:2px dashed var(--border-color-focus);outline-offset:4px;cursor:text;border-radius:6px}.title-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px;transition:opacity .15s,background .15s;font-size:16px;line-height:1}.worksheet-title-row:hover .title-edit-btn{opacity:.6}.title-edit-btn:focus-visible{opacity:.6}.title-edit-btn:hover{opacity:1;background:#7a5e3e1a}.title-edit-btn:focus-visible{opacity:1;background:#7a5e3e1a}.student-meta{display:flex;color:#8a7663;justify-content:space-between;margin-top:14px;font-size:13px;font-weight:600}.student-meta-placeholder{text-align:center;color:#b3a390;letter-spacing:1px;text-transform:uppercase;margin-top:6px;font-size:13px;font-weight:700}.grid-outer-container{display:flex;border-radius:var(--border-radius-sm);background:#faf3e8;border:1px dashed #d8c3a5;flex:1;justify-content:center;align-items: center;min-height:500px;margin-bottom:24px;padding:10px}.math-grid-container{display:grid;background-color:#fff;border-top:1px solid #d8c3a5;border-left:1px solid #d8c3a5;box-shadow:0 4px 10px -2px #7a5e3e1f}.grid-cell{display:flex;color:#6b5c4a;user-select:none;position:relative;cursor:default;white-space:nowrap;overflow:hidden;border-bottom:1px solid #d8c3a5;border-right:1px solid #d8c3a5;justify-content:center;align-items: center;transition:background-color .1s,color .1s;font-size:9px;font-weight:700;line-height:1}.grid-cell.editable{cursor:pointer}.grid-cell:after{content:"";position:absolute;pointer-events:none;border:1px solid #0000;transition:border-color .1s;inset:0}.grid-cell.editable:hover:after{border-color:var(--accent-cyan);background-color:#d67c5426}.grid-cell.blank{background-color:#0000;border-color:#efe4d3}.legend-container{border-top:2px solid #d8c3a5;padding-top:16px}.legend-container h3{color:#4b3f33;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:700}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-item{display:flex;color:#4b3f33;cursor:pointer;user-select:none;background:#faf3e8;border:1px solid #ecdfcc;border-radius:10px;align-items: center;gap:10px;padding:7px 13px;transition:all .2s;font-size:12px;font-weight:700}.legend-item:hover{background:#f5ebda;border-color:#d8c3a5;transform:translateY(-1px)}.legend-item.active{border-color:var(--accent-cyan);background:#fbeee5;box-shadow:0 2px 6px #d67c542e}.color-swatch{border:1px solid #4b3f3326;border-radius:6px;flex-shrink:0;width:22px;height:22px}.legend-text{display:flex;align-items: center;gap:6px}.legend-equals{color:#b3a390}.legend-color-name{color:#8a7663;font-size:11px;font-weight:600}.printable-page.mode-normal{padding:28px}.printable-page.mode-normal .worksheet-title{font-size:22px}.printable-page.mode-normal .worksheet-header{margin-bottom:16px;padding-bottom:10px}.printable-page.mode-normal .student-meta,.printable-page.mode-normal .student-meta-placeholder{margin-top:10px;font-size:12px}.printable-page.mode-normal .grid-outer-container{margin-bottom:16px;padding:6px}.printable-page.mode-normal .legend-container{padding-top:12px}.printable-page.mode-normal .legend-container h3{margin-bottom:10px;font-size:13px}.printable-page.mode-normal .legend-items{gap:10px}.printable-page.mode-normal .legend-item{gap:8px;padding:6px 11px;font-size:11px}.printable-page.mode-normal .color-swatch{width:18px;height:18px}.printable-page.mode-drawing{padding:16px}.printable-page.mode-drawing .worksheet-header,.printable-page.mode-drawing .legend-container{display:none}.printable-page.mode-drawing .grid-outer-container{margin:0}.grid-cell.colored{text-shadow:0 0 2px #fffc;color:#0000004d!important}.original-image-container{display:flex;border-radius:var(--border-radius-md);background:#7a5e3e0f;justify-content:center;align-items: center;width:100%;height:100%;padding:20px}.original-image-container img{object-fit:contain;border-radius:var(--border-radius-sm);max-width:100%;max-height:600px;box-shadow:0 12px 30px #7a5e3e38}.loading-overlay{position:fixed;backdrop-filter:blur(8px);display:flex;z-index:1000;opacity:0;pointer-events:none;background:#f4ebddd9;justify-content:center;align-items: center;transition:opacity .3s;inset:0}.loading-overlay.active{opacity:1;pointer-events:all}.loader{text-align:center;color:var(--text-primary)}.spinner{border:4px solid #d67c5433;border-top:4px solid var(--accent-cyan);animation:spin 1s linear infinite;border-radius:50%;width:50px;height:50px;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@media print{body,html{color:#000!important;overflow:visible!important;background:#fff!important;height:auto!important}.sidebar,.workspace-header,.loading-overlay,.edit-hint,.empty-state,.title-edit-btn,canvas{display:none!important}.app-container{display:block!important;width:auto!important;height:auto!important}.workspace,.workspace-body{overflow:visible!important;display:block!important;background:0 0!important;padding:0!important}.tab-content{display:none!important;overflow:visible!important}body.print-worksheet-mode #tab-worksheet,body.print-key-mode #tab-answer-key{display:block!important;opacity:1!important;position:relative!important;top:0!important;left:0!important}body.print-worksheet-mode #student-page,body.print-key-mode #key-page{display:flex!important;box-shadow:none!important;page-break-after:avoid!important;page-break-inside:avoid!important;background:#fff!important;border:none!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.grid-outer-container{background:0 0!important;border:none!important;padding:0!important}.math-grid-container{box-shadow:none!important;background-color:#fff!important;border-top:1px solid #000!important;border-left:1px solid #000!important;max-width:100%!important}.grid-cell{color:#000!important;border-bottom:1px solid #000!important;border-right:1px solid #000!important}body.print-worksheet-mode .grid-cell{background-color:#0000!important}.legend-container{border-top:2px solid #000!important}.legend-item{color:#000!important;background:#fff!important;border:1px solid #000!important}.color-swatch{border:1px solid #000!important}.student-meta-placeholder,.legend-color-name,.legend-equals{color:#000!important}}
