@import "https://fonts.googleapis.com/css2?family=Aleo:wght@400;500;600;700;800;900&family=Alegreya+Sans:wght@400;500;700;800;900&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f1e8;--paper-grid:linear-gradient(90deg, #12312b0a 1px, transparent 1px), linear-gradient(#12312b0a 1px, transparent 1px), var(--paper);--ink:#17231f;--muted:#6c746b;--line:#d8d0bd;--deep:#12312b;--deep-2:#1f4a3d;--accent:#d17536;--accent-2:#f0c35c;--ok:#207351;--bad:#b44131;--panel:#fffdf6;--shadow:0 22px 50px #1c1f1a1f;--radius-sm:6px;--radius-md:8px;--space-xs:.35rem;--space-sm:.65rem;--space-md:1rem;--space-lg:1.5rem;--font-family-display:"Aleo", Georgia, serif;--font-family-body:"Alegreya Sans", Arial, sans-serif;--font-family-document:"Times New Roman", Times, serif;--type-display-1-size:4rem;--type-display-2-size:3.25rem;--type-display-3-size:2.75rem;--type-display-4-size:2.25rem;--type-display-5-size:1.875rem;--type-display-6-size:1.5rem;--type-heading-1-size:2.25rem;--type-heading-2-size:1.875rem;--type-heading-3-size:1.5rem;--type-heading-4-size:1.25rem;--type-heading-5-size:1.125rem;--type-heading-6-size:1rem;--type-body-size:1rem;--type-lead-size:1.125rem;--type-caption-size:.875rem;--type-eyebrow-size:.78rem;--type-display-line-height:.95;--type-heading-line-height:1.15;--type-body-line-height:1.55;--type-tight-line-height:1.25;--type-heading-weight:700;--type-body-weight:400;--type-label-weight:700;--touch-target:44px;--motion-page-enter:.32s;--motion-page-exit:.22s;--ease-page-enter:cubic-bezier(.22, 1, .36, 1);--ease-page-exit:cubic-bezier(.4, 0, 1, 1);font-family:var(--font-family-body);font-variant-numeric:lining-nums tabular-nums;background:var(--paper);color:var(--ink)}*{box-sizing:border-box;font-feature-settings:"lnum" 1, "tnum" 1;font-variant-numeric:lining-nums tabular-nums}:before,:after{font-feature-settings:"lnum" 1, "tnum" 1;font-variant-numeric:lining-nums tabular-nums}body{background:var(--paper-grid);background-size:32px 32px;min-width:320px;min-height:100dvh;margin:0}button,input,select{font:inherit}button{min-height:var(--touch-target);border:1px solid var(--deep);border-radius:var(--radius-sm);color:var(--deep);cursor:pointer;background:#fffaf0;padding:.55rem .85rem;transition:transform .12s,background .12s}button:disabled{cursor:wait;opacity:.76}button:hover{background:#efe7d6;transform:translateY(-1px)}button:disabled:hover{transform:none}button.primary{background:var(--deep);color:#fffdf6}button.primary:hover{background:var(--deep-2)}button.primary:disabled,button.primary:disabled:hover{background:var(--deep)}button.danger{border-color:var(--bad);color:var(--bad);background:#fff4ef}button.danger:hover{background:#ffe4da}.button-content{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:999px;flex:none;animation:.7s linear infinite spinner-spin;display:inline-block}.spinner-sm{width:1rem;height:1rem}.spinner-md{width:1.25rem;height:1.25rem}@keyframes spinner-spin{to{transform:rotate(360deg)}}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fffefa;padding:.45rem .55rem}input,select{min-height:var(--touch-target)}.select-menu{width:100%;position:relative}.select-menu--fit-content .select-menu-popover{width:max-content;min-width:100%;max-width:calc(100vw - 2rem);right:auto}.select-menu-native{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.select-menu-trigger{width:100%;min-height:var(--touch-target);border-color:var(--line);color:var(--ink);text-align:left;background:#fffefa;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.select-menu-trigger:hover{background:#fffaf0}.select-menu-caret{border-bottom:2px solid;border-right:2px solid;flex:none;width:.45rem;height:.45rem;transform:translateY(-.15rem)rotate(45deg)}.select-menu-popover{z-index:30;background:var(--paper);box-shadow:none;opacity:0;pointer-events:none;transform-origin:top;visibility:hidden;border:1px solid #0000;border-radius:8px;padding:.7rem;transition:border-color .18s,box-shadow .18s,opacity .16s,transform .18s,visibility .18s;position:absolute;top:calc(100% + .45rem);left:0;right:0;transform:translateY(-.35rem)scale(.98)}.select-menu-popover.is-open{border-color:var(--line);opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1);box-shadow:0 14px 30px #14231f24}.select-menu-options{gap:.5rem;display:grid}.select-menu--fit-content .select-menu-options{overscroll-behavior:contain;max-height:min(60dvh,32rem);overflow-y:auto}.select-menu-options button{border-color:var(--deep);background:#fffaf0;justify-content:center;width:100%}.select-menu-options button[aria-selected=true]{background:var(--deep);color:#fffdf6}textarea{resize:vertical;min-height:120px;line-height:1.35}input.invalid{border-color:var(--bad);background:#fff3ef}.hidden{display:none}.app{min-height:100dvh}.crash-panel{border:1px solid var(--line);background:var(--panel);width:min(720px,100% - 2rem);box-shadow:var(--shadow);border-radius:8px;margin:12vh auto;padding:1.5rem}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf6eb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}h1,h2,h3,p{margin-top:0}.type{letter-spacing:0;margin-top:0}.type-d1,.type-d2,.type-d3,.type-d4,.type-d5,.type-d6{font-family:var(--font-family-display);font-weight:var(--type-heading-weight);line-height:var(--type-display-line-height);margin-bottom:0}.type-d1{font-size:var(--type-display-1-size)}.type-d2{font-size:var(--type-display-2-size)}.type-d3{font-size:var(--type-display-3-size)}.type-d4{font-size:var(--type-display-4-size)}.type-d5{font-size:var(--type-display-5-size)}.type-d6{font-size:var(--type-display-6-size)}.type-h1,.type-h2,.type-h3,.type-h4,.type-h5,.type-h6{font-family:var(--font-family-display);font-weight:var(--type-heading-weight);line-height:var(--type-heading-line-height)}.type-flow{line-height:var(--type-body-line-height)}.type-h1{font-size:var(--type-heading-1-size)}.type-h2{font-size:var(--type-heading-2-size)}.type-h3{font-size:var(--type-heading-3-size)}.type-h4{font-size:var(--type-heading-4-size)}.type-h5{font-size:var(--type-heading-5-size)}.type-h6{font-size:var(--type-heading-6-size)}.type-body{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-line-height)}.type-lead{color:var(--muted);font-size:var(--type-lead-size);line-height:var(--type-body-line-height)}.type-caption{font-size:var(--type-caption-size);line-height:var(--type-tight-line-height);display:block}.type-eyebrow{color:var(--accent);font-size:var(--type-eyebrow-size);font-weight:var(--type-label-weight);line-height:var(--type-tight-line-height);text-transform:uppercase;margin-bottom:.2rem}.type-strong{font-weight:var(--type-heading-weight);line-height:var(--type-tight-line-height)}.type-muted{color:var(--muted)}.type-accent{color:var(--accent)}.type-danger{color:var(--bad)}.type-success{color:var(--ok)}h1{font-size:var(--type-heading-1-size);letter-spacing:0;margin-bottom:0}h2{font-size:var(--type-heading-2-size);letter-spacing:0}.eyebrow{color:var(--accent);font-size:var(--type-eyebrow-size);text-transform:uppercase;margin-bottom:.2rem;font-weight:700}.lead{color:var(--muted);font-size:var(--type-lead-size);line-height:1.5}.toolbar,.inline-controls,.print-controls{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.toolbar button,.print-controls button{white-space:nowrap}.pdf-actions{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.pdf-export-menu{justify-content:flex-end;display:inline-flex;position:relative}.pdf-export-menu>button{white-space:nowrap;align-items:center;gap:.55rem;display:inline-flex}.pdf-export-caret{border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transform:translateY(-.15rem)rotate(45deg)}.pdf-export-popover{z-index:20;background:var(--paper);width:min(20rem,86vw);max-height:0;box-shadow:none;opacity:0;pointer-events:none;transform-origin:100% 0;border:1px solid #0000;border-radius:8px;padding:0 .7rem;transition:max-height .18s,padding .18s,border-color .18s,box-shadow .18s,opacity .16s,transform .18s;position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden;transform:translateY(-.35rem)scale(.98)}.pdf-export-popover.is-open{border-color:var(--line);opacity:1;pointer-events:auto;max-height:24rem;padding:.7rem;transform:translateY(0)scale(1);box-shadow:0 14px 30px #14231f24}.pdf-export-popover-title{color:var(--muted);text-transform:uppercase;margin-bottom:.55rem;font-size:.82rem;font-weight:800}.pdf-export-settings{margin-bottom:.65rem}.pdf-export-options{gap:.5rem;display:grid}.pdf-export-options button{justify-content:center;width:100%}.save-mode{white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:.25rem .65rem;font-size:.82rem;font-weight:700;display:inline-flex}.save-mode.linked{color:var(--ok);background:#e5f5e9}.save-mode.ready{color:#795018;background:#fff2cf}.save-mode.fallback{color:var(--bad);background:#ffe7df}.save-mode.dirty{color:#795018;background:#fff2cf}.student-add-form{min-width:min(100%,520px)}.student-add-form label{flex:300px}.student-add-form button:disabled{opacity:.55;cursor:not-allowed;transform:none}.shell{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:1rem clamp(1rem,4vw,2.5rem) 2rem;display:grid}.side-nav{z-index:15;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf6e0;border-radius:8px;align-self:start;gap:.45rem;padding:.35rem;display:flex;position:sticky;top:98px;overflow-x:auto}.side-nav button{text-align:center;white-space:nowrap;background:#fffdf6cc;border-color:#0000;flex:none}.side-nav button.active{background:var(--deep);color:#fff}.workspace{min-width:0;container-type:inline-size}.page-transition-shell{min-width:0;position:relative;overflow:visible}.page-transition{will-change:opacity, transform;min-width:0}.page-transition-enter{z-index:2;background:var(--paper-grid);animation:page-enter var(--motion-page-enter) var(--ease-page-enter) both;background-size:32px 32px;position:relative}.page-transition-exit{z-index:1;pointer-events:none;animation:page-exit var(--motion-page-exit) var(--ease-page-exit) both;position:absolute;inset:0}@keyframes page-enter{0%{opacity:.96;transform:translateY(6px)scale(.996)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)scale(.998)}}@media (prefers-reduced-motion:reduce){.page-transition{will-change:auto;animation:none!important;transform:none!important}.page-transition-exit{display:none}}.admin-workspace{padding:1rem clamp(1rem,4vw,2.5rem) 2rem}.auth-layout{place-items:center;min-height:100dvh;padding:1rem;display:grid}.auth-panel{width:min(100%,520px)}.auth-panel button{width:100%}.browser-compatibility-panel{gap:1rem;display:grid}.browser-compatibility-panel .type-h1,.browser-compatibility-panel .type-lead,.browser-compatibility-panel .type-body{margin:0}.landing-page{--landing-page-pad:clamp(1rem, 4vw, 3rem);min-height:100dvh;padding:0 var(--landing-page-pad) 3rem}.landing-header{z-index:5;width:calc(100% + (2 * var(--landing-page-pad)));margin-inline:calc(-1 * var(--landing-page-pad));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7eff0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,5vw,5rem);display:flex;position:sticky;top:0;box-shadow:0 12px 28px #26201414}.landing-header button{min-width:11rem}.landing-brand{min-width:0;color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:flex}.landing-brand img{object-fit:contain;width:3rem;height:3rem}.landing-brand-title{font-size:var(--type-heading-3-size);line-height:1;display:block}.public-nav{flex-wrap:wrap;justify-content:end;align-items:center;gap:.8rem;display:flex}.public-nav a,.tutorial-feature-link,.tutorial-card-action,.tutorial-back-link,.tutorial-next-grid a{color:var(--deep);font-weight:800;text-decoration:none}.public-nav a:hover,.tutorial-feature-link:hover,.tutorial-card-action:hover,.tutorial-back-link:hover,.tutorial-next-grid a:hover{text-decoration:underline}.contact-page-frame{padding-bottom:0}.contact-public-page,.contact-workspace-page{gap:clamp(1.5rem,4vw,2.5rem);display:grid}.contact-public-page{width:min(100%,1500px);margin:0 auto;padding-top:clamp(4rem,12vw,8rem)}.contact-workspace-page{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf6db;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 16px 36px #1c1f1a14}.contact-hero{max-width:980px}.contact-hero .type-d3,.contact-hero .type-h1,.contact-hero .type-lead{margin-bottom:.65rem}.contact-layout{grid-template-columns:minmax(0,1fr);display:grid}.contact-form-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf6e6;padding:clamp(1rem,3vw,1.5rem)}.contact-form{gap:1rem;display:grid}.contact-form textarea{resize:vertical;min-height:13rem}.contact-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.contact-actions button{min-width:12rem}.contact-secondary-link{color:var(--deep);font-weight:900;text-decoration:none}.contact-secondary-link:hover{text-decoration:underline}.site-footer{width:calc(100% + (2 * var(--landing-page-pad,0px)));margin:clamp(4rem, 8vw, 6rem) calc(-1 * var(--landing-page-pad,0px)) 0;background:linear-gradient(180deg, #fffdf6f5, #f4f1e8fa), var(--paper-grid);border-top:1px solid #d8d0bde6;box-shadow:0 -18px 38px #1c1f1a0f}.site-footer.compact{width:100%;margin:clamp(2rem,5vw,3rem) 0 0}.site-footer-inner{width:min(100%,1720px);margin:0 auto;padding:clamp(1.75rem,4vw,3rem) clamp(1rem,4vw,2.5rem)}.site-footer-main{grid-template-columns:minmax(260px,1.25fr) minmax(160px,.5fr) minmax(300px,.9fr);align-items:start;gap:clamp(1.5rem,4vw,3.25rem);display:grid}.site-footer-brand{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;min-width:0;display:grid}.site-footer-brand img{object-fit:contain;width:3rem;height:3rem}.site-footer-brand .type-body,.site-footer-section .type-body,.site-footer-bottom .type-caption{margin-bottom:0}.site-footer-brand .type-h4,.site-footer-section .type-caption{margin-bottom:.4rem}.site-footer-section .type-caption{color:var(--accent);letter-spacing:.02em;text-transform:uppercase;font-weight:900}.site-footer-links{justify-items:start;gap:.45rem;display:grid}.site-footer-links a{color:var(--deep);font-weight:900;text-decoration:none}.site-footer-links a:hover{text-decoration:underline}.site-footer-data{border-radius:var(--radius-md);background:#fffaf0b8;border:1px solid #d8d0bde6;padding:1rem}.site-footer-bottom{border-top:1px solid #d8d0bde6;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1rem;margin-top:clamp(1.5rem,3vw,2rem);padding-top:1rem;display:grid}.site-footer-bottom .type-caption:last-child{text-align:right;justify-self:end}.landing-hero{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:clamp(2rem,5vw,4rem);min-height:calc(100dvh - 6rem);padding:3rem 0;display:grid}.landing-copy{gap:1rem;max-width:42rem;display:grid}.landing-copy .type-d2{max-width:11ch}.landing-copy .type-lead,.landing-copy .type-flow{max-width:38rem;color:var(--muted)}.landing-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.5rem;display:flex}.landing-actions button{min-width:12rem}.landing-actions a{min-height:2.75rem;color:var(--ink);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.tutorial-shortcuts{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem;display:flex}.tutorial-shortcuts a,.tutorial-feature-link{min-height:2.5rem;color:var(--ok);background:#effbf4;border:1px solid #9fc5b3;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .85rem;font-weight:900;text-decoration:none;display:inline-flex}.landing-actions a:hover{text-decoration:underline}.landing-messages{gap:.6rem;display:grid}.scroll-reveal{opacity:0;filter:blur(2px);will-change:opacity, transform, filter;transition:opacity .72s ease-out,transform .82s cubic-bezier(.16,1,.3,1),filter .72s ease-out;transform:translateY(-1.8rem)scale(1.01)}.scroll-reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}.landing-preview{align-items:center;display:grid;position:relative}.landing-preview-carousel{padding-inline:2.6rem}.preview-window{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf7;border-radius:8px;overflow:hidden}.preview-carousel-window{align-content:start;display:grid}.preview-bar{border-bottom:1px solid var(--line);background:#f7efe0;gap:.45rem;padding:.85rem 1rem;display:flex}.preview-bar span{background:#d8793e;border-radius:999px;width:.7rem;height:.7rem}.preview-bar span:nth-child(2){background:#f0c75e}.preview-bar span:nth-child(3){background:#5fa77a}.preview-carousel-frame{gap:.8rem;min-height:clamp(25rem,42vw,34rem);padding:clamp(.85rem,2vw,1.1rem);display:grid;overflow:hidden}.preview-carousel-label{width:fit-content;min-height:1.9rem;color:var(--ok);background:#effbf4;border:1px solid #9fc5b3;border-radius:999px;justify-content:center;align-items:center;padding:0 .75rem;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.preview-carousel-slide{min-width:0;animation:.36s ease-out both carousel-fade-in}.preview-carousel-slide>.demo-panel,.preview-carousel-slide>.demo-report{min-height:clamp(20rem,34vw,28rem)}.preview-carousel-slide .demo-table{min-width:520px}.preview-carousel-slide .demo-textarea{max-height:8rem}.preview-carousel-slide .demo-report{grid-template-columns:minmax(130px,.28fr) minmax(0,.72fr)}.preview-carousel-controls{pointer-events:none;z-index:2;justify-content:space-between;display:flex;position:absolute;inset:50% .3rem auto;transform:translateY(-50%)}.preview-carousel-control{pointer-events:auto;border:1px solid var(--deep);width:2.25rem;height:2.25rem;min-height:0;color:var(--deep);background:#fffdf7eb;border-radius:999px;place-items:center;padding:0;font-size:0;line-height:1;display:inline-grid;box-shadow:0 8px 18px #2e271824}.preview-carousel-control:before{color:inherit;font-size:1.35rem;line-height:1;display:block;transform:translateY(-.04em)}.preview-carousel-control.previous:before{content:"‹"}.preview-carousel-control.next:before{content:"›"}.preview-carousel-control:hover,.preview-carousel-control:focus-visible{background:var(--deep);color:#fffdf7}.preview-carousel-dots{justify-content:center;gap:.5rem;padding:0 1rem 1rem;display:flex}.preview-carousel-dots button{border:1px solid var(--deep);color:#0000;background:0 0;border-radius:999px;width:1.45rem;height:.32rem;min-height:0;padding:0;font-size:0;line-height:0;overflow:hidden}.preview-carousel-dots button.active{background:var(--deep)}@keyframes carousel-fade-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue-float{0%,to{transform:rotate(45deg)translateY(-.1rem)}50%{transform:rotate(45deg)translate(.28rem,.18rem)}}.preview-content{gap:1.2rem;padding:clamp(1rem,3vw,2rem);display:grid;overflow-x:auto}.preview-content>div:first-child{border-left:5px solid var(--accent);background:#fff8e8;border-radius:8px;gap:.35rem;padding:1rem;display:grid}.preview-content p{color:var(--muted);margin:0}.preview-content strong{font-size:var(--type-heading-2-size)}.preview-content>div:first-child span{font-size:var(--type-display-1-size);color:var(--ok);font-weight:900;line-height:1}.preview-table{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(120px,1.4fr) repeat(3,minmax(80px,1fr));display:grid;overflow:hidden}.preview-table span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem}.preview-table span:nth-child(4n){border-right:0}.preview-table span:nth-child(-n+4){color:#fffdf7;background:#123d31;font-weight:800}.preview-table span:nth-last-child(-n+4){border-bottom:0}.landing-section{border-top:1px solid var(--line);gap:1.5rem;padding:clamp(2rem,5vw,4rem) 0;display:grid}.landing-section-heading{text-align:center;gap:.45rem;width:100%;display:grid}.landing-section-heading .type-h2{line-height:.95}.landing-section-heading .type-flow{color:var(--muted)}.landing-feature-grid,.landing-pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.landing-feature-grid article,.landing-pricing-grid article{border:1px solid var(--line);background:#fffdf7;border-radius:8px;align-content:start;gap:.75rem;min-height:15rem;padding:clamp(1rem,2vw,1.35rem);display:grid}.landing-feature-grid span,.landing-pricing-grid span{border:1px solid var(--line);width:fit-content;color:var(--muted);font-size:var(--type-caption-size);background:#f7efe0;border-radius:999px;padding:.2rem .65rem;font-weight:900}.landing-feature-grid .type-h3,.landing-pricing-grid .type-h3{margin:0;line-height:1}.landing-feature-grid .type-flow,.landing-pricing-grid .type-flow,.landing-pricing-grid li{color:var(--muted)}.landing-billing{padding-bottom:1rem;scroll-margin-top:6rem}.landing-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-pricing-grid article{min-height:20rem}.landing-pricing-grid article.featured{background:#f6fff9;border-color:#9fc5b3}.landing-pricing-grid ul{border-top:1px solid var(--line);gap:.55rem;margin:0;padding:1rem 0 0;list-style-position:inside;display:grid}.landing-showcase{grid-template-columns:1fr;gap:clamp(3rem,6vw,5rem);display:grid}.landing-showcase>.scroll-reveal{min-width:0}.showcase-card{min-height:30rem;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:1.1rem;padding:clamp(1.25rem,2.5vw,2rem) 0;display:grid}.showcase-card-tall{background:0 0}.showcase-card-report{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.showcase-media-left>.showcase-copy{order:2}.showcase-media-left>.demo-panel,.showcase-media-left>.demo-report,.showcase-media-right>.showcase-copy{order:1}.showcase-media-right>.demo-panel,.showcase-media-right>.demo-report{order:2}.showcase-copy{text-align:center;align-content:center;justify-self:center;justify-items:center;gap:1rem;max-width:38rem;min-height:100%;padding:clamp(.25rem,2vw,1rem);display:grid}.showcase-copy .type-h3{margin:0;line-height:1}.showcase-copy .type-flow{color:var(--muted)}.showcase-step{width:fit-content;min-height:1.75rem;color:var(--ok);font-size:var(--type-caption-size);background:#effbf4;border:1px solid #9fc5b3;border-radius:999px;justify-content:center;align-items:center;padding:0 .65rem;font-weight:900;line-height:1;display:inline-flex}.tutorial-feature-link{justify-self:center}.tutorial-page{min-height:100dvh}.tutorial-hero,.tutorial-detail{width:min(100%,1720px);margin:0 auto;padding:clamp(4rem,10vw,7rem) 0 clamp(2rem,6vw,4rem)}.tutorial-hero{text-align:center;gap:.65rem;display:grid}.tutorial-hero .type-flow,.tutorial-detail .type-flow{color:var(--muted)}.sabana-file-notice{background:#f6fff9;border:1px solid #9fc5b3;border-radius:8px;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(1rem,3vw,2rem);width:min(100%,1120px);margin:0 auto clamp(1.5rem,4vw,2.5rem);padding:clamp(1rem,2.5vw,1.6rem);display:grid}.sabana-file-notice>div{align-content:start;gap:.65rem;display:grid}.sabana-file-notice .type-flow{color:var(--muted)}.sabana-file-warning{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:1rem}.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);width:min(100%,1400px);margin:0 auto;padding-bottom:clamp(3rem,8vw,5rem);display:grid}.tutorial-card-reveal{min-height:100%;display:grid}.scroll-cue-wrap{justify-content:center;width:min(100%,1120px);margin:clamp(.7rem,2vw,1.2rem) auto clamp(1.25rem,3vw,2rem);display:flex}.scroll-cue{min-height:2.65rem;color:var(--ok);background:#f6fff9;border-color:#9fc5b3;border-radius:999px;align-items:center;gap:.55rem;padding:.5rem 1rem;display:inline-flex;position:relative;box-shadow:0 10px 24px #153e341f}.scroll-cue:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.65rem;height:.65rem;animation:1.7s ease-in-out infinite scroll-cue-float;transform:rotate(45deg)translateY(-.1rem)}.scroll-cue:hover{border-color:var(--ok);background:#effbf4;transform:translateY(.12rem)}.tutorial-grid>.tutorial-card-reveal:nth-child(2),.tutorial-grid>.tutorial-card-reveal:nth-child(5){transition-delay:90ms}.tutorial-grid>.tutorial-card-reveal:nth-child(3),.tutorial-grid>.tutorial-card-reveal:nth-child(6){transition-delay:.18s}.tutorial-grid>.tutorial-card-reveal:nth-child(4){transition-delay:.27s}.tutorial-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto 1fr auto;gap:1.25rem;min-height:32rem;padding:clamp(1rem,2vw,1.35rem);display:grid;box-shadow:0 12px 28px #26201414}.tutorial-card>div{align-content:start;gap:.6rem;display:grid}.tutorial-card-preview{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:0;max-height:17rem;overflow:hidden}.tutorial-card-preview .demo-panel,.tutorial-card-preview .demo-report{min-height:17rem;box-shadow:none;border:0;border-radius:0}.tutorial-card-preview .demo-panel{gap:.6rem;padding:.75rem}.tutorial-card-preview .demo-textarea{min-height:7rem;max-height:7rem;font-size:var(--type-caption-size)}.tutorial-card-preview .demo-table{min-width:420px;font-size:.75rem}.tutorial-card-preview .demo-import-row,.tutorial-card-preview .demo-stats,.tutorial-card-preview .demo-report-actions{display:none}.tutorial-card-preview .demo-tabs,.tutorial-card-preview .demo-actions{gap:.4rem}.tutorial-card-preview .demo-tabs button,.tutorial-card-preview .demo-actions button{min-height:2.15rem;padding:.35rem .5rem}.tutorial-card-preview .demo-report{grid-template-columns:1fr;padding:.75rem}.tutorial-card-preview .demo-report-paper{padding:.75rem}.tutorial-initial-preview,.tutorial-config-preview{align-content:start}.tutorial-initial-form{border-left:5px solid var(--accent);background:#fff8e8;border-radius:8px;gap:.55rem;padding:.85rem;display:grid}.tutorial-initial-form>div{gap:.22rem;display:grid}.tutorial-initial-form span{color:var(--deep);font-size:var(--type-body-size);font-weight:900}.tutorial-initial-form strong{border:1px solid var(--line);background:#fffdf7;border-radius:6px;align-items:center;min-height:2.4rem;padding:.4rem .65rem;display:flex}.tutorial-initial-preview .type-caption{color:var(--muted)}.tutorial-config-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.tutorial-config-form-grid>div,.tutorial-config-rule{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:.22rem;padding:.55rem .65rem;display:grid}.tutorial-config-form-grid span,.tutorial-config-rule span{color:var(--muted);font-size:var(--type-eyebrow-size);font-weight:800}.tutorial-config-form-grid strong,.tutorial-config-rule strong{overflow-wrap:anywhere}.tutorial-config-options{flex-wrap:wrap;gap:.4rem;display:flex}.tutorial-config-check{min-height:1.8rem;color:var(--ok);font-size:var(--type-eyebrow-size);background:#effbf4;border:1px solid #9fc5b3;border-radius:999px;align-items:center;padding:.2rem .55rem;font-weight:900;display:inline-flex}.tutorial-config-check:before{content:"✓";margin-right:.3rem}.tutorial-config-rule{background:#fff8e8}.tutorial-card-action{min-height:var(--touch-target);border:1px solid var(--deep);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.6rem .9rem;display:inline-flex}.tutorial-card-action.inline{justify-self:center}.tutorial-detail{gap:clamp(.75rem,1.6vw,1.15rem);padding-top:clamp(2rem,5vw,3.25rem);display:grid}.tutorial-detail>.scroll-reveal{display:grid}.tutorial-detail-heading{gap:.85rem;display:grid}.tutorial-back-link{width:fit-content}.tutorial-steps{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--type-heading-5-size);line-height:var(--type-body-line-height);border-radius:8px;gap:.8rem;margin:1rem 0 0;padding:1.25rem 1.25rem 1.25rem 2.5rem;display:grid}.tutorial-flow-demo{border:1px solid var(--line);background:#fffdf7b8;border-radius:8px;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(1rem,3vw,2rem);margin:0;padding:clamp(1rem,2.4vw,1.5rem);display:grid;box-shadow:0 16px 36px #26201414}.tutorial-flow-demo-wide{grid-template-columns:minmax(280px,.32fr) minmax(0,1fr);width:100%}.tutorial-flow-copy{top:calc(var(--topbar-height,5rem) + 1rem);gap:.85rem;display:grid;position:sticky}.tutorial-flow-copy .type-flow{color:var(--muted)}.tutorial-flow-steps{gap:.7rem;display:grid}.tutorial-flow-steps>div,.tutorial-flow-step-button{border:1px solid var(--line);background:var(--panel);width:100%;min-height:0;color:var(--ink);text-align:left;white-space:normal;border-radius:8px;justify-items:start;gap:.2rem;padding:.75rem;display:grid}.tutorial-flow-step-button{cursor:pointer}.tutorial-flow-steps>div.active,.tutorial-flow-step-button.active{background:#eef5ff;border-color:#6b9cff;box-shadow:inset 4px 0 #2f6df6}.tutorial-flow-steps strong,.tutorial-flow-step-button strong{color:var(--deep)}.tutorial-play-button{justify-self:start}.tutorial-flow-stage{min-width:0}.tutorial-real-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:1rem;min-width:0;max-height:min(76dvh,54rem);padding:clamp(.85rem,2vw,1.25rem);display:grid;position:relative;overflow:auto}.tutorial-real-panel>*{min-width:0;max-width:100%}.tutorial-real-panel:after{pointer-events:none;border-radius:inherit;content:"";animation:1.9s ease-in-out infinite tutorial-panel-breathe;position:absolute;inset:0;box-shadow:inset 0 0 #d8793e00}.tutorial-real-panel .table-wrap{width:100%;min-width:0;max-height:34rem}.tutorial-real-panel .data-table{font-size:.86rem}.tutorial-real-panel .section-heading{margin-bottom:0}.tutorial-start-box{align-self:start;position:relative}.tutorial-initial-flow{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:start}.tutorial-initial-flow.stage-2 .start-box,.tutorial-initial-flow.stage-3 .start-box{background:#f6fff9}.tutorial-initial-card{gap:.85rem;display:grid;overflow:hidden}.tutorial-initial-card-title{border-bottom:1px solid #123d3124;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.7rem;display:flex}.tutorial-initial-card-title strong{color:var(--deep);font-size:1.05rem}.tutorial-initial-card-title span{color:var(--ok);white-space:nowrap;background:#eef8f0;border:1px solid #9fc5b3;border-radius:999px;padding:.25rem .6rem;font-size:.82rem;font-weight:900}.tutorial-initial-copy{gap:.9rem;display:grid}.tutorial-initial-save-button{width:min(100%,18rem)}.tutorial-initial-controls{gap:.7rem;display:grid}.tutorial-initial-field{border:1px solid #0000;border-radius:8px;gap:.35rem;padding:.55rem;transition:background .22s,border-color .22s,box-shadow .22s;display:grid}.tutorial-initial-field>span{color:var(--deep);font-weight:900;line-height:1.1}.tutorial-initial-field.is-adjusting{background:#f6fff9;border-color:#9fc5b3;box-shadow:inset 0 0 0 1px #9fc5b38c}.tutorial-initial-field.is-complete{background:#fbfffc;border-color:#9fc5b3b3}.tutorial-stepper{grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;align-items:center;gap:.45rem;display:grid}.tutorial-stepper button{min-height:2.25rem;padding:0}.tutorial-stepper button.is-clicked,.tutorial-initial-card>button.is-clicked,.tutorial-initial-save-button.is-clicked{border-color:var(--accent);background:#e7c164;transform:translateY(1px)scale(.97);box-shadow:inset 0 0 0 2px #d8793e73,0 0 0 4px #d8793e2e}.tutorial-stepper input{text-align:center;min-height:2.25rem;font-weight:900}.tutorial-initial-save-notice,.tutorial-impact-strip,.tutorial-pdf-preview,.tutorial-confirm-card{background:#f6fff9;border:1px solid #9fc5b3;border-radius:8px;gap:.35rem;padding:.85rem;display:grid}.tutorial-initial-save-notice{background:#fff8e8;border-color:#e4cf9d;margin-top:1rem}.tutorial-created-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.tutorial-created-grid span{border:1px solid var(--line);background:var(--panel);color:var(--deep);text-align:center;border-radius:8px;padding:.75rem;font-weight:900;animation:.52s ease-out both tutorial-content-rise}.tutorial-pulse-action{animation:1.5s ease-in-out infinite tutorial-action-pulse}.tutorial-active-field{background:#f6fff9;border-color:#9fc5b3;box-shadow:inset 0 0 0 1px #9fc5b3}.tutorial-mini-topbar,.tutorial-mini-nav{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.tutorial-mini-topbar{justify-content:flex-end}.tutorial-mini-nav{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.35rem}.tutorial-mini-nav span{color:var(--deep);border-radius:6px;padding:.55rem .7rem;font-weight:900}.tutorial-mini-nav span.active{background:var(--deep);color:#fffefa}.tutorial-advanced-card{border-top:1px solid var(--line);background:0 0;border-radius:0;margin-top:1rem;padding-top:1rem;transition:background .22s,border-color .22s,box-shadow .22s;display:block;overflow:visible}.tutorial-advanced-card.open{border-color:var(--line);background:0 0}.tutorial-advanced-summary{text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.45rem;width:auto;min-height:44px;padding:0;display:flex}.tutorial-advanced-summary span{color:var(--deep);font-size:inherit;font-weight:800}.tutorial-advanced-summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.55rem;height:.55rem;transition:transform .18s;transform:rotate(45deg)translateY(-.12rem)}.tutorial-advanced-summary[aria-expanded=true]:after{transform:rotate(225deg)translate(-.05rem,-.05rem)}.tutorial-advanced-summary.is-clicked{background:#e7c164;transform:translateY(1px)scale(.99);box-shadow:inset 0 0 0 2px #d8793e73,0 0 0 4px #d8793e2e}.tutorial-advanced-card-body{margin-top:.5rem;animation:.42s ease-out both tutorial-content-rise}.tutorial-advanced-card-body .toggle-switch.is-clicked{border-color:var(--accent);transform:scale(.98);box-shadow:0 0 0 3px #d8793e2e}.tutorial-group-field{transition:background .22s,border-color .22s,box-shadow .22s}.tutorial-group-field.is-complete{background:0 0;border-color:#0000}.tutorial-group-field input,.tutorial-group-field select{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.tutorial-group-field input.is-clicked,.tutorial-group-field select.is-clicked,.tutorial-group-save-button.is-clicked{border-color:var(--accent);background:#e7c164;transform:translateY(1px)scale(.97);box-shadow:inset 0 0 0 2px #d8793e73,0 0 0 4px #d8793e2e}.tutorial-group-save-button:disabled{opacity:.72;cursor:default}.tutorial-group-save-notice{grid-column:1/-1;animation:.52s ease-out both tutorial-content-rise}.tutorial-group-flow{max-height:none;overflow:visible}.tutorial-import-flow .import-box{margin:0}.tutorial-students-flow{gap:.65rem;min-height:clamp(44rem,86dvh,58rem);max-height:none;padding-block:.75rem;overflow:visible}.tutorial-subjects-flow{gap:.65rem;min-height:clamp(52rem,96dvh,68rem);max-height:none;padding-block:.75rem;overflow:visible}.tutorial-subjects-flow .section-heading,.tutorial-students-flow .section-heading{gap:.25rem}.tutorial-subjects-flow .section-heading .type-h3,.tutorial-students-flow .section-heading .type-h3{margin:0}.tutorial-subjects-flow .section-heading p,.tutorial-students-flow .section-heading p{margin:.2rem 0 0}.tutorial-subjects-flow .import-box,.tutorial-students-flow .import-box{padding:.75rem}.tutorial-import-box{transition:border-color .18s,box-shadow .18s,background .18s}.tutorial-import-box.is-targeted{border-color:#9fc5b3}.tutorial-import-box textarea{min-height:5.8rem;font-size:1rem;line-height:1.35;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;overflow:visible}.tutorial-import-box textarea.is-clicked,.tutorial-import-box button.is-clicked{border-color:var(--accent);background:#e7c164;transform:translateY(1px)scale(.985);box-shadow:inset 0 0 0 2px #d8793e73,0 0 0 4px #d8793e2e}.tutorial-import-box textarea.tutorial-paste-flash{background:#f6fff9;border-color:#9fc5b3;box-shadow:inset 0 0 0 2px #4d91742e}.tutorial-student-copy-scene,.tutorial-subject-copy-scene{width:min(100%,980px);margin-inline:auto;box-shadow:0 18px 36px #2f6df61a}.tutorial-import-flow .student-table,.tutorial-import-flow .subject-grid{animation:.52s ease-out both tutorial-content-rise}.tutorial-list-source-scene{background:#f8fbff;border:1px solid #9fb8df;border-radius:8px;gap:.75rem;padding:.85rem;display:grid;position:relative}.tutorial-list-source-table{border-collapse:collapse;background:#fff;width:100%}.tutorial-list-source-table td{color:var(--deep);border:1px solid #cbdaf4;padding:.55rem .75rem;font-weight:900}.tutorial-list-source-table td.copied{animation:9s ease-in-out infinite both tutorial-list-copy-select}.tutorial-student-copy-scene .tutorial-list-source-table td.copied,.tutorial-subject-copy-scene .tutorial-list-source-table td.copied{background:#dce9ff;animation:none;box-shadow:inset 0 0 0 2px #2f6df6}.tutorial-subject-import-mouse,.tutorial-student-import-mouse{transition:transform .56s ease-in-out;top:0;left:0}.tutorial-subject-import-mouse.is-pressed .tutorial-mouse-icon,.tutorial-student-import-mouse.is-pressed .tutorial-mouse-icon{transform:scale(.9)}.tutorial-subject-import-mouse .tutorial-mouse-icon,.tutorial-student-import-mouse .tutorial-mouse-icon{transform-origin:35% 20%;transition:transform .16s}.tutorial-subject-import-mouse .tutorial-mouse-popup,.tutorial-student-import-mouse .tutorial-mouse-popup{animation:1.5s both tutorial-popup-in}.tutorial-confirm-card{background:#fff8e8;border-color:#e4cf9d;animation:.42s ease-out both tutorial-content-rise;position:relative}.tutorial-confirm-card button{justify-self:start}.tutorial-students-flow .student-table tbody tr,.tutorial-subjects-flow .subject-item{animation:.52s ease-out both tutorial-content-rise}.tutorial-students-flow .student-table tbody tr:nth-child(2),.tutorial-subjects-flow .subject-item:nth-child(2){animation-delay:90ms}.tutorial-students-flow .student-table tbody tr:nth-child(3),.tutorial-subjects-flow .subject-item:nth-child(3){animation-delay:.18s}.tutorial-students-flow .student-table tbody tr:nth-child(4),.tutorial-subjects-flow .subject-item:nth-child(4){animation-delay:.27s}.tutorial-impact-strip{color:var(--ok);border-color:#9fc5b3;font-weight:900}.tutorial-typing-box{background-image:linear-gradient(90deg, transparent calc(100% - 2px), var(--accent) calc(100% - 2px));background-size:100% 1.4em;animation:.85s ease-in-out infinite tutorial-typing-glow}.tutorial-partials-flow{overflow:hidden auto}.tutorial-partials-flow .table-wrap{max-height:32rem}.tutorial-partials-flow .table-wrap,.tutorial-sabana-flow .table-wrap{overflow:auto}.tutorial-partials-workspace-label{gap:.15rem;display:grid}.tutorial-partials-workspace-label .type-h4{margin:0}.tutorial-partials-excel-only{place-items:center;min-height:clamp(30rem,58vw,45rem)}.tutorial-excel-scene{background:#f8fbff;border:1px solid #9fb8df;border-radius:8px;gap:.8rem;width:min(100%,980px);padding:1rem;display:grid;position:relative;box-shadow:0 18px 36px #2f6df61f}.tutorial-excel-toolbar{border-bottom:1px solid #cbdaf4;flex-wrap:wrap;align-items:center;gap:.7rem;padding-bottom:.75rem;display:flex}.tutorial-excel-toolbar span{color:#fff;font-size:var(--type-caption-size);background:#1f7a4d;border-radius:999px;padding:.22rem .65rem;font-weight:900}.tutorial-excel-toolbar kbd{color:var(--deep);background:#fff;border:1px solid #9fb8df;border-radius:6px;margin-left:auto;padding:.18rem .5rem;font-weight:900}.tutorial-excel-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}.tutorial-excel-table td{color:var(--deep);border:1px solid #cbdaf4;padding:.7rem .75rem;font-weight:800}.tutorial-excel-table tr:first-child td{color:#254f9b;background:#eaf2ff}.tutorial-excel-table td.copied{animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}.tutorial-excel-partials-scene .tutorial-excel-table td.copied{background:#dce9ff;animation:none;box-shadow:inset 0 0 0 2px #2f6df6}.tutorial-excel-table tr:nth-child(2) td:nth-child(2){animation-name:tutorial-excel-select-1}.tutorial-excel-table tr:nth-child(2) td:nth-child(3){animation-name:tutorial-excel-select-2}.tutorial-excel-table tr:nth-child(2) td:nth-child(4){animation-name:tutorial-excel-select-3}.tutorial-excel-table tr:nth-child(2) td:nth-child(5){animation-name:tutorial-excel-select-4}.tutorial-excel-table tr:nth-child(3) td:nth-child(2){animation-name:tutorial-excel-select-5}.tutorial-excel-table tr:nth-child(3) td:nth-child(3){animation-name:tutorial-excel-select-6}.tutorial-excel-table tr:nth-child(3) td:nth-child(4){animation-name:tutorial-excel-select-7}.tutorial-excel-table tr:nth-child(3) td:nth-child(5){animation-name:tutorial-excel-select-8}.tutorial-excel-table tr:nth-child(4) td:nth-child(2){animation-name:tutorial-excel-select-9}.tutorial-excel-table tr:nth-child(4) td:nth-child(3){animation-name:tutorial-excel-select-10}.tutorial-excel-table tr:nth-child(4) td:nth-child(4){animation-name:tutorial-excel-select-11}.tutorial-excel-table tr:nth-child(4) td:nth-child(5){animation-name:tutorial-excel-select-12}.tutorial-grade-selection-scene{min-width:0;position:relative}.tutorial-partials-flow.stage-1 tbody tr:nth-child(-n+3) td.grade-cell:nth-child(n+3):nth-child(-n+6){animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}.tutorial-partials-flow.stage-1 tbody tr:first-child td.grade-cell:nth-child(3){animation-name:tutorial-grid-select-paste-1}.tutorial-partials-flow.stage-1 tbody tr:first-child td.grade-cell:nth-child(4){animation-name:tutorial-grid-select-paste-2}.tutorial-partials-flow.stage-1 tbody tr:first-child td.grade-cell:nth-child(5){animation-name:tutorial-grid-select-paste-3}.tutorial-partials-flow.stage-1 tbody tr:first-child td.grade-cell:nth-child(6){animation-name:tutorial-grid-select-paste-4}.tutorial-partials-flow.stage-1 tbody tr:nth-child(2) td.grade-cell:nth-child(3){animation-name:tutorial-grid-select-paste-5}.tutorial-partials-flow.stage-1 tbody tr:nth-child(2) td.grade-cell:nth-child(4){animation-name:tutorial-grid-select-paste-6}.tutorial-partials-flow.stage-1 tbody tr:nth-child(2) td.grade-cell:nth-child(5){animation-name:tutorial-grid-select-paste-7}.tutorial-partials-flow.stage-1 tbody tr:nth-child(2) td.grade-cell:nth-child(6){animation-name:tutorial-grid-select-paste-8}.tutorial-partials-flow.stage-1 tbody tr:nth-child(3) td.grade-cell:nth-child(3){animation-name:tutorial-grid-select-paste-9}.tutorial-partials-flow.stage-1 tbody tr:nth-child(3) td.grade-cell:nth-child(4){animation-name:tutorial-grid-select-paste-10}.tutorial-partials-flow.stage-1 tbody tr:nth-child(3) td.grade-cell:nth-child(5){animation-name:tutorial-grid-select-paste-11}.tutorial-partials-flow.stage-1 tbody tr:nth-child(3) td.grade-cell:nth-child(6){animation-name:tutorial-grid-select-paste-12}.tutorial-partials-flow.stage-1 tbody tr:nth-child(-n+3) td.grade-cell:nth-child(n+3):nth-child(-n+6) input{background:0 0;border-color:#0000;animation:7s ease-in-out infinite both tutorial-grade-value-paste}.tutorial-partials-flow.stage-1 tbody tr:nth-child(-n+3) td.grade-cell:nth-child(n+3):nth-child(-n+6),.tutorial-partials-flow.stage-1 tbody tr:nth-child(-n+3) td.grade-cell:nth-child(n+3):nth-child(-n+6) input{animation:none}.tutorial-partials-flow .grade-cell.tutorial-selected{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}.tutorial-partials-flow .grade-cell.tutorial-pasted{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}.tutorial-partials-flow .grade-cell.tutorial-selected input,.tutorial-partials-flow .grade-cell.tutorial-pasted input{background:0 0;border-color:#0000}.tutorial-mouse{pointer-events:none;z-index:4;width:1.65rem;height:1.9rem;color:var(--deep);filter:drop-shadow(0 8px 12px #0e272238);position:absolute}.tutorial-mouse-icon{width:100%;height:100%;display:block}.tutorial-mouse-popup{color:#254f9b;font-size:var(--type-caption-size);white-space:nowrap;opacity:0;background:#fff;border:1px solid #2f6df6;border-radius:999px;padding:.28rem .7rem;font-weight:900;animation:7s ease-in-out infinite tutorial-popup-action;position:absolute;bottom:calc(100% + .55rem);left:.1rem;transform:translateY(.35rem)scale(.96);box-shadow:0 10px 18px #2f6df629}.tutorial-mouse-excel{animation:7s ease-in-out infinite tutorial-mouse-excel-drag;top:44%;left:51%}.tutorial-mouse-select{animation:7s ease-in-out infinite tutorial-mouse-table-drag;top:34%;left:22%}.tutorial-mouse-paste{animation:7s ease-in-out infinite tutorial-mouse-paste-pop;top:59%;left:57%}.tutorial-mouse-select-paste{animation:7s ease-in-out infinite tutorial-mouse-table-drag;top:34%;left:22%}.tutorial-controlled-mouse{transition:transform .56s ease-in-out;animation:none;top:0;left:0}.tutorial-controlled-mouse.is-pressed .tutorial-mouse-icon{transform:scale(.9)}.tutorial-controlled-mouse .tutorial-mouse-icon{transform-origin:35% 20%;transition:transform .16s}.tutorial-controlled-mouse .tutorial-mouse-popup{animation:1.5s both tutorial-popup-in}.tutorial-mouse-initial-apply{animation:8s ease-in-out infinite tutorial-mouse-click-rest;bottom:18%;right:5%}.tutorial-mouse-initial-adjust{animation:8s ease-in-out infinite tutorial-mouse-initial-adjust;top:7.6rem;right:1.2rem}.tutorial-mouse-initial-positioned{transition:transform .52s ease-in-out;top:0;left:0}.tutorial-mouse-initial-positioned.phase-1,.tutorial-mouse-initial-positioned.phase-2,.tutorial-mouse-initial-positioned.phase-3,.tutorial-mouse-initial-positioned.phase-4,.tutorial-mouse-initial-positioned.phase-5,.tutorial-mouse-initial-positioned.save-press{color:var(--deep);filter:drop-shadow(0 10px 14px #0e272247)}.tutorial-mouse-initial-adjust-apply{transition:transform .52s ease-in-out;animation:none;top:7.6rem;right:1.2rem}.tutorial-mouse-initial-adjust-apply.phase-0{transform:translate(-15rem,-5rem)}.tutorial-mouse-initial-adjust-apply.phase-1,.tutorial-mouse-initial-adjust-apply.phase-2{transform:translateY(-1.25rem)scale(.96)}.tutorial-mouse-initial-adjust-apply.phase-3{transform:translate(-17.4rem,3.7rem)scale(.96)}.tutorial-mouse-initial-adjust-apply.phase-4{transform:translateY(8.65rem)scale(.96)}.tutorial-mouse-initial-adjust-apply.phase-5{transform:translate(-.35rem,13.2rem)scale(.96)}.tutorial-mouse-initial-save{animation:8s ease-in-out infinite tutorial-mouse-initial-save-click;bottom:.5rem;right:17%}.tutorial-mouse-group-nav{animation:8s ease-in-out infinite tutorial-mouse-click-rest;top:11%;left:18%}.tutorial-mouse-group-save{animation:8s ease-in-out infinite tutorial-mouse-click-rest;top:3%;right:8%}.tutorial-mouse-group-positioned{color:var(--deep);filter:drop-shadow(0 10px 14px #0e272247);transition:transform .52s ease-in-out;top:0;left:0}.tutorial-mouse-list-copy{animation:9s ease-in-out infinite tutorial-mouse-list-drag;bottom:12%;right:8%}.tutorial-mouse-import-paste{animation:9s ease-in-out infinite tutorial-mouse-click-rest;top:35%;right:18%}.tutorial-mouse-report-select{animation:8s ease-in-out infinite tutorial-mouse-click-rest;top:5rem;left:24%}.tutorial-sabana-source-strip{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.8rem;display:flex}.tutorial-sabana-source-strip span,.tutorial-sabana-source-strip strong{border:1px solid var(--line);background:var(--panel);color:var(--deep);border-radius:999px;padding:.35rem .7rem;font-weight:900}.tutorial-sabana-source-strip strong{color:var(--ok);background:#f6fff9;border-color:#9fc5b3}.tutorial-sabana-flow{min-height:clamp(42rem,68vw,58rem);overflow:hidden}.tutorial-sabana-flow .table-wrap{max-height:20rem}.tutorial-sabana-flow .data-table tbody tr{animation:.52s ease-out both tutorial-content-rise}.tutorial-sabana-flow .data-table tbody tr:nth-child(2){animation-delay:70ms}.tutorial-sabana-flow .data-table tbody tr:nth-child(3){animation-delay:.14s}.tutorial-sabana-flow .data-table tbody tr:nth-child(4){animation-delay:.21s}.tutorial-sabana-flow .section-heading button.is-clicked,.tutorial-report-flow .pdf-actions button.is-clicked,.tutorial-pdf-save-button.is-clicked{border-color:var(--accent);background:var(--accent);color:var(--deep);transform:translateY(1px)scale(.98);box-shadow:0 0 0 4px #d8793e38}.tutorial-sabana-flow .section-heading button.tutorial-export-complete,.tutorial-report-flow .pdf-actions button.tutorial-export-complete{color:var(--ok);background:#e7f7ef;border-color:#9fc5b3}.tutorial-sabana-save-notice,.tutorial-report-save-notice{background:#fff8e8;border:1px solid #d9bf87;border-radius:8px;gap:.15rem;max-width:34rem;padding:.8rem;animation:.42s ease-out both tutorial-content-rise;display:grid}.tutorial-sabana-save-notice strong,.tutorial-report-save-notice strong{color:var(--deep);font-size:var(--type-heading-5-size)}.tutorial-pdf-modal{z-index:3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffdf7b8;place-items:start center;padding:clamp(1rem,3vw,2rem);animation:.42s ease-out both tutorial-modal-fade-in;display:grid;position:absolute;inset:0}.tutorial-pdf-modal-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:.7rem;width:min(100%,56rem);padding:clamp(1rem,2.4vw,1.35rem);display:grid;box-shadow:0 18px 44px #26201433}.tutorial-pdf-modal-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.tutorial-pdf-modal-header .type-h4{margin:0}.tutorial-pdf-modal-header>span{color:var(--ok);white-space:nowrap;background:#f6fff9;border:1px solid #9fc5b3;border-radius:999px;padding:.25rem .65rem;font-weight:900}.tutorial-pdf-sheet{color:#141414;font-family:var(--font-family-document);background:#fff;border:1px solid #1f1a14;border-radius:2px;gap:.28rem;padding:.65rem;font-size:.62rem;line-height:1.15;display:grid;box-shadow:inset 0 0 0 1px #0e27220a}.tutorial-pdf-sheet *{font-family:var(--font-family-document)}.tutorial-pdf-report-header{text-align:center;gap:.12rem;display:grid}.tutorial-pdf-report-header strong{font-size:1.18rem;line-height:1}.tutorial-pdf-report-header span{text-align:center;color:#333;font-weight:800}.tutorial-pdf-report-title{border-top:1px solid #1f1a14;justify-content:space-between;align-items:center;padding-top:.3rem;font-weight:900;display:flex}.tutorial-pdf-section-title{margin-top:.25rem;font-size:.72rem;font-weight:900}.tutorial-pdf-sheet table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.58rem}.tutorial-pdf-sheet th,.tutorial-pdf-sheet td{text-overflow:ellipsis;white-space:nowrap;border:1px solid #1f1a14;padding:.18rem .22rem;overflow:hidden}.tutorial-pdf-sheet th{text-align:center;font-weight:900}.tutorial-pdf-metrics-table th,.tutorial-pdf-metrics-table td{text-align:center}.tutorial-pdf-student-table th:first-child,.tutorial-pdf-student-table td:first-child,.tutorial-pdf-student-table th:last-child,.tutorial-pdf-student-table td:last-child{text-align:center;width:2rem}.tutorial-pdf-student-table th:nth-child(2),.tutorial-pdf-student-table td:nth-child(2){text-align:left;width:9.5rem}.tutorial-pdf-student-table td:not(:nth-child(2)),.tutorial-pdf-subject-table td:not(:first-child),.tutorial-pdf-gender-table td{text-align:center}.tutorial-pdf-subject-table th:first-child,.tutorial-pdf-subject-table td:first-child{text-align:left;width:10rem}.tutorial-pdf-gender-table th{text-align:right}.tutorial-pdf-save-button{justify-self:end}.tutorial-pdf-save-button:disabled{opacity:1}.tutorial-sabana-export-mouse{z-index:5}.tutorial-scan-wrap:not(.active):after{display:none}.tutorial-metrics-focus{background:#f6fff9;border:1px solid #9fc5b3;border-radius:8px;padding:.65rem;animation:.52s ease-out both tutorial-content-rise}.tutorial-pdf-preview{border-color:#9fc5b3;justify-self:end;width:min(100%,22rem)}.tutorial-report-flow{min-height:clamp(43rem,68vw,58rem);overflow-x:hidden}.tutorial-report-workspace-label{gap:.15rem;display:grid}.tutorial-report-student-picker{position:relative}.tutorial-report-flow select.is-clicked{border-color:var(--accent);transform:translateY(1px)scale(.99);box-shadow:0 0 0 4px #d8793e38}.tutorial-report-student-menu{z-index:4;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:.12rem;margin-top:.25rem;padding:.25rem;animation:.22s ease-out both tutorial-content-rise;display:grid;position:absolute;left:0;right:0;box-shadow:0 14px 34px #26201429}.tutorial-report-student-option{color:var(--deep);border-radius:6px;padding:.42rem .55rem;font-weight:900}.tutorial-report-student-option.selected{color:#24559f;background:#e8f1ff}.tutorial-report-student-option.is-clicked{background:var(--accent);color:var(--deep);box-shadow:0 0 0 3px #d8793e2e}.tutorial-report-card-scene.stage-1 .report-card header,.tutorial-report-card-scene.stage-2 .report-table{border-radius:8px;box-shadow:0 0 0 3px #2f6df63d}.tutorial-report-export-stack{background:#f6fff9;border:1px solid #9fc5b3;border-radius:8px;flex-wrap:wrap;gap:.6rem;padding:.8rem;display:flex}.tutorial-report-export-stack span{color:var(--ok);background:#fffefa;border:1px solid #9fc5b3;border-radius:999px;padding:.35rem .7rem;font-weight:900}.tutorial-scan-wrap{position:relative;overflow:hidden}.tutorial-scan-wrap:after{pointer-events:none;content:"";background:linear-gradient(#0000 0%,#d8793e29 48%,#0000 100%);animation:1.8s ease-in-out infinite tutorial-scan;position:absolute;inset:0;transform:translateY(-100%)}.tutorial-report-flow .report-card{transform-origin:top;animation:.52s ease-out both tutorial-content-rise}.tutorial-report-pdf-modal-card{width:min(100%,58rem)}.tutorial-report-pdf-sheet{grid-template-rows:auto auto auto 1fr;gap:.5rem;min-height:clamp(18rem,36vw,24rem);padding:.9rem}.tutorial-report-pdf-meta{border-top:1px solid #1f1a14;grid-template-columns:1fr 2.2fr 1fr;gap:.6rem;padding-top:.48rem;font-weight:900;display:grid}.tutorial-report-pdf-meta strong{text-align:center}.tutorial-report-pdf-meta span:last-child{text-align:right}.tutorial-report-pdf-table{margin-top:.15rem}.tutorial-report-pdf-table th:first-child,.tutorial-report-pdf-table td:first-child{text-align:left;width:9rem}.tutorial-report-pdf-table td:not(:first-child){text-align:center}.tutorial-report-pdf-signatures{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:3rem;margin:2.4rem 1.8rem 0;display:grid}.tutorial-report-pdf-signatures span{border-top:1px solid #1f1a14;display:block}.tutorial-report-pdf-signatures .type-body{margin:.25rem 0 0;font-size:.52rem}@keyframes tutorial-panel-breathe{0%,to{box-shadow:inset 0 0 #d8793e00}48%{box-shadow:inset 0 0 0 2px #d8793e29}}@keyframes tutorial-action-pulse{0%,to{box-shadow:none;transform:translateY(0)}50%{transform:translateY(-.08rem);box-shadow:0 10px 20px #123d312e}}@keyframes tutorial-content-rise{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes tutorial-modal-fade-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes tutorial-mouse-initial-adjust{0%,12%{transform:translate(-7.5rem,-1.25rem)scale(1)}28%{transform:translateY(-1.25rem)scale(.96)}40%{transform:translate(-7.5rem,3.7rem)scale(1)}56%{transform:translateY(3.7rem)scale(.96)}68%{transform:translate(-7.5rem,8.65rem)scale(1)}82%{transform:translateY(8.65rem)scale(.96)}to{transform:translateY(8.65rem)scale(1)}}@keyframes tutorial-mouse-initial-adjust-apply{0%,10%{transform:translate(-7.5rem,-1.25rem)scale(1)}22%{transform:translateY(-1.25rem)scale(.96)}34%{transform:translate(-7.5rem,3.7rem)scale(1)}46%{transform:translateY(3.7rem)scale(.96)}58%{transform:translate(-7.5rem,8.65rem)scale(1)}70%{transform:translateY(8.65rem)scale(.96)}82%{transform:translate(-.35rem,13.2rem)scale(1)}92%,to{transform:translate(-.35rem,13.2rem)scale(.96)}}@keyframes tutorial-mouse-initial-save-click{0%,18%{transform:translate(-7rem,-8rem)scale(1)}42%,58%{transform:translate(0)scale(.96)}72%,to{transform:translate(0)scale(1)}}@keyframes tutorial-typing-glow{0%,to{box-shadow:inset 0 0 #d8793e00}50%{box-shadow:inset 0 0 0 2px #d8793e2e}}@keyframes tutorial-list-copy-select{0%,18%,84%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}28%,83.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-mouse-click-rest{0%,24%{transform:translate(-1rem,-.5rem)scale(1)}42%,56%{transform:translate(0)scale(.95)}70%,to{transform:translate(0)scale(1)}}@keyframes tutorial-mouse-list-drag{0%,18%{transform:translate(-7rem,-4rem)scale(1)}58%{transform:translate(0)scale(.96)}78%,to{transform:translate(0)scale(1)}}@keyframes tutorial-cell-select{0%,17%{background:0 0;box-shadow:inset 0 0 #2f6df600}25%,to{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-grade-value-paste{0%,65%{color:#0000}68%,to{color:var(--deep)}}@keyframes tutorial-grid-select-paste-1{0%,18.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}19%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-2{0%,22.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}22.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-3{0%,25.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}26%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-4{0%,29.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}29.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-5{0%,32.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}33%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-6{0%,36.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}36.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-7{0%,39.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}40%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-8{0%,43.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}43.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-9{0%,46.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}47%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-10{0%,50.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}50.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-11{0%,53.9%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}54%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-grid-select-paste-12{0%,57.4%,94%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}57.5%,65.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}66%,93.9%{background:#e5f8ec;box-shadow:inset 0 0 0 2px #279162}}@keyframes tutorial-excel-select-1{0%,18.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}19%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-2{0%,22.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}22.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-3{0%,25.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}26%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-4{0%,29.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}29.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-5{0%,32.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}33%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-6{0%,36.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}36.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-7{0%,39.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}40%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-8{0%,43.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}43.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-9{0%,46.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}47%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-10{0%,50.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}50.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-11{0%,53.9%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}54%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-excel-select-12{0%,57.4%,82%,to{background:0 0;box-shadow:inset 0 0 #2f6df600}57.5%,81.9%{background:#dce9ff;box-shadow:inset 0 0 0 2px #2f6df6}}@keyframes tutorial-mouse-excel-drag{0%,18%{top:45%;left:45%;transform:scale(1)}58%{top:78%;left:83%;transform:scale(.96)}72%,to{top:78%;left:83%;transform:scale(1)}}@keyframes tutorial-mouse-table-drag{0%,18%{top:36%;left:19%;transform:scale(1)}62%{top:70%;left:77%;transform:scale(.96)}78%,to{top:70%;left:77%;transform:scale(1)}}@keyframes tutorial-mouse-paste-pop{0%,to{transform:scale(1)}22%,54%{transform:scale(.96)}}@keyframes tutorial-popup-action{0%,64%{opacity:0;transform:translateY(.35rem)scale(.96)}67%,84%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-.15rem)scale(.98)}}@keyframes tutorial-popup-in{0%{opacity:0;transform:translateY(.35rem)scale(.96)}18%,78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-.15rem)scale(.98)}}@keyframes tutorial-scan{0%{transform:translateY(-100%)}58%,to{transform:translateY(100%)}}.tutorial-next{border-top:1px solid var(--line);gap:.8rem;margin-top:1rem;padding-top:1.25rem;display:grid}.tutorial-next-grid{flex-wrap:wrap;gap:.7rem;display:flex}.tutorial-next-grid a{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.45rem .85rem}.tutorial-warning{color:var(--bad);font-weight:800}.demo-panel,.demo-report{border:1px solid var(--line);background:#fffaf0;border-radius:8px;gap:.85rem;min-width:0;min-height:100%;padding:clamp(.85rem,2vw,1rem);display:grid}.demo-panel-header,.demo-report-actions,.demo-tabs,.demo-actions,.demo-stats,.demo-report-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.demo-panel-header{justify-content:space-between}.demo-panel-header span:not(.demo-action-primary){color:var(--muted);font-weight:800}.demo-textarea{border:1px solid var(--line);min-height:7rem;color:var(--muted);white-space:pre-wrap;background:#fffefa;border-radius:8px;margin:0;padding:.8rem;font:.9rem/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.demo-textarea.compact{min-height:5.6rem}.import-loop-demo{align-content:start}.animated-input{min-height:8rem;position:relative}.animated-input.compact{min-height:7rem}.typing-caret{background:var(--deep);vertical-align:-.12em;border-radius:2px;width:.55rem;height:1em;margin-left:.1rem;animation:.7s steps(2,end) infinite typing-caret-blink;display:inline-block}.demo-import-row{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-weight:800;display:flex}.demo-import-row button{border:1px solid var(--deep);min-height:2.35rem;color:var(--deep);border-radius:8px;padding:.45rem .8rem;font-weight:900;transition:background .18s,color .18s,transform .18s,box-shadow .18s}.demo-import-row button.is-importing{background:var(--deep);color:#fffdf7;transform:translateY(2px)scale(.98);box-shadow:inset 0 3px 8px #0000002e}.import-results{opacity:0;visibility:hidden;transition:opacity .42s ease-out,transform .48s cubic-bezier(.16,1,.3,1),visibility 0s linear .48s;transform:translateY(.65rem)}.import-results.is-visible{opacity:1;visibility:visible;transition:opacity .42s ease-out,transform .48s cubic-bezier(.16,1,.3,1),visibility linear;transform:translateY(0)}.import-loop-demo.has-imported .demo-textarea{background:#f6fff9;border-color:#9fc5b3}@keyframes typing-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.demo-table-wrap{contain:inline-size;border:1px solid var(--line);background:#fffefa;border-radius:8px;min-width:0;max-width:100%;overflow-x:auto}.demo-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.9rem}.demo-table.report{min-width:0}.demo-table th{background:var(--deep);color:#fffdf7;text-align:left;white-space:nowrap}.demo-table th,.demo-table td{border-bottom:1px solid var(--line);padding:.55rem .65rem}.demo-table tr:last-child td{border-bottom:0}.demo-table td:not(:first-child):not(:nth-child(2)),.demo-table th:not(:first-child):not(:nth-child(2)){text-align:center}.demo-check,.feature-check{place-items:center;display:inline-grid}.demo-check{color:#fff;background:#0b6ef3;border-radius:5px;width:1.45rem;height:1.45rem;font-weight:900}.demo-chip-grid{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.55rem;display:flex}.demo-chip-grid span{border:1px solid var(--line);background:#fffefa;border-radius:999px;padding:.35rem .75rem;font-weight:800}.demo-tabs button,.demo-actions button,.demo-report-actions button,.demo-action-primary{border:1px solid var(--deep);min-height:2.4rem;color:var(--deep);border-radius:8px;align-items:center;padding:.45rem .75rem;font-weight:900;display:inline-flex}.demo-tabs button.active,.demo-actions button:first-child,.demo-report-actions button:first-child,.demo-action-primary{border-color:var(--deep);background:var(--deep);color:#fffdf7}.demo-tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--ink)}.demo-stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.demo-stats span{border:1px solid var(--line);color:var(--muted);background:#fffefa;border-radius:8px;gap:.15rem;padding:.65rem;display:grid}.demo-stats strong{color:var(--ink);font-size:1.15rem}.demo-report{grid-template-columns:minmax(160px,.24fr) minmax(0,.76fr);align-items:start}.demo-report-actions{align-content:start;align-items:stretch}.demo-report-actions button{justify-content:center;width:100%}.demo-report-paper{border:1px solid var(--deep);background:#fff;padding:clamp(1rem,2vw,1.4rem)}.demo-report-paper .type-h4{text-align:center;margin:0 0 .35rem}.demo-report-paper .type-body{text-align:center;margin-bottom:1rem}.demo-report-meta{border-top:2px solid var(--deep);border-bottom:1px solid var(--deep);justify-content:space-between;margin-bottom:.8rem;padding:.7rem 0}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:clamp(1rem,3vw,1.5rem);container-type:inline-size}.hero-panel{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:2rem;min-height:420px;display:grid}.start-box{border-left:5px solid var(--accent);background:#f9f0dc;border-radius:8px;padding:1rem}.start-box.locked{opacity:.78}.number-stepper{grid-template-columns:2.4rem minmax(0,1fr) 2.4rem;align-items:center;gap:.45rem;display:grid}.number-stepper__button{border-radius:var(--radius-sm);background:#fffefa;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;min-height:2.4rem;padding:0;font-weight:700;line-height:1;display:inline-flex}.number-stepper__button:active{transform:translateY(1px)}.number-stepper__button:disabled{cursor:not-allowed;opacity:.5}.number-stepper__input{text-align:center;appearance:textfield;font-weight:700}.number-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.locked-note{color:#123d31;background:#eef8f0;border:1px solid #b9d8c6;border-radius:8px;margin-top:1rem;padding:.85rem 1rem}.locked-note p{color:#31574c;margin:.35rem 0 0}.wide{width:100%;margin-top:.8rem}.hint,.section-heading p{color:var(--muted)}.section-heading{margin-bottom:1rem}.section-heading.inline{justify-content:space-between;align-items:start;gap:1rem;display:flex}.notice,.warning,.empty-state{border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem}.notice{color:#205b3b;background:#ecfff5;border:1px solid #8fc7aa}.warning,.empty-state{color:#73501e;background:#fff6df;border:1px solid #e6c98d}.billing-panel{gap:1.15rem;width:min(100%,1440px);margin:0 auto;display:grid}.billing-hero{border:1px solid var(--line);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:clamp(1.1rem,2vw,1.7rem);display:flex}.billing-hero .type-h2{margin-bottom:.25rem;line-height:.95}.billing-hero .type-flow{max-width:42rem}.landing-billing-shared-benefits{gap:.6rem;width:min(100%,25rem);display:grid}.landing-billing-shared-benefits .billing-benefits{padding-top:.75rem}.billing-plan-selection{gap:1rem;display:grid}.billing-plan-selection-heading{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr);align-items:start;gap:1.4rem;padding:clamp(1rem,1.7vw,1.45rem);display:grid}.billing-plan-selection-heading .type-h3{margin-bottom:.25rem}.billing-plan-shared-benefits{gap:.35rem;display:grid}.billing-plan-shared-benefits .type-caption{border:1px solid var(--line);width:fit-content;color:var(--muted);background:#f7efe0;border-radius:999px;padding:.22rem .65rem;font-weight:800}.billing-plan-shared-benefits .billing-benefits{padding-top:.75rem}.billing-session{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.billing-status-strip{border:1px solid var(--line);background:#fffaf0;border-radius:8px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.billing-status-strip>div{gap:.25rem;padding:1rem 1.15rem;display:grid}.billing-status-strip>div+div{border-left:1px solid var(--line)}.billing-status-strip span,.billing-card-heading p,.billing-plan-option span,.billing-plan-option small,.billing-compare p{color:var(--muted)}.billing-status-strip strong{font-size:var(--type-lead-size)}.billing-status-strip .type-caption{max-width:48rem}.billing-notices{gap:.7rem;display:grid}.billing-notices .notice,.billing-notices .warning{margin-bottom:0}.billing-options{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.billing-options-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-subscription-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:stretch;gap:1rem;display:grid}.billing-card,.manual-grant{border:1px solid var(--line);background:#fffdf7;border-radius:8px;grid-template-rows:auto auto 1fr auto;align-content:stretch;gap:1rem;min-height:30rem;padding:clamp(1rem,1.7vw,1.45rem);display:grid}.billing-card-featured{background:#f6fff9;border-color:#9fc5b3}.subscription-plan-card{grid-template-rows:auto minmax(0,1fr) auto;gap:.85rem;min-height:25rem;position:relative}.subscription-plan-card--one-month{border-color:var(--line);background:#fffdf7}.subscription-plan-card--three-month{background:#f1f6f0;border-color:#aec1ae}.subscription-plan-card--six-month{background:#f1f7ff;border-color:#8bb6e3;transform:translateY(-.35rem);box-shadow:0 18px 42px #3a70ab2e}.subscription-plan-card--active{outline-offset:3px;outline:2px solid #24724c}.subscription-plan-card--six-month.subscription-plan-card--active{outline-color:#2367a5}.subscription-plan-card-title{color:var(--muted);letter-spacing:-.01em;font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:800;line-height:1}.subscription-plan-card-intro{align-content:start;gap:.45rem;display:grid}.subscription-plan-card-pricing{gap:.1rem;display:grid}.subscription-plan-card-duration{color:var(--ink);font-feature-settings:"lnum" 1, "pnum" 1;font-variant-numeric:lining-nums proportional-nums;letter-spacing:-.055em;font-family:Arial,Helvetica Neue,sans-serif;font-size:clamp(2.9rem,4.5vw,3.9rem);font-weight:800;line-height:.9}.subscription-plan-card-amount{color:var(--muted);font-size:var(--type-lead-size);font-weight:var(--type-label-weight)}.subscription-plan-card--six-month .subscription-plan-card-duration,.subscription-plan-card--six-month .subscription-plan-card-amount{color:#1b5e9e}.subscription-plan-card--six-month button.primary{background:#2367a5}.subscription-plan-card--six-month button.primary:hover{background:#184f82}.subscription-plan-card-benefits{align-self:start}.subscription-plan-card>button{width:100%}.subscription-plan-card--active>button:disabled{cursor:default;opacity:1}.billing-portal-card{background:#fff8e8;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:auto}.billing-portal-card>button{min-width:min(100%,15rem)}.billing-card-compact{background:#fff8e8}.billing-account-card{grid-template-rows:auto;grid-template-columns:minmax(14rem,1.05fr) minmax(16rem,1.25fr) minmax(18rem,.95fr);align-items:center;min-height:auto}.billing-account-card .billing-benefits{border-top:0;border-left:1px solid var(--line);padding:0 0 0 1rem}.billing-account-card .billing-actions{align-self:center}.billing-card-heading{gap:.45rem;display:grid}.billing-options .type-h3,.manual-grant .type-h3,.billing-compare .type-h3{margin:0;line-height:1.05}.billing-plan-mark{color:#1e6a45;width:fit-content;font-size:var(--type-caption-size);background:#e9f8ef;border:1px solid #9fc5b3;border-radius:999px;padding:.22rem .65rem;font-weight:800}.billing-plan-mark.muted{border-color:var(--line);color:var(--muted);background:#f7efe0}.billing-actions{align-self:end;gap:.7rem;display:grid}.billing-benefits{border-top:1px solid var(--line);color:var(--muted);align-content:start;gap:.55rem;margin:0;padding:1rem 0 0;list-style-position:inside;display:grid}.billing-plan-option{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:start;gap:.85rem;padding:.9rem;display:grid}.billing-plan-option>div{gap:.18rem;display:grid}.billing-plan-option strong{font-size:1.05rem}.billing-plan-option .billing-plan-price{color:var(--ink);font-size:clamp(1.3rem,2vw,1.75rem);font-weight:900;line-height:1.05}.billing-plan-option button,.billing-card>button{width:100%}.billing-compare{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:1fr;align-items:start;gap:1rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.billing-compare-table-wrap{overflow-x:auto}.billing-compare-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;overflow:hidden}.billing-compare-table th,.billing-compare-table td{text-align:left;border-bottom:1px solid var(--line);padding:.85rem 1rem}.billing-compare-table th:not(:first-child),.billing-compare-table td:not(:first-child){text-align:center}.billing-compare-table th{color:var(--muted);background:#f7efe0}.billing-compare-table td{background:#fffdf7}.billing-compare-table tr:last-child td{border-bottom:0}.billing-compare-table th+th,.billing-compare-table td+td{border-left:1px solid var(--line)}.billing-compare-note{max-width:42rem;color:var(--muted);margin-top:.3rem;font-size:.86rem;line-height:1.25;display:block}.billing-compare-na{min-height:1.75rem;color:var(--muted);background:#f7efe0;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .65rem;font-size:.86rem;font-weight:800;display:inline-flex}.feature-check{border-radius:999px;place-items:center;width:1.75rem;height:1.75rem;font-size:1.1rem;font-weight:900;line-height:1;display:inline-grid}.feature-check.yes{color:#1e6a45;background:#e9f8ef}.feature-check.no{color:var(--bad);background:#fff4ef}.admin-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.admin-stack{gap:1rem;display:grid}.admin-plans-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.admin-tabs{flex-wrap:wrap;gap:.65rem;display:flex}.admin-tabs button.active{background:var(--deep);color:#fff}.price-migration-panel,.price-migration-preview{gap:1rem;display:grid}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.field-hint{color:var(--muted);margin-top:.35rem;font-size:.85rem;line-height:1.35;display:block}.admin-customer-filters{grid-template-columns:minmax(260px,1fr) minmax(160px,220px) minmax(160px,220px);align-items:end;gap:1rem;display:grid}.link-button{min-height:auto;color:var(--deep);text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{background:0 0;transform:none}.admin-table-wrap{margin-top:1rem}.admin-table{min-width:760px}.admin-table tbody tr{cursor:default}.admin-table tbody tr:hover td{background:#eef8f0}.admin-detail,.admin-detail-screen,.admin-grant-screen{align-content:start;gap:1rem;display:grid}.admin-detail-screen,.admin-grant-screen{max-width:1120px}.admin-compact-form{gap:1rem;max-width:760px;display:grid}.admin-manual-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-manual-actions .hint{margin:0}.detail-list{gap:.55rem;margin:0;display:grid}.admin-detail-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem 1rem}.detail-list div{grid-template-columns:120px minmax(0,1fr);gap:.75rem;display:grid}.detail-list dt{color:var(--muted);font-weight:700}.detail-list dd{overflow-wrap:anywhere;margin:0}.event-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.event-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding-bottom:.5rem;display:flex}.event-list small{color:var(--muted);display:block}.payment-list .needs-review{border-left:3px solid var(--accent);padding-left:.75rem}.empty-table-cell{color:var(--muted);text-align:center}.empty-state{text-align:center;color:var(--muted)}@container (width<=760px){.admin-customer-filters{grid-template-columns:1fr}}@media (width<=1180px){.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-settings-sections,.rule-stack{grid-template-columns:1fr}}.modal-backdrop{z-index:1000;background:#12231f61;place-items:center;padding:clamp(1rem,4vw,2rem);display:grid;position:fixed;inset:0;overflow:auto}.confirm-dialog{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:min(100%,460px);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow);padding:1rem;overflow:auto}.confirm-dialog h2{margin-bottom:.55rem;font-size:1.25rem}.subject-edit-dialog{border:1px solid var(--line);background:var(--panel);width:min(100%,520px);box-shadow:var(--shadow);border-radius:8px;padding:clamp(1rem,3vw,1.35rem)}.subject-edit-dialog__header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;margin-bottom:1rem;display:grid}.subject-edit-dialog__header .type-h2{margin:0 0 .25rem;line-height:1}.subject-edit-dialog__header .type-body{color:var(--muted)}.subject-edit-dialog__field{border:1px solid var(--line);background:#fff8e8;border-radius:8px;gap:.45rem;padding:.85rem;display:grid}.start-document-backdrop{background:linear-gradient(#12231f85,#12231f6b),#12231f61}.start-document-modal{border:1px solid var(--line);background:var(--panel);width:min(100%,900px);box-shadow:var(--shadow);border-radius:8px;padding:clamp(1rem,3vw,2rem)}.start-document-copy{max-width:680px;margin-bottom:clamp(1rem,3vw,1.6rem)}.start-document-copy .type-h2{margin-bottom:.45rem}.start-document-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.start-document-option{text-align:left;white-space:normal;align-content:center;justify-items:start;gap:.55rem;min-height:12rem;padding:clamp(1rem,3vw,1.4rem);display:grid}.start-document-option .type-h3{margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05}.start-document-option .type-caption{color:inherit;opacity:.78;font-size:1rem;line-height:1.45}.export-preview-modal{border:1px solid var(--line);background:var(--panel);width:min(100%,1120px);height:min(92dvh,780px);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(.9rem,2vw,1.2rem);display:grid}.export-preview-header{justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.85rem;display:flex}.export-preview-header .type-h2{margin:0;line-height:1}.export-preview-header .type-body{color:var(--muted)}.export-preview-frame{border:1px solid var(--line);background:#fffaf0;border-radius:8px;place-items:center;min-height:0;display:grid;overflow:hidden}.export-preview-frame iframe{background:#fff;border:0;width:100%;height:100%}.export-preview-error{color:var(--danger);font-weight:800}.dialog-actions{flex-wrap:wrap;justify-content:end;gap:.65rem;margin-top:1rem;display:flex}.form-grid,.subject-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.subject-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:.65rem}.subject-item{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;display:grid}.subject-chip{border:1px solid var(--line);width:100%;min-height:48px;color:var(--deep);cursor:grab;text-align:left;box-shadow:none;background:#fffefa;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr) auto;justify-content:start;align-items:center;gap:.7rem;padding:.55rem .7rem;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:grid}.subject-chip:active{cursor:grabbing}.subject-chip:hover,.subject-chip:focus-visible{border-color:var(--deep);background:#fff8e8;transform:translateY(-1px);box-shadow:0 6px 14px #1c2d271a}.subject-chip--dragging{border-color:var(--deep);opacity:.58;background:#eef8f1;transform:scale(.98);box-shadow:0 12px 24px #1c2d2724}.subject-chip--drag-over{background:#fff3dd;border-color:#df7f3d;box-shadow:inset 4px 0 #df7f3d,0 8px 18px #df7f3d2e}.subject-chip__number{color:#1f7a51;font-variant-numeric:tabular-nums;background:#e9f8ee;border:1px solid #c8d9cd;border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:.88rem;font-weight:900;display:inline-grid}.subject-chip__drag-icon{color:#819089;opacity:.88;width:1.15rem;height:1.15rem;transition:color .18s,opacity .18s,transform .18s}.subject-chip:hover .subject-chip__drag-icon,.subject-chip:focus-visible .subject-chip__drag-icon,.subject-chip--dragging .subject-chip__drag-icon{color:var(--deep);opacity:1;transform:translateY(-1px)}.subject-chip__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.subject-chip__edit-icon{color:#1f7a51;opacity:1;background:#e9f8ee;border:1px solid #c8d9cd;border-radius:999px;width:1.85rem;height:1.85rem;padding:.42rem;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.subject-chip:hover .subject-chip__edit-icon,.subject-chip:focus-visible .subject-chip__edit-icon{border-color:var(--deep);background:var(--deep);color:#fffefa;transform:translate(1px)}.subject-chip__label{color:var(--deep);font-weight:800}label,.form-field{color:var(--deep);gap:.35rem;font-weight:700;display:grid}.rule-strip{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.rule-strip.compact{border-top:0;margin-top:.75rem;padding-top:0}.rule-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.85rem;display:grid}.rule-stack .toggle-switch,.rule-stack .form-field,.rule-stack .number-stepper{width:100%}.advanced-settings{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.advanced-settings summary{cursor:pointer;min-height:44px;color:var(--deep);align-items:center;gap:.45rem;font-weight:800;list-style:none;display:inline-flex}.advanced-settings summary::-webkit-details-marker{display:none}.advanced-settings summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.55rem;height:.55rem;transition:transform .18s;transform:rotate(45deg)translateY(-.12rem)}.advanced-settings[open] summary:after{transform:rotate(225deg)translate(-.05rem,-.05rem)}.advanced-settings-body{border:1px solid var(--line);background:#fff8e8;border-radius:8px;gap:1rem;margin-top:.5rem;padding:1rem;display:grid}.advanced-settings h3{margin:0 0 .6rem;font-size:1rem}.advanced-settings-sections{grid-template-columns:minmax(220px,.35fr) minmax(360px,.65fr);gap:1rem;display:grid}.advanced-settings-card{border:1px solid var(--line);background:#fffefab8;border-radius:8px;align-content:start;gap:.75rem;padding:1rem;display:grid}.setting-help{color:var(--muted);max-width:760px;margin:-.25rem 0 .9rem}.toggle-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1rem;display:grid}.toggle-grid .toggle-switch{justify-content:space-between;width:100%}.rule-strip .toggle-switch{justify-content:space-between;align-self:end}.import-box{border:1px solid var(--line);background:#fff8e8;border-radius:8px;gap:.75rem;margin:0 0 1rem;padding:1rem;display:grid}.import-actions{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.check-row{grid-template-columns:auto 1fr;align-items:center}.check-row input{width:auto}.sabana-export-controls{justify-content:end;align-items:center}.export-control-group,.sabana-export-controls .pdf-actions,.export-control-group .pdf-actions{align-items:center}.sabana-export-controls .toggle-switch,.sabana-export-controls .pdf-export-menu>button,.export-control-group .toggle-switch,.export-control-group .pdf-export-menu>button{min-height:var(--touch-target)}.sabana-export-controls .toggle-switch,.export-control-group .toggle-switch{padding-block:.42rem}.toggle-switch{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--deep);border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .75rem .55rem .9rem;font-weight:800;display:inline-flex}.toggle-switch-control{flex:none;width:3.4rem;height:1.8rem;display:inline-grid;position:relative}.toggle-switch-control input{z-index:1;cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.toggle-switch-track{background:#d8ddd7;border:1px solid #b8c4ba;border-radius:999px;width:100%;height:100%;transition:background-color .18s,border-color .18s,box-shadow .18s;display:block;position:relative}.toggle-switch-thumb{background:#fffdf7;border-radius:50%;width:1.34rem;height:1.34rem;transition:transform .18s;position:absolute;top:50%;left:.22rem;transform:translateY(-50%);box-shadow:0 2px 6px #12312b3d}.toggle-switch-control input:checked+.toggle-switch-track{background:var(--deep);border-color:#1f7a51}.toggle-switch-control input:checked+.toggle-switch-track .toggle-switch-thumb{transform:translate(1.55rem,-50%)}.toggle-switch-control input:focus-visible+.toggle-switch-track{outline-offset:3px;outline:3px solid #1f7a5147}.admin-sale-availability{align-self:start;padding-top:1.9rem}.admin-check-label{gap:.2rem;display:grid}.admin-check-label small{color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.35}.table-wrap{border:1px solid var(--line);background:#fffefa;border-radius:8px;width:100%;overflow:auto}.table-wrap-page-sticky{overflow:visible}.data-table{border-collapse:collapse;width:100%;min-width:820px;font-size:.9rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;border-right:1px solid #ebe4d4;padding:.45rem}.data-table th{z-index:5;background:var(--deep);color:#fff;text-align:left;box-shadow:0 1px 0 var(--line);position:sticky;top:0}.table-wrap-page-sticky .data-table th{z-index:18;box-shadow:0 1px 0 var(--line), 0 8px 14px #162a251f;top:9.85rem}.data-table tr:nth-child(2n) td{background:#fbf7ee}.student-table input,.student-table select,.student-table .select-menu{min-width:86px}.student-table th:first-child{width:52px}.student-delete-cell{text-align:center}.student-delete-button{place-items:center;width:2rem;min-width:2rem;min-height:2rem;padding:0;font-size:1.25rem;line-height:1;display:inline-grid}.student-delete-icon{width:1rem;height:1rem}.small-input{max-width:72px}.center-cell{text-align:center}.center-cell input{width:auto}.muted-row td{color:var(--muted);background:#f0eee7!important}.partial-empty{justify-items:start;gap:1rem;display:grid}.partial-browser{gap:0;display:grid}.partial-export-controls{justify-content:flex-end;align-self:start}.partial-tabbar{scrollbar-width:thin;align-items:end;gap:.25rem;padding:.15rem 0 0;display:flex;overflow:auto hidden}.partial-tab{border-bottom-color:var(--line);min-width:max-content;min-height:48px;color:var(--deep);box-shadow:inset 0 -1px 0 var(--line);background:#fffefa;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:.68rem 1.1rem;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;position:relative}.partial-tab:hover{border-color:var(--deep);background:#fff8e8}.partial-tab.is-active{z-index:2;background:var(--paper);border-color:var(--line);border-bottom-color:var(--paper);color:var(--deep);box-shadow:none}.partial-tab.is-active:before{content:"";background:var(--accent);border-radius:8px 8px 0 0;height:4px;position:absolute;inset:0 0 auto}.partial-tab-new{width:48px;min-width:48px;padding-inline:0;font-size:1.35rem;line-height:1}.partial-tab-new:hover,.partial-tab-new:focus-visible{background:var(--accent);border-color:var(--accent);color:#1e160b;transform:translateY(-1px);box-shadow:0 6px 14px #1c2d2724}.tutorial-real-panel .partial-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.tutorial-real-panel .partial-tabs button.active{background:var(--accent);border-color:var(--accent);color:#1e160b}.partial-tab-panel{border:1px solid var(--line);background:var(--paper);border-radius:0 8px 8px;gap:1rem;padding:1.25rem;display:grid}.partial-panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.partial-name{width:min(100%,320px)}.partial-delete{min-height:var(--touch-target);align-self:end}.grade-table th,.grade-table td,.sabana-table th,.sabana-table td{text-align:center}.grade-table,.sabana-table{min-width:var(--grade-table-min-width,820px);table-layout:fixed}.grade-table th:first-child,.sabana-table th:first-child{width:42px}.grade-table th:nth-child(2),.sabana-table th:nth-child(2),.sticky-name{width:180px;min-width:180px}.grade-table th:last-child{width:58px}.sabana-table th:last-child{width:112px}.grade-table .subject-header,.grade-table .subject-cell,.grade-table .grade-cell{width:max(72px, calc((100% - 280px) / max(var(--subject-count), 1)))}.sabana-table .subject-header,.sabana-table .subject-cell{width:max(82px, calc((100% - 334px) / max(var(--subject-count), 1)))}.grade-table .subject-header,.sabana-table .subject-header{min-height:7.8rem;font-size:var(--type-eyebrow-size);overflow-wrap:anywhere;white-space:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto;text-align:center;vertical-align:middle;padding:.35rem .25rem;line-height:1.08}.sticky-name{z-index:3;background:#fffefa;position:sticky;left:0;text-align:left!important}.data-table tr:nth-child(2n) .sticky-name{background:#fbf7ee}.grade-input{text-align:center;width:100%;min-width:0}.grade-cell{-webkit-user-select:none;user-select:none;padding:.18rem;position:relative}.grade-cell.selected{background:#dcecff}.grade-cell.selected .grade-input{background:#f7fbff;border-color:#2f6fed}.grade-cell.selected-top{box-shadow:inset 0 2px #1d4ed8}.grade-cell.selected-bottom{box-shadow:inset 0 -2px #1d4ed8}.grade-cell.selected-left:before,.grade-cell.selected-right:after{content:"";pointer-events:none;background:#1d4ed8;width:2px;position:absolute;top:-1px;bottom:-1px}.grade-cell.selected-left:before{left:-1px}.grade-cell.selected-right:after{right:-1px}.grade-cell.selected-top.selected-bottom{box-shadow:inset 0 2px #1d4ed8,inset 0 -2px #1d4ed8}.grade-input.fail{border-color:var(--bad);background:#fff0ea}.grade-input.invalid{border-color:var(--bad);background:#fff3ef}.invalid-grade-cell{vertical-align:top}.grade-error{color:var(--bad);margin-top:.2rem;font-size:.68rem;font-weight:700;line-height:1.05}.grade-badge,.status-pill{text-align:center;white-space:normal;border-radius:999px;justify-content:center;min-width:42px;max-width:100%;padding:.22rem .45rem;font-weight:700;line-height:1.05;display:inline-flex}.grade-badge.incomplete{min-width:0;font-size:.62rem}.grade-badge.ok,.status-pill.ok{color:var(--ok);background:#e5f5e9}.grade-badge.bad,.status-pill.bad{color:var(--bad);background:#ffe7df}.stats-bar{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:1rem 0;display:grid}.stat{border:1px solid var(--line);background:#fffaf0;border-radius:8px;padding:.75rem}.stat span{color:var(--muted);font-size:.82rem;display:block}.stat strong{margin-top:.2rem;font-size:1.2rem;display:block}.metrics-block{margin-top:1.25rem}.compact-table{min-width:640px}.gender-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem;display:grid}.print-controls{justify-content:space-between;margin-bottom:1rem}.report-student-picker{width:fit-content;max-width:100%}.report-student-picker .select-menu-options button{white-space:nowrap}.report-card{color:#111;width:min(100%,980px);font-family:var(--font-family-document);background:#fff;border:1px solid #111;margin:0 auto;padding:1.25rem}.report-card *{font-family:var(--font-family-document)}.report-card header{text-align:center;border-bottom:2px solid #111;padding-bottom:.7rem}.report-meta{grid-template-columns:auto 1fr auto;gap:1rem;margin:1rem 0;display:grid}.report-table{border-collapse:collapse;width:100%;font-size:.88rem}.report-table th,.report-table td{text-align:center;border:1px solid #111;padding:.35rem}.report-table th:first-child,.report-table td:first-child{text-align:left}.ok-text{color:var(--ok);font-weight:700}.bad-text{color:var(--bad);font-weight:700}.signatures{grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;display:grid}.signatures div{text-align:center;border-top:1px solid #111;padding-top:.5rem}@media (width<=860px){.landing-header{flex-direction:column;align-items:stretch;position:static}.landing-header button{width:100%}.landing-hero{grid-template-columns:1fr;min-height:auto;padding:2rem 0}.landing-copy .type-d2{max-width:100%}.preview-carousel-frame{min-height:26rem}.landing-preview-carousel{padding-inline:.75rem}.preview-carousel-slide>.demo-report{grid-template-columns:1fr}.preview-carousel-controls{inset-inline:.5rem}.landing-feature-grid,.landing-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-showcase,.tutorial-flow-demo,.tutorial-initial-flow{grid-template-columns:1fr}.tutorial-flow-copy{position:static}.tutorial-real-panel{max-height:none}.tutorial-real-panel .pdf-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.tutorial-real-panel .pdf-actions button{white-space:normal;overflow-wrap:anywhere;width:100%}.showcase-card,.showcase-card-wide,.showcase-card-report{grid-column:1;grid-template-columns:1fr;min-height:auto}.demo-report{grid-template-columns:1fr}.topbar,.section-heading.inline,.hero-panel,.billing-hero,.billing-compare{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.billing-options,.start-document-options{grid-template-columns:1fr}.start-document-option{min-height:9rem}.billing-account-card{grid-template-columns:1fr}.billing-account-card .billing-benefits{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.billing-plan-selection-heading,.billing-portal-card{grid-template-columns:1fr}.billing-portal-card>button{width:100%}.billing-card{min-height:auto}.sabana-file-notice,.site-footer-main,.site-footer-bottom{grid-template-columns:1fr}.site-footer-bottom .type-caption:last-child{text-align:left;justify-self:start}.site-footer-data{padding:.9rem}.shell{grid-template-columns:1fr}.side-nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));position:static}}@media (prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;filter:none;transition:none;transform:none}.preview-carousel-slide,.scroll-cue:after,.typing-caret{animation:none}.demo-import-row button,.import-results{transition:none}.tutorial-real-panel:after,.tutorial-pulse-action,.tutorial-typing-box,.tutorial-mouse,.tutorial-created-grid span,.tutorial-list-source-table td.copied,.tutorial-confirm-card,.tutorial-students-flow .student-table tbody tr,.tutorial-subjects-flow .subject-item,.tutorial-metrics-focus,.tutorial-scan-wrap:after,.tutorial-report-flow .report-card{animation:none}.tutorial-advanced-card{transition:none}}@media (width<=640px){.landing-page{--landing-page-pad:.85rem;padding-inline:var(--landing-page-pad)}.landing-brand img{width:2.5rem;height:2.5rem}.landing-actions,.landing-actions button{width:100%}.preview-content{padding:1rem}.preview-table{grid-template-columns:minmax(86px,1.25fr) repeat(3,minmax(62px,1fr));min-width:0;font-size:.82rem}.preview-table span{border-right:1px solid var(--line);overflow-wrap:anywhere;padding:.62rem .5rem}.landing-feature-grid,.landing-pricing-grid,.tutorial-grid{grid-template-columns:1fr}.tutorial-hero,.tutorial-detail{padding-top:2.5rem}.landing-feature-grid article,.landing-pricing-grid article{min-height:auto}.demo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-table{table-layout:fixed;min-width:100%;font-size:.78rem}.demo-table.report{min-width:100%}.demo-table th,.demo-table td{overflow-wrap:anywhere;padding:.45rem .4rem}.topbar{position:static}.toolbar,.print-controls,.partial-panel-toolbar,.partial-export-controls,.pdf-actions,.dialog-actions{align-items:stretch}.toolbar>*,.print-controls>*,.partial-panel-toolbar>*,.partial-export-controls>*,.pdf-actions>*,.dialog-actions>*{flex:100%}.partial-export-controls,.partial-export-controls .pdf-actions{justify-content:stretch}.pdf-export-menu{width:100%}.pdf-export-menu>button{justify-content:center;width:100%}.pdf-export-popover{transform-origin:top;width:100%;margin-top:0;position:static}.pdf-export-popover.is-open{margin-top:.5rem}.side-nav{scroll-snap-type:x proximity;padding-bottom:.25rem;display:flex;overflow-x:auto}.side-nav button{text-align:center;scroll-snap-align:start;flex:none;min-width:132px}.form-grid,.subject-grid,.toggle-grid,.stats-bar,.gender-grid,.billing-status-strip{grid-template-columns:1fr}.billing-status-strip>div+div{border-left:0;border-top:1px solid var(--line)}.billing-hero,.billing-card,.billing-compare{padding:1rem}.billing-compare-table{font-size:.9rem}.billing-compare-table th,.billing-compare-table td{padding:.7rem .55rem}.feature-check{width:1.45rem;height:1.45rem;font-size:1rem}.subject-item,.report-meta,.signatures{grid-template-columns:1fr}.report-meta{gap:.35rem}.report-card{padding:.85rem}}@container (width<=520px){.section-heading.inline{flex-direction:column;align-items:stretch}.import-actions{align-items:stretch}.import-actions button{width:100%}}@media print{body{background:#fff}.topbar,.side-nav,.print-controls,.notice,.warning,.section-heading,.stats-bar,.metrics-block,.gender-grid{display:none!important}.shell,.workspace,.panel,.report-panel{box-shadow:none;background:#fff;border:0;margin:0;padding:0;display:block}.report-card{border:0;width:100%;padding:0}@page{size:letter landscape;margin:12mm}}
