:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-page:#fff;--color-surface:#fff;--color-surface-strong:#faf7ff;--color-text:#1f2937;--color-muted:#6b7280;--color-primary:#7c3aed;--color-primary-dark:#5b21b6;--color-secondary:#a855f7;--color-secondary-dark:#7c3aed;--color-accent:#faa634;--color-accent-dark:#b65f00;--color-selected:#faa634;--color-border:#ddd6fe;--color-grid-border:#d7dce8;--color-header:#f5f0ff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-2:.5rem;--radius-3:.75rem;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-soft:0 16px 34px #7c3aed24}*{box-sizing:border-box}html{background:var(--color-page);min-height:100%}body{min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);background:var(--color-page);margin:0}body:has(.splash-backdrop){overflow:hidden}button,input,textarea,select{font:inherit}#root{min-height:100vh}.app-shell{gap:var(--space-2);min-height:100vh;padding:0 var(--space-2) var(--space-3);flex-direction:column;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 calc(var(--space-2) * -1);padding:var(--space-2) var(--space-4);color:#fff;background:linear-gradient(90deg,#7c3aed,#a855f7);display:flex;box-shadow:0 2px 10px #00000024}.brand-lockup{align-items:center;gap:var(--space-3);display:flex}.brand-icon{background:#fff;border:2px solid #ffffffad;border-radius:14px;flex:none;width:clamp(44px,5vw,58px);height:clamp(44px,5vw,58px);box-shadow:0 8px 22px #1118272e}.eyebrow{margin:0 0 var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-2);color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#ffffff2e;font-size:.8rem;font-weight:800;display:inline-flex}.eyebrow a,.splash-copy a,.print-note a{color:inherit;text-underline-offset:3px;font-weight:900;text-decoration:underline;text-decoration-thickness:2px}h1{margin:0 0 var(--space-1);letter-spacing:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.intro{color:#ffffffe0;max-width:44ch;margin:0;font-size:1rem;line-height:1.35}:focus-visible{outline:4px solid var(--color-accent);outline-offset:4px}.header-actions,.top-toolbar,.splash-actions,.dialog-grid,.help-list{gap:var(--space-2);display:flex}.header-actions,.top-toolbar,.splash-actions{flex-wrap:wrap;align-items:center}.top-toolbar{z-index:30;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);box-shadow:var(--shadow-soft);position:relative}.big-button,.icon-button,.menu-button,.menu-item,.dialog-close{border:1px solid var(--color-border);border-radius:var(--radius-2);cursor:pointer;min-height:42px;font-weight:800}.big-button,.icon-button,.menu-button{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.big-button{min-width:168px;padding:0 var(--space-6);color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.big-button.secondary{color:var(--color-primary);background:var(--color-surface)}.icon-button,.menu-button{padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface)}.app-header .icon-button{color:var(--color-primary-dark);background:#fff;border-color:#ffffff5c}.button-icon{place-items:center;display:inline-grid}.dropdown-menu{position:relative}.menu-popover{top:calc(100% + var(--space-2));z-index:40;gap:var(--space-2);min-width:220px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);box-shadow:var(--shadow-soft);display:grid;position:absolute;left:0}.menu-row{position:relative}.menu-item{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;padding:0 var(--space-3);color:var(--color-text);text-align:left;background:#fff;border-color:#0000;display:inline-flex}.menu-item>span:not(.menu-item-icon):last-of-type{flex:1}.menu-item-icon{width:20px;color:var(--color-primary-dark);place-items:center;display:inline-grid}.submenu-popover{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);display:grid}.submenu-item{background:var(--color-surface)}.menu-item:hover,.icon-button:hover,.menu-button:hover,.big-button.secondary:hover{background:var(--color-header)}@media (width>=780px){.submenu-popover{top:0;left:calc(100% + var(--space-2));z-index:41;background:var(--color-surface);min-width:220px;box-shadow:var(--shadow-soft);margin-top:0;position:absolute}}.big-button:hover{background:var(--color-primary-dark)}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{bottom:calc(100% + var(--space-2));z-index:30;width:max-content;max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);color:#fff;background:var(--color-text);opacity:0;pointer-events:none;font-size:.875rem;font-weight:700;line-height:1.3;transition:opacity .16s,transform .16s;position:absolute;left:50%;transform:translate(-50%)translateY(4px)}.tooltip-wrap:hover .tooltip,.tooltip-wrap:focus-within .tooltip{opacity:1;transform:translate(-50%)}.splash-backdrop,.dialog-backdrop{z-index:100;padding:var(--space-6);background:#17203380;place-items:center;display:grid;position:fixed;inset:0}.splash-panel,.dialog{border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);width:min(980px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-soft);overflow:auto}.splash-panel{align-items:center;gap:var(--space-6);padding:clamp(var(--space-6), 5vw, 3rem);grid-template-columns:minmax(220px,320px) minmax(0,1fr);display:grid}.splash-image{object-fit:contain;border-radius:var(--radius-2);width:100%;max-height:320px}.splash-content{min-width:0}.splash-panel h2{margin:0 0 var(--space-4);letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(2.75rem,6vw,4rem);line-height:1}.splash-copy{max-width:48ch;margin:0 0 var(--space-4);color:var(--color-muted);font-size:1.25rem;line-height:1.55}.tour-list{gap:var(--space-2);margin:0 0 var(--space-4);grid-template-columns:1fr;display:grid}.tour-list span{min-height:54px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);align-items:center;font-weight:900;line-height:1.35;display:flex}.dialog{max-height:min(680px,100vh - 48px);overflow:auto}.dialog-wide{width:min(1320px,100%);max-height:calc(100vh - 32px)}.dialog-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.dialog-header h2{letter-spacing:0;margin:0;font-size:1.75rem}.dialog-close{width:48px;color:var(--color-text);background:var(--color-surface);padding:0}.dialog-body{padding:var(--space-6)}.dialog-body .presentation-workspace{box-shadow:none;background:0 0;border:0;padding:0}.dialog-grid{flex-wrap:wrap;align-items:stretch}.dialog-grid article{min-height:150px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);flex:220px}.dialog-grid h3{margin:var(--space-3) 0 var(--space-2);letter-spacing:0;font-size:1.25rem}.dialog-grid p,.help-list p{color:var(--color-muted);margin:0;line-height:1.5}.help-list{gap:var(--space-4);display:grid}.help-list section{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);display:grid}.help-list h3{letter-spacing:0;margin:0;font-size:1.25rem}.toast{right:var(--space-6);bottom:var(--space-6);z-index:50;max-width:min(360px,100vw - 32px);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-primary-dark);box-shadow:var(--shadow-soft);background:#f5f0ff;font-weight:800;position:fixed}.presentation-hint{display:none}.presentation-workspace{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);box-shadow:var(--shadow-soft);display:grid}.presentation-actions,.slide-builder{gap:var(--space-3);flex-wrap:wrap;display:flex}.slide-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.slide-card{gap:var(--space-2);width:100%;min-height:240px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-text);background:var(--color-surface-strong);text-align:left;display:grid}.slide-card.active{border-color:var(--color-primary-dark);box-shadow:inset 0 0 0 3px var(--color-selected)}.slide-select{gap:var(--space-1);width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:grid}.slide-select span{color:var(--color-primary-dark);font-weight:900;display:block}.slide-edit-field{gap:var(--space-1);color:var(--color-muted);font-size:.9rem;font-weight:900;display:grid}.slide-edit-field input,.slide-edit-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-2);width:100%;padding:var(--space-2);color:var(--color-text);background:#fff;font-weight:800}.slide-edit-field textarea{resize:vertical;min-height:86px;line-height:1.35}.slide-card-actions{align-self:end;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.presentation-viewer{z-index:60;align-items:center;gap:var(--space-4);padding:var(--space-8);color:#fff;background:#1f2937;grid-template-columns:72px 1fr 72px;display:grid;position:fixed;inset:0}.viewer-slide{align-content:center;justify-items:center;gap:var(--space-6);min-height:min(720px,100vh - 96px);padding:var(--space-8);border-radius:var(--radius-2);text-align:center;background:#7c3aed;border:4px solid #fff;display:grid}.viewer-slide.chart{background:#a855f7}.viewer-slide.picture{background:#6d28d9}.viewer-slide.spotlight{background:#4c1d95;border-width:8px;box-shadow:0 0 0 999px #0000002e}.viewer-slide p,.viewer-slide h2,.viewer-slide strong{margin:0}.viewer-slide p{font-weight:900}.viewer-slide h2{letter-spacing:0;font-size:clamp(2.5rem,8vw,6rem);line-height:1}.viewer-slide strong{max-width:52ch;font-size:clamp(1.25rem,3vw,2rem);line-height:1.35}.viewer-visual{align-items:end;gap:var(--space-4);grid-template-columns:repeat(3,1fr);width:min(560px,80%);min-height:180px;display:grid}.viewer-visual span{border-radius:var(--radius-2);background:#faa634;border:3px solid #fff;display:block}.viewer-visual span:first-child{height:90px}.viewer-visual span:nth-child(2){height:150px}.viewer-visual span:nth-child(3){height:120px}.viewer-snapshot-image{border-radius:var(--radius-2);object-fit:contain;background:#fff;border:4px solid #fff;width:min(760px,92%);max-height:340px}.viewer-sheet-snapshot{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));width:min(780px,94%);display:grid}.viewer-sheet-snapshot span{min-height:48px;padding:var(--space-2);border-radius:var(--radius-2);text-overflow:ellipsis;white-space:nowrap;background:#ffffff29;border:2px solid #fff;place-items:center;font-size:clamp(1rem,2vw,1.45rem);font-weight:800;display:grid;overflow:hidden}.viewer-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));width:min(680px,92%);margin:0;display:grid}.viewer-stats div{padding:var(--space-3);border-radius:var(--radius-2);background:#ffffff29;border:2px solid #fff}.viewer-stats dt,.viewer-stats dd{margin:0}.viewer-stats dt{font-weight:900}.viewer-stats dd{font-size:clamp(1.2rem,3vw,2rem);font-weight:900}.viewer-nav,.exit-presentation{border-radius:var(--radius-2);color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;min-height:56px;font-weight:900}.viewer-nav{place-items:center;width:64px;display:inline-grid}.exit-presentation{right:var(--space-8);bottom:var(--space-8);padding:0 var(--space-6);position:absolute}.sheet-workspace{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.sheet-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.big-action,.header-toggle,.format-control{align-items:center;gap:var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-2);color:#fff;background:var(--color-primary);min-height:42px;font-weight:800;display:inline-flex}.big-action{padding:0 var(--space-4);cursor:pointer}.big-action.secondary{color:var(--color-primary);background:var(--color-surface)}.big-action.secondary:hover{background:var(--color-header)}.big-action.danger{color:#7f1d1d;border-color:#dc2626}.big-action.danger:hover{background:#fee2e2}.big-action:disabled{color:#405065;cursor:not-allowed;background:#d7e0eb;border-color:#9aa8b9}.header-toggle,.format-control{padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface)}.header-toggle input{width:1.2rem;height:1.2rem}.format-control{font-weight:800}.format-button-group,.color-control,.font-size-control{align-items:center;gap:var(--space-1);min-height:42px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);font-weight:800;display:inline-flex}.format-button{border-radius:var(--radius-2);width:34px;min-height:32px;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;font-weight:900;display:inline-grid}.format-button svg{pointer-events:none}.format-button:hover,.format-button[aria-pressed=true]{border-color:var(--color-border);color:var(--color-primary-dark);background:var(--color-header)}.format-button.italic{font-style:italic}.format-button.underline{text-decoration:underline}.format-button.strike{text-decoration:line-through}.color-control,.font-size-control{color:var(--color-muted);font-size:.9rem}.color-control input{cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0}.font-size-control input{border:1px solid var(--color-border);border-radius:var(--radius-2);width:56px;min-height:30px;color:var(--color-text);background:#fff;font-weight:800}.format-control select{border:1px solid var(--color-border);border-radius:var(--radius-2);min-height:30px;color:var(--color-text);background:#fff;font-weight:800}.compact-select select{max-width:160px}.zoom-reset-button{border-radius:var(--radius-2);min-width:58px;min-height:32px;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:900}.zoom-reset-button:hover{border-color:var(--color-border);color:var(--color-primary-dark);background:var(--color-header)}.selection-readout{min-height:42px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);align-items:center;margin:0;font-weight:800;display:inline-flex}.file-message{max-width:min(480px,100%);min-height:42px;color:var(--color-muted);align-items:center;margin:0;font-weight:800;display:inline-flex}.chart-picker{align-items:stretch;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);flex-wrap:wrap;display:flex}.chart-title-field{gap:var(--space-1);min-height:44px;color:var(--color-muted);font-size:.9rem;font-weight:800;display:grid}.chart-title-field input{border:1px solid var(--color-border);border-radius:var(--radius-2);min-width:200px;min-height:34px;padding:0 var(--space-3);color:var(--color-text);background:#fff;font-weight:800}.chart-type-button{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-text);background:var(--color-surface);cursor:pointer;font-weight:800;display:inline-flex}.chart-type-button:hover{background:var(--color-header)}.chart-preview{border:1px solid var(--color-border);border-radius:var(--radius-2);background:linear-gradient(90deg,#7c3aed 0 25%,#0000 25% 34%,#a855f7 34% 58%,#0000 58% 67%,#faa634 67% 100%);width:36px;height:28px;display:inline-block}.chart-preview.line{background:linear-gradient(135deg,#0000 44%,#7c3aed 45% 55%,#0000 56%),#fff}.chart-preview.pie{background:conic-gradient(#7c3aed 0 38%, #a855f7 38% 70%, #faa634 70%);border-radius:50%}.chart-preview.scatter{background:radial-gradient(circle at 20% 70%,#7c3aed 0 4px,#0000 5px),radial-gradient(circle at 50% 35%,#a855f7 0 4px,#0000 5px),radial-gradient(circle at 75% 55%,#faa634 0 4px,#0000 5px),#fff}.chart-panel{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);box-shadow:var(--shadow-soft);grid-template-columns:minmax(280px,1fr) minmax(220px,320px);display:grid}.chart-floating-panel{left:auto;right:var(--space-5);top:var(--space-3);z-index:80;width:min(760px, calc(100vw - var(--space-6)));max-height:min(620px, calc(100vh - var(--space-6)));position:fixed;overflow:auto}.chart-floating-panel[data-positioned=true]{bottom:auto;right:auto}.chart-drag-bar{align-items:center;gap:var(--space-2);grid-column:1/-1;display:flex}.chart-drag-handle,.chart-copy-button{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-2);min-height:34px;padding:0 var(--space-3);color:var(--color-muted);background:var(--color-surface-strong);cursor:grab;font-weight:900;display:inline-flex}.chart-drag-handle{cursor:grab;touch-action:none}.chart-copy-button{cursor:pointer}.chart-copy-button:hover,.chart-drag-handle:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:#fff}.chart-drag-handle:active{cursor:grabbing}.chart-drag-handle:focus-visible,.chart-copy-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chart-grip{opacity:.75;background:radial-gradient(circle,currentColor 1.5px,#0000 2px) 0 0/8px 7px,radial-gradient(circle,currentColor 1.5px,#0000 2px) 4px 3.5px/8px 7px;width:24px;height:14px;display:inline-block}.chart-panel-header{justify-content:space-between;align-items:end;gap:var(--space-3);grid-column:1/-1;display:flex}.chart-canvas-wrap{cursor:crosshair;height:360px;min-height:320px}.chart-resize-handle{z-index:2;touch-action:none;background:0 0;border:0;padding:0;position:absolute}.chart-resize-handle:after{border-radius:var(--radius-2);background:var(--color-primary);content:"";opacity:.75;position:absolute}.chart-resize-handle:hover:after,.chart-resize-handle:focus-visible:after{background:var(--color-accent);opacity:1}.chart-resize-handle:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.chart-resize-handle-right{cursor:ew-resize;width:14px;height:calc(100% - 80px);top:56px;right:-7px}.chart-resize-handle-right:after{width:5px;height:64px;top:50%;right:3px;transform:translateY(-50%)}.chart-resize-handle-bottom{cursor:ns-resize;width:calc(100% - 76px);height:14px;bottom:-7px;left:32px}.chart-resize-handle-bottom:after{width:96px;height:5px;bottom:3px;left:50%;transform:translate(-50%)}.chart-resize-handle-corner{cursor:nwse-resize;width:28px;height:28px;bottom:-8px;right:-8px}.chart-resize-handle-corner:after{width:16px;height:16px;bottom:4px;right:4px}.chart-summary{border-collapse:collapse;background:var(--color-surface-strong);width:100%}.chart-summary caption{padding:var(--space-2);color:var(--color-text);text-align:left;font-weight:900}.chart-summary th,.chart-summary td{padding:var(--space-2);border:1px solid var(--color-border);text-align:left}.picture-graph-workspace{gap:var(--space-4);display:grid}.module-header{justify-content:space-between;align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.module-header h2{letter-spacing:0;margin:0;font-size:2rem}.scale-control{gap:var(--space-1);min-height:56px;color:var(--color-muted);font-weight:800;display:grid}.scale-control input,.picture-data-row input,.picture-data-row select{border:1px solid var(--color-border);border-radius:var(--radius-2);width:96px;min-height:42px;padding:0 var(--space-3);color:var(--color-text);background:#fff;font-weight:800}.picture-tools{align-items:center;gap:var(--space-3);display:flex}.picture-token{min-height:56px;padding:0 var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius-2);color:var(--color-primary);cursor:grab;touch-action:none;background:#fff;font-weight:900}.picture-graph{gap:var(--space-4);min-height:320px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.picture-column{align-content:end;justify-items:center;gap:var(--space-2);min-height:260px;padding:var(--space-3);border:2px dashed var(--color-border);border-radius:var(--radius-2);background:#fff;display:grid}.picture-column.over{border-color:var(--color-primary);background:#f5f0ff}.picture-stack{place-content:end center;gap:var(--space-2);flex-wrap:wrap-reverse;min-height:160px;display:flex}.picture-symbol{border:1px solid var(--color-primary);background:var(--color-accent);object-fit:contain;border-radius:50%;width:42px;height:42px;display:block}.picture-data-table{gap:var(--space-2);display:grid}.picture-data-row{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.picture-data-row label{gap:var(--space-1);color:var(--color-muted);font-weight:800;display:grid}.picture-stepper{border:1px solid var(--color-primary);border-radius:var(--radius-2);width:48px;min-height:48px;color:var(--color-primary);cursor:pointer;background:#fff;font-size:1.4rem;font-weight:900}.activities-library,.templates-library{gap:var(--space-4);display:grid}.activities-grid,.templates-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.activity-card,.template-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-strong);display:grid}.activity-card h3,.template-card h3,.project-ideas h3{letter-spacing:0;margin:0;font-size:1.35rem}.activity-card p,.template-card p{color:var(--color-muted);margin:0;line-height:1.5}.activity-grade,.activity-teks{font-weight:900}.activity-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.teacher-notes{padding:var(--space-3);border-left:5px solid var(--color-primary);background:#f5f0ff}.project-ideas{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-2)}.project-ideas ul{margin:var(--space-3) 0 0;padding-left:var(--space-6)}.project-ideas li+li{margin-top:var(--space-2)}.error-shell{min-height:100vh;padding:var(--space-6);color:var(--color-text);background:var(--color-page);place-items:center;display:grid}.error-shell>div{gap:var(--space-4);width:min(560px,100%);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);box-shadow:var(--shadow-soft);display:grid}.error-shell h1,.error-shell p{margin:0}.error-shell p{color:var(--color-muted);line-height:1.5}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sheet-scroller{border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);height:calc(100vh - 230px);min-height:460px;box-shadow:var(--shadow-soft);touch-action:pan-x pan-y;position:relative;overflow:auto}.sheet-canvas{position:relative}.sheet-row{position:absolute;left:0}.sheet-grid-layer{z-index:1;position:absolute;inset:0}.corner-header,.column-header,.row-header,.sheet-cell{position:absolute}.corner-header{z-index:4;border-right:2px solid var(--color-grid-border);border-bottom:2px solid var(--color-grid-border);background:var(--color-header);color:var(--color-primary-dark);place-items:center;font-size:.95rem;font-weight:900;display:grid;top:0;left:0}.corner-header span{max-width:100%;padding:0 var(--space-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-header,.row-header{z-index:3;border-color:var(--color-grid-border);background:var(--color-header);color:var(--color-primary-dark);-webkit-user-select:none;user-select:none;place-items:center;font-size:1.125rem;font-weight:900;display:grid}.column-header{border-right:1px solid var(--color-grid-border);border-bottom:2px solid var(--color-grid-border);top:0}.row-header{border-right:2px solid var(--color-grid-border);border-bottom:1px solid var(--color-grid-border);left:0}.resize-handle{cursor:ew-resize;background:0 0;border:0;position:absolute}.resize-handle-col{width:16px;height:100%;top:0;right:-8px}.resize-handle-row{cursor:ns-resize;width:100%;height:16px;bottom:-8px;right:0}.sheet-cell{border-right:1px solid var(--color-grid-border);border-bottom:1px solid var(--color-grid-border);-webkit-user-select:none;user-select:none;background:#fff;align-items:center;font-size:1.25rem;line-height:1.2;display:flex}.sheet-cell.selected{z-index:3;border:3px solid var(--color-selected);box-shadow:inset 0 0 0 2px var(--color-primary)}.sheet-cell.merged-cell{z-index:2}.sheet-cell.formatted-border{box-shadow:inset 0 0 0 2px var(--color-text)}.sheet-cell.formatted-border.selected{box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 5px var(--color-text)}.frozen-pane-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.frozen-pane-layer .sheet-cell{pointer-events:auto}.frozen-cell{box-shadow:var(--shadow-soft);background:#fff}.frozen-row-cell{border-bottom:2px solid var(--color-primary)}.frozen-col-cell{border-right:2px solid var(--color-primary)}.frozen-corner-cell{z-index:6;border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary)}.freeze-divider{z-index:8;background:var(--color-primary);cursor:grab;opacity:.72;touch-action:none;border:0;padding:0;position:absolute}.freeze-divider:hover,.freeze-divider:focus-visible{background:var(--color-accent);opacity:1;outline:2px solid var(--color-primary-dark);outline-offset:2px}.freeze-divider-col{cursor:col-resize;width:8px;transform:translate(-4px)}.freeze-divider-row{cursor:row-resize;height:8px;transform:translateY(-4px)}.cell-value{width:100%;padding:0 var(--space-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cell-value.number{text-align:right}.cell-value.formula{color:var(--color-primary-dark);font-weight:800}.cell-value.error{color:#8a1f11;font-size:1rem;font-weight:800}.cell-editor{width:100%;height:100%;min-height:48px;padding:0 var(--space-3);color:var(--color-text);background:#fffbe8;border:0;font-size:1.25rem}@media (width<=760px){.app-shell{padding:0 var(--space-3) var(--space-3)}.app-header{margin:0 calc(var(--space-3) * -1);padding:var(--space-3);align-items:start;gap:var(--space-2);flex-direction:column}.header-actions{width:100%}.icon-button{flex:96px}.top-toolbar{padding:var(--space-2);flex-wrap:nowrap;overflow-x:auto}.menu-button{white-space:nowrap}h1{margin-bottom:var(--space-2)}.intro{font-size:1rem}.sheet-scroller{height:calc(100vh - 250px);min-height:520px}.chart-panel,.picture-graph,.tour-list,.slide-list{grid-template-columns:1fr}.presentation-viewer{padding:var(--space-4);grid-template-columns:1fr}.viewer-nav{width:100%}.exit-presentation{width:100%;position:static}.splash-backdrop,.dialog-backdrop{padding:var(--space-3)}.splash-panel{padding:var(--space-6);grid-template-columns:1fr}.splash-image{max-height:150px}.splash-actions{flex-direction:column;align-items:stretch}.big-button{width:100%}.toast{right:var(--space-3);bottom:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.top-toolbar,.header-actions,.splash-backdrop,.dialog-backdrop,.toast,.sheet-toolbar,.picture-tools,.picture-data-table,.slide-builder,.slide-card-actions,.presentation-viewer{display:none!important}.app-shell{gap:1rem;padding:0}.sheet-scroller,.chart-panel,.picture-graph-workspace,.activities-library,.templates-library,.presentation-workspace{box-shadow:none;break-inside:avoid}.sheet-scroller{height:auto;min-height:420px;overflow:hidden}.print-note{align-items:center;gap:.5rem;font-weight:900;display:flex}}
