@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Nunito+Sans:wght@400;600;700;800;900&display=swap";:root{--content-width: 930px;--operation: #7456e8;--operation-soft: #eee9ff;font-family:Nunito Sans,sans-serif;color:#26233a;background:#f7f3ed}.op-multiplication{--operation: #7456e8;--operation-soft: #eee9ff}.op-division{--operation: #2a83b8;--operation-soft: #e5f4fb}.op-addition{--operation: #d77a25;--operation-soft: #fff0df}.op-subtraction{--operation: #cc5470;--operation-soft: #fff0f3}.shade-purple{--operation: #7456e8;--operation-soft: #eee9ff}.shade-blue{--operation: #2a83b8;--operation-soft: #e5f4fb}.shade-orange{--operation: #d77a25;--operation-soft: #fff0df}.shade-pink{--operation: #cc5470;--operation-soft: #fff0f3}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}main{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:32px 24px;background:#f7f3ed}main:before{content:"";position:absolute;top:-150px;right:-100px;width:390px;height:390px;border:56px solid rgba(116,86,232,.07);border-radius:50%}main:after{content:"+";position:absolute;bottom:-70px;left:8%;color:#f49a4b2e;font-family:Fraunces,serif;font-size:15rem;font-weight:700;transform:rotate(-12deg)}.brand{position:absolute;top:34px;left:clamp(26px,6vw,76px);display:flex;align-items:center;gap:9px;color:#26233a;font-size:1.18rem;font-weight:900;letter-spacing:-.04em;text-decoration:none}.brand-mark{display:grid;width:27px;height:27px;place-items:center;border-radius:9px;background:#7456e8;color:#fff;font-size:1.3rem}.join-card{position:relative;z-index:1;width:min(460px,100%);padding:42px;border:1px solid #e9e4df;border-radius:18px;background:#fffdfa;box-shadow:0 18px 50px #2c233e14;text-align:center}.icon{display:grid;width:54px;height:54px;place-items:center;margin:0 auto 22px;border-radius:16px;background:#eee9ff;color:#6748d1;font-size:1.7rem}.eyebrow{margin:0;color:#81799a;font-size:.72rem;font-weight:900;letter-spacing:.14em}h1{margin:8px 0 10px;font-family:Fraunces,Georgia,serif;font-size:clamp(2.25rem,7vw,3rem);letter-spacing:-.06em;line-height:1}.intro,.help{color:#77728c;line-height:1.55}.intro{margin:0}form{margin-top:30px;text-align:left}label{display:block;margin-bottom:8px;color:#4f4a5e;font-size:.9rem;font-weight:800}input{width:100%;border:1px solid #dcd6e1;border-radius:10px;padding:14px;outline:0;color:#26233a;font-family:DM Mono,monospace;font-size:1.15rem;letter-spacing:.08em;text-align:center}input:focus{border-color:#7456e8;box-shadow:0 0 0 3px #e8e2ff}#student-name{font-family:Nunito Sans,sans-serif;font-size:1rem;letter-spacing:0;text-align:left}.remember-row{display:flex;align-items:center;gap:9px;margin:14px 0 0;color:#4f4a5e;font-size:.88rem;font-weight:700}.remember-row input{width:18px;height:18px;flex:0 0 auto;padding:0;accent-color:#7456e8}button{width:100%;margin-top:16px;border:0;border-radius:12px;padding:14px 17px;background:#7456e8;box-shadow:0 6px #5439bb;color:#fff;font-weight:900;transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-2px)}button:disabled{cursor:wait;opacity:.65;transform:none}button span{margin-left:12px;font-size:1.15rem}.message{margin:12px 0 0;border-radius:8px;padding:10px 12px;background:#f7f4ff;color:#554a77;font-size:.88rem;text-align:center}.help{margin:24px 0 0;font-size:.86rem}.help a{color:#6748d1;font-weight:900;text-decoration:none}.help a:hover{text-decoration:underline}.teacher-card{padding:32px 42px;text-align:left}.teacher-card .icon,.teacher-card .eyebrow,.teacher-card h1,.teacher-card .intro{text-align:center}.teacher-dashboard{position:relative;z-index:1;width:min(var(--content-width),100%)}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.dashboard-header h1{margin:5px 0 7px;font-size:clamp(2.25rem,6vw,3.2rem)}.dashboard-header p:not(.eyebrow){margin:0;color:#77728c}.sign-out{width:auto;margin:0;padding:10px 13px;border:1px solid #e9e4df;background:#fffdfa;box-shadow:none;color:#26233a;font-size:.8rem}.sign-out:hover{transform:none;border-color:#7456e8}.welcome-panel{display:flex;align-items:center;justify-content:space-between;min-height:240px;overflow:hidden;padding:34px 42px;border-radius:22px;background:linear-gradient(105deg,#7054dc,#9574ef);color:#fff}.welcome-panel .eyebrow{color:#ded4ff}.welcome-panel h2{margin:7px 0 9px;font-family:Fraunces,Georgia,serif;font-size:2rem;letter-spacing:-.05em}.welcome-panel p:not(.eyebrow){max-width:470px;margin:0;color:#eee9ff;line-height:1.55}.welcome-panel button{width:auto;margin-top:22px;background:#fff;box-shadow:0 5px #2c1b6f2e;color:#4d399b}.welcome-math{position:relative;width:140px;height:140px;font-family:Fraunces,Georgia,serif}.welcome-math b{position:absolute;right:12px;bottom:0;color:#ffbd70;font-size:8rem;line-height:.8}.welcome-math i{position:absolute;top:7px;left:22px;color:#ffffffa6;font-size:3rem;font-style:normal}.welcome-math span{position:absolute;right:2px;top:16px;color:#fff;font-size:2.4rem}.button-link{display:inline-block;width:auto;margin-top:22px;border-radius:12px;padding:14px 17px;background:#fff;box-shadow:0 5px #2c1b6f2e;color:#4d399b;font-weight:900;text-decoration:none}.button-link span{margin-left:12px;font-size:1.15rem}.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.next-steps article{padding:20px;border:1px solid #e9e4df;border-radius:14px;background:#fffdfa}.next-steps article>span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:#eee9ff;color:#6748d1;font-size:.8rem;font-weight:900}.next-steps h2{margin:16px 0 6px;font-family:Fraunces,Georgia,serif;font-size:1.2rem}.next-steps p{margin:0;color:#77728c;font-size:.88rem;line-height:1.5}.teacher-icon{background:#fff0dd;color:#e7873b}.back-link{display:inline-block;margin-bottom:22px;color:#6748d1;font-size:.9rem;font-weight:900;text-decoration:none}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:26px 0 0;padding:4px;border-radius:10px;background:#f0ecf4}.tabs button{margin:0;padding:10px;background:transparent;box-shadow:none;color:#77728c}.tabs button:hover{transform:none}.tabs button.active{background:#fff;box-shadow:0 2px 8px #2819461a;color:#6748d1}.teacher-card form label:not(:first-child){margin-top:17px}.teacher-card input{font-family:Nunito Sans,sans-serif;font-size:1rem;letter-spacing:0;text-align:left}@media(max-width:600px){main{padding:130px 18px 24px;align-items:start}.brand{top:28px;left:24px}.join-card{padding:32px 24px}}@media(max-width:700px){.dashboard-header{display:grid}.sign-out{justify-self:start}.welcome-panel{min-height:0;padding:28px}.welcome-math{display:none}.next-steps{grid-template-columns:1fr}}.class-list{position:relative;z-index:1}.class-list-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.class-list-heading h2{margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:1.65rem}.class-list-heading .button-link{margin:0;padding:11px 14px;background:#7456e8;box-shadow:0 5px #5439bb;color:#fff}.class-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.class-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:145px;padding:21px;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.class-card-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;background:#eee9ff;color:#6748d1;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.class-card h3{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.class-card p{margin:0;color:#77728c;font-size:.82rem}.class-card code{color:#4d399b;font-family:DM Mono,monospace;font-weight:900}.class-card-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.class-code-label{border-radius:7px;padding:4px 6px;background:#f1edff;color:#716a87!important;font-size:.68rem!important;font-weight:800;letter-spacing:.02em;white-space:nowrap}.class-code-label code{margin-left:3px;font-size:.76rem}.operation-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.operation-tags span{padding:3px 6px;border-radius:6px;background:#f1eef9;color:#635d73;font-size:.65rem;font-weight:800;text-transform:capitalize}.card-arrow{color:#7456e8;font-size:1.2rem}.empty-classes{padding:42px;border:1px dashed #d8d1e4;border-radius:15px;background:#fffdfa;text-align:center}.empty-classes>span{display:grid;width:42px;height:42px;place-items:center;margin:0 auto 14px;border-radius:12px;background:#eee9ff;color:#6748d1;font-size:1.4rem}.empty-classes h2{margin:0 0 7px;font-family:Fraunces,Georgia,serif}.empty-classes p{max-width:390px;margin:auto;color:#77728c}@media(max-width:700px){.class-list-heading{align-items:start}.class-card-grid{grid-template-columns:1fr}}.setup-page{display:block;min-height:100vh;padding:110px max(24px,calc((100vw - 820px)/2)) 70px;overflow:hidden}.class-setup{position:relative;z-index:1}.class-setup h1{margin-bottom:10px}.setup-section{margin-top:28px;padding:24px;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.setup-section h2{margin:0 0 16px;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.setup-section>label{max-width:460px}.code-note,.section-help{margin:11px 0 0;color:#77728c;font-size:.88rem}.operation-grid,.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.operation-grid button,.mode-grid button{display:flex;align-items:center;gap:11px;margin:0;border:1px solid #e9e4df;background:#fff;box-shadow:none;color:#26233a;text-align:left}.operation-grid button .operation-check{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;border:1px solid #d8d1e4;background:var(--operation-soft);border-color:var(--operation);color:var(--operation);font-size:1.15rem}.operation-grid button.chosen .operation-check{border-color:var(--operation);background:var(--operation);color:#fff}.operation-grid button.chosen,.mode-grid button.chosen{border-color:#7456e8;background:#f7f4ff;color:#26233a}.operation-grid button.chosen.op-multiplication,.operation-grid button.chosen.op-division,.operation-grid button.chosen.op-addition,.operation-grid button.chosen.op-subtraction{border-color:var(--operation);background:var(--operation-soft)}.level-grid label.op-multiplication,.level-grid label.op-division,.level-grid label.op-addition,.level-grid label.op-subtraction,.student-row label.op-multiplication,.student-row label.op-division,.student-row label.op-addition,.student-row label.op-subtraction{color:var(--operation)}.level-grid label.op-multiplication input,.level-grid label.op-division input,.level-grid label.op-addition input,.level-grid label.op-subtraction input,.student-row label.op-multiplication input,.student-row label.op-division input,.student-row label.op-addition input,.student-row label.op-subtraction input{border-color:var(--operation)}.mode-grid button{display:grid;gap:5px}.mode-grid small{color:#77728c;line-height:1.35}.starter-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.starter-path{display:flex;align-items:center;gap:12px;min-height:82px;margin:0;border:1px solid #e9e4df;background:#fff;box-shadow:none;color:#26233a;text-align:left}.starter-path.chosen{border-color:var(--operation);background:var(--operation-soft)}.starter-path-symbol{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--operation-soft);color:var(--operation);font-size:1.45rem}.starter-path strong,.starter-path small{display:block}.starter-path small{margin-top:3px;color:#77728c;font-size:.73rem;line-height:1.3}.starter-path-check{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;margin-left:auto;border:1px solid var(--operation);border-radius:50%;color:var(--operation);font-size:.78rem}.setup-page .message a{color:inherit;font-weight:900}.class-next-step{display:flex;align-items:flex-start;gap:13px;margin:0 0 22px;border:1px solid #ded5f5;border-radius:13px;padding:15px;background:#f7f4ff}.class-next-step-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px;background:#eee9ff;color:#6748d1}.class-next-step strong{display:block;color:#4d399b;font-size:.88rem}.class-next-step p{margin:3px 0 0;color:#625a76;font-size:.82rem;line-height:1.45}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level-grid label{margin:0}.level-grid input{margin-top:6px;padding:9px;font-family:Nunito Sans,sans-serif;font-size:1rem;letter-spacing:0;text-align:left}.roster-actions{display:flex;gap:10px;margin:16px 0}.upload,.paste-button,.add-student{display:inline-block;width:auto;margin:0;border:1px solid #7456e8;border-radius:9px;padding:9px 11px;background:#fff;box-shadow:none;color:#6748d1;font-size:.85rem;font-weight:900}.upload input{display:none}.student-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,72px) 32px;gap:8px;align-items:end;margin-top:9px}.student-row>input{padding:10px;font-family:Nunito Sans,sans-serif;font-size:.95rem;letter-spacing:0;text-align:left}.student-row label{margin:0;font-size:.75rem}.student-row label input{margin-top:4px;padding:7px;font-family:Nunito Sans,sans-serif;font-size:.9rem;letter-spacing:0;text-align:left}.remove{width:32px;height:32px;margin:0;padding:0;background:#fff0f2;box-shadow:none;color:#a92840}.add-student{margin-top:14px}.create-class{width:auto;margin:28px 0 0}.error{background:#fff0f2;color:#a92840}@media(max-width:700px){.setup-page{padding:100px 18px 50px}.operation-grid,.mode-grid,.starter-path-grid{grid-template-columns:1fr}.level-grid{grid-template-columns:repeat(2,1fr)}.student-row{grid-template-columns:1fr 55px 55px 55px 55px 30px;overflow-x:auto}}.operation-tags span.op-multiplication,.operation-tags span.op-division,.operation-tags span.op-addition,.operation-tags span.op-subtraction{background:var(--operation-soft);color:var(--operation)}.student-count{margin-left:8px;color:#81799a;white-space:nowrap}.class-card-actions{display:flex;align-items:center;gap:7px}.display-code{width:38px;height:38px;margin:0;padding:0;border:1px solid #ded6ec;border-radius:9px;background:#f7f4ff;box-shadow:none;color:#6748d1;font-size:1.25rem}.display-code:hover{transform:none;border-color:#7456e8}.class-menu-trigger{width:38px;height:38px;margin:0;padding:0;border:0;border-radius:9px;background:transparent;box-shadow:none;color:#6748d1;font-size:1.45rem;line-height:1}.class-menu-trigger:hover,.class-menu-trigger:focus-visible{background:#f1edff;outline:none;transform:none}.class-menu{position:relative}.class-menu-dropdown{position:absolute;z-index:5;top:calc(100% + 7px);right:0;min-width:152px;padding:5px;border:1px solid #e2dce9;border-radius:10px;background:#fffdfa;box-shadow:0 10px 22px #2c233e24}.class-menu-dropdown button{width:100%;margin:0;padding:9px 10px;border-radius:7px;background:transparent;box-shadow:none;color:#4d399b;font-size:.82rem;text-align:left}.class-menu-dropdown button:hover{background:#f1edff;transform:none}.class-menu-dropdown .menu-danger{color:#c0392b}.class-menu-dropdown .menu-danger:hover{background:#fdeceb}.class-menu-dropdown .menu-danger:disabled{opacity:.6;cursor:wait}.clickable-class-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.clickable-class-card:hover{border-color:#cfc3f3;box-shadow:0 8px 20px #2c233e12}.class-card-open-link{display:none}.class-card-link{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-width:0}.clickable-class-card:hover h3{color:#6748d1}.class-page{display:block;overflow:visible;padding:110px 24px 70px}.class-roster{position:relative;z-index:1;width:min(var(--content-width),100%);margin:0 auto}.class-roster-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.class-roster-header h1{margin:5px 0 8px}.class-roster-header p:not(.eyebrow){margin:0;color:#77728c}.class-roster-header code{color:#4d399b;font-family:DM Mono,monospace;font-weight:900}.class-operations{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.class-operations span{border-radius:7px;padding:5px 8px;background:var(--operation-soft);color:var(--operation);font-size:.75rem;font-weight:900}.class-roster-actions{display:flex;align-items:center;gap:8px}.copy-class-link{width:auto;margin:0;padding:10px 13px;border:1px solid #ded6ec;background:#f7f4ff;box-shadow:none;color:#6748d1;font-size:.82rem}.copy-class-link:hover{border-color:#7456e8;transform:none}.roster-table{overflow:visible;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.roster-table-heading{border-radius:15px 15px 0 0}.roster-table>.roster-student:last-child{border-radius:0 0 15px 15px}.roster-table-heading,.roster-student{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(110px,1fr));align-items:center;gap:14px;padding:15px 20px}.roster-table-heading{background:#f7f4ff;color:#81799a;font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.roster-student{border-top:1px solid #eee9e5}.roster-student-name{display:flex;align-items:center;gap:11px;min-width:0}.student-avatar{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;background:#eee9ff;color:#6748d1;font-family:Fraunces,Georgia,serif;font-size:1.05rem}.roster-student-name strong,.roster-student-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-student-name small{margin-top:2px;color:#81799a;font-family:DM Mono,monospace;font-size:.7rem}.level-badge{display:inline-flex;align-items:center;width:max-content;gap:6px;border-radius:8px;padding:6px 8px;background:var(--operation-soft);color:var(--operation);font-size:.78rem;font-weight:900}.level-badge span{font-size:1rem}.empty-roster{padding:42px;border:1px dashed #d8d1e4;border-radius:15px;background:#fffdfa;text-align:center}.empty-roster>span{display:grid;width:42px;height:42px;place-items:center;margin:0 auto 14px;border-radius:12px;background:#eee9ff;color:#6748d1;font-size:1.4rem}.empty-roster h2{margin:0 0 7px;font-family:Fraunces,Georgia,serif}.empty-roster p{margin:0;color:#77728c}@media(max-width:700px){.class-page{padding:100px 18px 50px}.roster-table{overflow:visible}.roster-table-heading,.roster-student{min-width:690px}.class-card-link{gap:12px}}.code-modal{position:fixed;z-index:20;inset:0;display:grid;grid-template-rows:1fr auto;min-height:100vh;padding:42px clamp(24px,6vw,80px);background:linear-gradient(130deg,#7054dc,#9271eb);color:#fff}.code-modal:before{content:"+";position:absolute;top:-75px;right:7%;color:#ffffff17;font-family:Fraunces,Georgia,serif;font-size:18rem;font-weight:700;transform:rotate(12deg)}.code-modal-center{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;text-align:center}.code-modal .eyebrow{color:#ddd4ff}.large-class-code{margin:18px 0 12px;color:#ffbd70;font-family:DM Mono,monospace;font-size:clamp(5rem,18vw,13rem);font-weight:500;letter-spacing:.08em;line-height:.9}.code-modal-center p:last-child{margin:0;color:#eee9ff;font-size:1rem}.close-code-modal{position:absolute;z-index:2;top:28px;right:32px;width:44px;height:44px;margin:0;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#ffffff1f;box-shadow:none;color:#fff;font-size:1.9rem}.close-code-modal:hover{transform:none;background:#fff3}.code-modal footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}.code-modal footer strong{font-family:Fraunces,Georgia,serif;font-size:1.3rem}.code-modal footer button{width:auto;margin:0;background:#fff;box-shadow:0 5px #2c1b6f33;color:#4d399b}@media(max-width:600px){.code-modal{padding:28px 22px}.code-modal footer{align-items:flex-start;flex-direction:column}.large-class-code{font-size:clamp(4rem,20vw,7rem)}.close-code-modal{top:18px;right:18px}}.class-page{overflow:hidden}.class-workspace{display:grid;min-height:100vh;grid-template-columns:296px minmax(0,1fr);background:#f7f3ed}.class-sidebar{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;padding:24px 16px;border-right:1px solid #e5dfeb;background:#fffdfa}.workspace-brand{display:flex;align-items:center;gap:8px;padding:0 10px;color:#26233a;font-size:1.1rem;font-weight:900;letter-spacing:-.04em;text-decoration:none}.back-to-classes{margin:30px 10px 18px;color:#77728c;font-size:.82rem;font-weight:800;text-decoration:none}.back-to-classes:hover{color:#6748d1}.class-switcher{display:flex;align-items:center;gap:10px;margin:0 0 23px;padding:12px;border:1px solid #e8e2ef;border-radius:10px;background:#faf8fd}.class-switcher>span{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#eee9ff;color:#6748d1;font-family:Fraunces,Georgia,serif;font-weight:700}.class-switcher strong,.class-switcher small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-switcher strong{font-size:.85rem}.class-switcher small{margin-top:2px;color:#81799a;font-size:.73rem}.class-sidebar nav{display:grid;gap:3px}.class-sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:8px;color:#625d72;font-size:.91rem;font-weight:800;text-decoration:none}.class-sidebar nav a span{width:18px;color:#81799a;text-align:center}.class-sidebar nav a:hover{background:#f6f3fb;color:#4d399b}.class-sidebar nav a.active{background:#eee9ff;color:#5439bb}.class-sidebar nav a.active span{color:#6748d1}.sidebar-help{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;margin:auto 0 0 1px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#81799a}.sidebar-help:hover,.sidebar-help:focus-visible{background:#f1edff;color:#6748d1;transform:none}.help-dialog-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#261e386b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.help-dialog{width:min(440px,100%);padding:20px;border-radius:17px;background:#fffdfa;box-shadow:0 24px 60px #261e3847}.help-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px}.help-dialog h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.2rem}.help-dialog header button{display:grid;width:32px;height:32px;margin:0;padding:0;place-items:center;border:1px solid #e6dfed;border-radius:9px;background:#fff;box-shadow:none;color:#756e80}.help-dialog header button:hover{border-color:#c0b5d5;background:#f8f5fb;transform:none}.help-dialog p{margin:14px 0 0;color:#625d72;font-size:.9rem;line-height:1.6}.help-dialog a{color:#5439bb;font-weight:900;text-underline-offset:3px}.workspace-content{display:block;min-width:0;padding:58px clamp(28px,6vw,80px);overflow:visible;background:#f7f3ed}.workspace-content:before,.workspace-content:after{display:none}.class-workspace .class-roster{width:min(930px,100%)}.class-workspace .class-roster-header{margin-bottom:28px}.class-workspace .class-roster-actions{flex-shrink:0}.workspace-page{width:min(930px,100%)}.workspace-heading-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}.workspace-heading-actions .ghost-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 13px}.library-card .ghost-btn{display:inline-flex;align-items:center;gap:6px}.workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.workspace-heading h1{margin:4px 0 7px;font-size:clamp(2rem,4vw,2.7rem)}.workspace-heading p:not(.eyebrow){max-width:570px;margin:0;color:#77728c;line-height:1.55}.primary-action{width:auto;flex:0 0 auto;margin:0;padding:11px 14px;border:0;border-radius:10px;background:#7456e8;box-shadow:0 4px #5439bb;color:#fff;font-size:.84rem;font-weight:900;text-decoration:none}.primary-action:hover{background:#6748d1}.primary-action:disabled{cursor:wait;opacity:.65}.import-page-overlay{position:fixed;z-index:20;inset:14px;display:grid;place-content:center;gap:5px;border:3px dashed #7456e8;border-radius:20px;background:#f4f0fff0;box-shadow:0 0 0 14px #f4f0fff0;color:#4d399b;text-align:center;pointer-events:none}.import-page-overlay strong{font-family:Fraunces,Georgia,serif;font-size:1.35rem}.import-page-overlay span{color:#7769a8;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.quiz-builder,.progression-editor{margin-bottom:24px;padding:25px;border:1px solid #e4ddec;border-radius:16px;background:#fffdfa}.builder-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:21px}.builder-heading h2{margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:1.4rem}.builder-heading>span{border-radius:7px;padding:6px 8px;background:#f1edff;color:#6748d1;font-size:.75rem;font-weight:900}.builder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.builder-grid label,.progression-editor>label{display:grid;gap:6px;margin:0;color:#625d72;font-size:.76rem;font-weight:900}.builder-grid input,.builder-grid select,.progression-editor input,.progression-editor textarea{width:100%;border:1px solid #ded6ec;border-radius:8px;padding:10px;background:#fff;color:#26233a;font-family:Nunito Sans,sans-serif;font-size:.9rem;letter-spacing:0}.progression-editor textarea{min-height:72px;resize:vertical}.focus-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.focus-options button,.step-picker button{margin:0;border:1px solid #e4ddec;background:#fff;box-shadow:none;color:#26233a;text-align:left}.focus-options button{display:grid;gap:3px;padding:13px}.focus-options button.chosen,.step-picker button.chosen{border-color:#7456e8;background:#f6f3ff}.focus-options small{color:#81799a}.group-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.group-picker>button{min-height:58px;margin:0;border:1px solid #e4ddec;background:#fff;box-shadow:none;color:#625d72}.group-picker>button.chosen{border-color:#7456e8;background:#f6f3ff;color:#4d399b}.group-picker strong{display:block;font-family:Fraunces,Georgia,serif;font-size:1.1rem}.group-picker label{display:grid;gap:2px;margin-top:4px;color:#81799a;font-size:.6rem}.group-picker input{width:100%;padding:3px;border:1px solid #cfc3f3;border-radius:4px;font-size:.72rem;text-align:center}.personalized-options{display:flex;align-items:end;flex-wrap:wrap;gap:14px}.personalized-options label{display:grid;gap:6px;color:#625d72;font-size:.76rem;font-weight:900}.personalized-options input[type=number]{width:125px;padding:9px;border:1px solid #ded6ec;border-radius:8px}.checkbox-row{display:flex!important;align-items:center;gap:7px!important;padding-top:20px}.checkbox-row input{width:auto!important}.quiz-builder .primary-action,.progression-editor .primary-action{margin-top:18px}.library-list,.progression-list{display:grid;gap:10px}.library-list article{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e9e4df;border-radius:13px;background:#fffdfa}.quiz-operation{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--operation-soft);color:var(--operation);font-size:1.3rem;font-weight:900}.library-list h2,.progression-card h2{margin:0 0 3px;font-family:Fraunces,Georgia,serif;font-size:1.12rem}.library-list p,.progression-card p{margin:0;color:#81799a;font-size:.8rem}.library-tag,.empty-workspace{padding:55px 24px;border:1px dashed #d8d1e4;border-radius:15px;background:#fffdfa;text-align:center}.empty-workspace>span{display:grid;width:42px;height:42px;margin:0 auto 12px;place-items:center;border-radius:12px;background:#eee9ff;color:#6748d1;font-size:1.3rem}.empty-workspace h2{margin:0 0 5px;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.empty-workspace p{margin:0;color:#77728c}.quiz-open{display:flex;flex:1;align-items:center;gap:14px;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.quiz-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.quiz-actions .library-tag{margin-left:0}.ghost-btn{flex:0 0 auto;width:auto;margin:0;box-shadow:none;border:1px solid #e0dbe8;border-radius:9px;padding:6px 11px;background:#fff;color:#5b5470;font-size:.75rem;font-weight:700;cursor:pointer}.ghost-btn:hover{transform:none}.ghost-btn.danger{border-color:#f0d3ce;color:#c0392b}.ghost-btn:disabled{opacity:.6;cursor:default}.library-list article.editing{border-color:#6748d1;box-shadow:0 0 0 2px #eee9ff}.progression-editor h3{margin:24px 0 10px;font-family:Fraunces,Georgia,serif;font-size:1.12rem}.step-picker{display:grid;gap:7px}.step-picker button{display:flex;align-items:center;gap:11px;padding:10px}.step-picker button>span{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;background:#eee9ff;color:#6748d1;font-size:.75rem;font-weight:900}.step-picker button.chosen>span{background:#7456e8;color:#fff}.step-picker strong,.step-picker small{display:block}.step-picker small{color:#81799a;font-size:.72rem}.editor-note{color:#77728c;font-size:.85rem}.progression-card{display:flex;min-width:0;align-items:center;gap:14px;padding:16px;border:1px solid #e9e4df;border-radius:13px;background:#fffdfa;color:inherit;transition:border-color .13s,box-shadow .13s}.progression-card:hover{border-color:#cfc3f3;box-shadow:0 8px 20px #2c233e12}.progression-card:hover h2,.progression-card:hover .library-edit-hint{color:#6748d1}.progression-card-link{display:flex;flex:1;min-width:0;align-items:center;gap:14px;color:inherit;text-decoration:none}.progression-card-body{flex:1;min-width:0}.progression-description{display:block;overflow:hidden;margin-top:5px!important;font-size:.78rem!important;text-overflow:ellipsis;white-space:nowrap}.progression-release{display:grid;flex:0 0 auto;justify-items:center;gap:4px}.progression-card-actions{display:flex;align-items:center;gap:6px}.progression-release button{display:inline-flex;align-items:center;gap:6px;width:auto;min-width:112px;justify-content:center;margin:0;padding:8px 11px;border:1px solid #cfc3f3;border-radius:9px;background:#f7f4ff;box-shadow:none;color:#5439bb;font-size:.75rem;font-weight:900}.progression-release button:hover{border-color:#7456e8;transform:none}.progression-release button:disabled{border-color:#e5e0e8;background:#f7f5f3;color:#99929f;cursor:default}.progression-release small{color:#81799a;font-size:.66rem;font-weight:800}.progression-card-edit{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid #e0dbe8;border-radius:9px;background:#fff;color:#756e80;text-decoration:none}.progression-card-edit:hover{border-color:#c0b5d5;background:#f8f5fb;color:#5439bb}.progression-overview{--operation: #7456e8;--operation-soft: #eee9ff}.overview-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:22px;color:#706977;font-size:.8rem;font-weight:800;text-decoration:none}.overview-back:hover{color:#5439bb}.progression-overview-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;padding:24px;border:1px solid #e7e1ea;border-radius:17px;background:#fffdfa}.overview-title-icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:14px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.overview-title{min-width:0;flex:1}.overview-title h1{margin:3px 0 6px;font-size:clamp(1.8rem,4vw,2.35rem)}.overview-title>p:not(.eyebrow){max-width:550px;margin:0;color:#77728c;font-size:.86rem;line-height:1.5}.overview-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.overview-facts span{padding:5px 8px;border-radius:7px;background:#f4f0eb;color:#6f6878;font-size:.7rem;font-weight:900}.overview-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}.overview-actions .ghost-btn{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;text-decoration:none}.overview-actions .primary-action{display:inline-flex;align-items:center;gap:6px}.assign-dialog-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#261e386b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.assign-dialog{display:flex;flex-direction:column;width:min(520px,100%);max-height:min(640px,88vh);padding:20px;border-radius:17px;background:#fffdfa;box-shadow:0 24px 60px #261e3847}.assign-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assign-dialog h2{margin:0 0 3px;font-family:Fraunces,Georgia,serif;font-size:1.2rem}.assign-dialog>header p{margin:0;color:#81799a;font-size:.8rem}.assign-dialog-close{display:grid;width:32px;height:32px;flex:0 0 auto;margin:0;padding:0;place-items:center;border:1px solid #e6dfed;border-radius:9px;background:#fff;box-shadow:none;color:#756e80}.assign-dialog-close:hover{transform:none;border-color:#c0b5d5;background:#f8f5fb}.assign-dialog-search{display:flex;align-items:center;gap:8px;margin-top:15px;padding:0 12px;border:1px solid #e0dbe8;border-radius:11px;background:#fff;color:#a29aae}.assign-dialog-search:focus-within{border-color:#9c87e8;box-shadow:0 0 0 3px #eee9ff}.assign-dialog-search input{flex:1;min-width:0;margin:0;padding:10px 0;border:0;background:transparent;color:#4c465c;font-size:.88rem;outline:none}.assign-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:#81799a;font-size:.76rem;font-weight:800}.assign-dialog-toolbar .ghost-btn{padding:5px 10px;font-size:.74rem}.assign-dialog-list{display:grid;gap:6px;overflow-y:auto;margin-top:9px;padding:2px}.assign-dialog-row{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 11px;border:1px solid #e6dfed;border-radius:11px;background:#fff;cursor:pointer}.assign-dialog-row:hover{border-color:#c0b5d5}.assign-dialog-row.on{border-color:var(--operation);background:var(--operation-soft)}.assign-dialog-row input{flex:0 0 auto;width:16px;height:16px;accent-color:var(--operation)}.assign-dialog-row .student-avatar{width:30px;height:30px;border-radius:8px;font-size:.9rem}.assign-dialog-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--operation-soft);color:var(--operation)}.assign-dialog-name{min-width:0}.assign-dialog-name strong,.assign-dialog-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.assign-dialog-name small{margin-top:1px;color:#81799a;font-size:.7rem;font-weight:700}.assign-dialog-empty{margin:14px 0;color:#81799a;font-size:.82rem;text-align:center}.assign-dialog .message{margin:12px 0 0}.assign-dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:15px}.assign-dialog>footer .primary-action{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0}.add-students-dialog>label{margin:17px 0 6px;color:#625d72;font-size:.78rem;font-weight:900}.add-students-dialog textarea{width:100%;resize:vertical;min-height:150px;padding:11px 12px;border:1px solid #e0dbe8;border-radius:11px;background:#fff;color:#4c465c;font:.9rem/1.55 Nunito Sans,sans-serif}.add-students-dialog textarea:focus{border-color:#9c87e8;outline:none;box-shadow:0 0 0 3px #eee9ff}.add-students-tools{display:flex;align-items:center;gap:10px;margin-top:9px}.add-students-tools .ghost-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;font-size:.76rem}.add-students-tools span{margin-left:auto;color:#81799a;font-size:.76rem;font-weight:800}.assign-open{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;padding:8px 13px;border:1px solid #ded6ec;border-radius:10px;background:#f7f4ff;box-shadow:none;color:#5439bb;font-size:.8rem;font-weight:800;white-space:nowrap}.assign-open:hover{transform:none;border-color:#7456e8}.assign-open:disabled{opacity:.55}.add-students-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:15px 18px;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.add-students-panel h2{margin:0 0 3px;font-family:Fraunces,Georgia,serif;font-size:1.1rem}.add-students-panel p{margin:0;color:#81799a;font-size:.8rem}.progression-overview-heading{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.progression-overview-heading h2{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.progression-overview-heading p{margin:0;color:#81799a;font-size:.8rem}.progression-step-list{display:grid}.progression-step-detail{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px}.progression-step-detail,.progression-completed{scroll-margin-top:24px}.progression-step-detail:target .step-detail-content,.progression-completed:target{border-color:#9c87e8;box-shadow:0 0 0 3px #eee9ff}.step-order{display:grid;grid-template-rows:34px minmax(16px,1fr);justify-items:center}.step-order span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#7456e8;color:#fff;font-family:DM Mono,monospace;font-size:.8rem;font-weight:900}.step-order i{width:2px;height:100%;background:#dcd4ed}.step-detail-content{margin-bottom:13px;border:1px solid #e8e2e0;border-radius:14px;background:#fffdfa}.step-detail-content>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #eee9e5}.step-detail-content>header h3{margin:0 0 2px;font-family:Fraunces,Georgia,serif;font-size:1.04rem}.step-detail-content>header p{margin:0;color:#8a8292;font-size:.7rem}.step-detail-content>header>span{color:#81799a;font-size:.72rem;font-weight:900}.step-quiz-link{min-width:0;color:inherit;text-decoration:none}.step-quiz-link:hover h3{color:#5439bb;text-decoration:underline}.step-students{display:grid}.step-students article{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 14px;border-top:1px solid #f0ece8}.step-students article:first-child{border-top:0}.step-students article strong{min-width:0;flex:1;overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.step-student-link{display:flex;min-width:0;flex:1;align-items:center;gap:10px;color:inherit;text-decoration:none}.step-student-link:hover strong{color:#5439bb;text-decoration:underline}.step-students .student-avatar{width:30px;height:30px;border-radius:8px;font-size:.9rem}.release-status{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;font-size:.68rem;font-weight:900}.release-status.ready{background:#e7f6ec;color:#2f7d4f}.release-status.waiting{background:#f2efec;color:#746d77}.step-students button{display:inline-flex;align-items:center;gap:4px;width:auto;margin:0;padding:6px 9px;border:1px solid #cfc3f3;border-radius:8px;background:#f7f4ff;box-shadow:none;color:#5439bb;font-size:.7rem;font-weight:900}.step-students button:hover{border-color:#7456e8;transform:none}.step-students button:disabled{opacity:.55}.step-no-students{margin:0;padding:15px 16px;color:#a099a5;font-size:.78rem;font-style:italic}.progression-completed{margin:10px 0 0 54px;padding:16px;border:1px solid #dceada;border-radius:13px;background:#f3faf2}.progression-completed h2{display:flex;align-items:center;gap:6px;margin:0 0 5px;color:#37723e;font-family:Fraunces,Georgia,serif;font-size:1rem}.progression-completed p{margin:0;color:#647063;font-size:.78rem}.completed-student-links{display:flex;flex-wrap:wrap;gap:6px}.completed-student-links a{padding:4px 8px;border-radius:999px;background:#fff;color:#37723e;font-size:.75rem;font-weight:800;text-decoration:none}.completed-student-links a:hover{text-decoration:underline}@media(max-width:780px){.progression-overview-header{flex-wrap:wrap}.overview-actions{width:100%;padding-left:68px}.overview-actions .primary-action{flex:1;justify-content:center}.release-status.waiting{display:none}}@media(max-width:520px){.progression-overview-header{padding:18px}.overview-title-icon{width:43px;height:43px}.overview-actions{display:grid;padding-left:0}.overview-actions a,.overview-actions button{justify-content:center}.progression-step-detail{grid-template-columns:32px minmax(0,1fr);gap:8px}.step-order span{width:30px;height:30px}.progression-completed{margin-left:40px}.release-status.ready{font-size:0}.release-status.ready .ui-icon{width:14px;height:14px}}.student-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:34px}.student-detail-avatar{display:grid;width:58px;height:58px;place-items:center;border-radius:16px;background:#7456e8;color:#fff;font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:700}.student-detail-header h1{margin:3px 0 2px;font-size:clamp(1.9rem,4vw,2.5rem)}.student-detail-header>div>p:last-child{margin:0;color:#81799a;font-family:DM Mono,monospace;font-size:.75rem}.student-detail-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}.student-detail-section-heading h2{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.student-detail-section-heading p{margin:0;color:#81799a;font-size:.8rem}.student-detail-section-heading>span,.student-detail-heading-actions span{color:#81799a;font-size:.72rem;font-weight:900}.student-detail-heading-actions{display:flex;flex:0 0 auto;align-items:center;gap:11px}.student-progression-grid{display:grid;gap:9px}.student-progression-card{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #e8e2e0;border-radius:13px;background:#fffdfa;color:inherit;text-decoration:none}.student-progression-link{display:flex;flex:1;min-width:0;align-items:center;gap:13px;color:inherit;text-decoration:none}.student-progression-card:hover{border-color:var(--operation, #7456e8);box-shadow:0 6px 16px #2c233e0f}.student-progression-icon{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.student-progression-main{min-width:0;flex:1}.student-progression-main h3{margin:0 0 3px;font-family:Fraunces,Georgia,serif;font-size:1rem}.student-progression-main p{overflow:hidden;margin:0;color:#81799a;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.student-current-step{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:baseline;column-gap:4px;min-width:62px;color:var(--operation, #6748d1);text-align:center}.student-current-step small{grid-column:1 / -1;color:#918999;font-size:.57rem;font-weight:900;letter-spacing:.12em}.student-current-step strong{justify-self:end;font-family:Fraunces,Georgia,serif;font-size:1.75rem;line-height:1}.student-current-step em{justify-self:start;color:#81799a;font-size:.65rem;font-style:normal;font-weight:800}.student-release-state{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:900;white-space:nowrap}.student-release-state.waiting{background:#f0edeb;color:#706977}.student-release-state.ready{background:#e7f6ec;color:#2f7d4f}.student-release-state.completed{background:#e8f5e9;color:#37723e}.student-release-button{display:inline-flex;align-items:center;gap:4px;width:auto;flex:0 0 auto;margin:0;padding:6px 9px;border:1px solid #cfc3f3;border-radius:8px;background:#f7f4ff;box-shadow:none;color:#5439bb;font-size:.7rem;font-weight:900;white-space:nowrap}.student-release-button:hover{transform:none;border-color:#7456e8}.student-release-button:disabled{opacity:.55}.student-attempts{margin-top:34px}.teacher-attempt-list{overflow:hidden;border:1px solid #e8e2e0;border-radius:14px;background:#fffdfa}.teacher-attempt-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 16px;align-items:center;gap:13px;padding:13px 16px;border-top:1px solid #eee9e5;color:inherit;text-decoration:none}.teacher-attempt-row:first-child{border-top:0}.teacher-attempt-row:hover{background:#faf8fd}.attempt-result-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:#f3efeb;color:#8a8292}.attempt-result-icon.passed{background:#e8f5e9;color:#37723e}.attempt-quiz strong,.attempt-quiz small{display:block}.attempt-quiz strong{font-size:.83rem}.attempt-quiz small{margin-top:2px;color:#918999;font-size:.68rem}.attempt-score{color:#4d399b;font-family:DM Mono,monospace;font-size:.85rem;font-weight:700;text-align:right}.attempt-score small{display:block;margin-top:1px;color:#918999;font-size:.62rem}.attempt-outcome{min-width:126px;padding:5px 8px;border-radius:7px;background:#f3efeb;color:#81799a;font-size:.68rem;font-weight:900;text-align:center}.attempt-outcome.passed{background:#e8f5e9;color:#37723e}.student-accommodations{margin-bottom:30px}.accommodation-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid #e8e2e0;border-radius:13px;background:#fffdfa}.accommodation-label{display:flex;align-items:center;gap:13px}.accommodation-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f2eefb;color:#6748d1}.accommodation-label strong{display:block;font-size:.92rem}.accommodation-label small{color:#81799a;font-size:.78rem}.student-detail-empty{margin:0;padding:28px;border:1px dashed #d8d1e4;border-radius:13px;background:#fffdfa;color:#81799a;font-size:.82rem;text-align:center}@media(max-width:650px){.student-detail-section-heading{align-items:flex-start}.teacher-attempt-row{grid-template-columns:31px minmax(0,1fr) auto 16px}.attempt-outcome{grid-column:2 / -1;justify-self:start}.student-progression-card,.student-progression-link{align-items:flex-start;flex-wrap:wrap}.student-current-step{margin-left:52px}.student-release-state{margin-left:auto}.student-release-button{margin-left:52px}}.attempt-review-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px;padding:23px;border:1px solid #e8e2e0;border-radius:16px;background:#fffdfa}.attempt-review-header h1{margin:3px 0 5px;font-size:clamp(1.8rem,4vw,2.4rem)}.attempt-review-header p:not(.eyebrow){margin:0 0 4px;color:#706977;font-size:.82rem}.attempt-review-header small{color:#918999;font-size:.7rem}.attempt-review-score{display:grid;min-width:128px;justify-items:center;padding:16px;border-radius:13px;background:#f3efeb;color:#746d77}.attempt-review-score.passed{background:#e8f5e9;color:#37723e}.attempt-review-score>strong{font-family:Fraunces,Georgia,serif;font-size:2.15rem;line-height:1}.attempt-review-score>strong small{color:inherit;font-size:1rem}.attempt-review-score>span{margin-top:6px;font-size:.7rem;font-weight:900}.attempt-review-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.attempt-review-heading h2{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.attempt-review-heading p{margin:0;color:#81799a;font-size:.78rem}.attempt-review-heading>div:last-child{display:flex;gap:6px}.review-key{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;font-size:.66rem;font-weight:900}.review-key.correct{background:#e8f5e9;color:#37723e}.review-key.incorrect{background:#fbeceb;color:#a7463e}.problem-review-list,.student-answer-list{overflow:hidden;border:1px solid #e8e2e0;border-radius:14px;background:#fffdfa}.problem-review-list article,.student-answer-list article{display:grid;grid-template-columns:30px minmax(210px,1fr) auto minmax(135px,auto);align-items:center;gap:14px;min-height:67px;padding:11px 15px;border-top:1px solid #eee9e5}.problem-review-list article:first-child,.student-answer-list article:first-child{border-top:0}.problem-review-list article.correct,.student-answer-list article.correct{box-shadow:inset 4px 0 #62a66b}.problem-review-list article.incorrect,.student-answer-list article.incorrect{box-shadow:inset 4px 0 #d56b62}.problem-number{color:#9a92a0;font-family:DM Mono,monospace;font-size:.7rem;text-align:center}.review-problem{display:flex;align-items:baseline;gap:9px;font-family:DM Mono,monospace;font-size:1.05rem}.review-problem b{color:#6748d1}.review-problem i{color:#aaa2ad;font-style:normal}.review-problem strong{min-width:72px;color:#26233a;font-size:1rem}.problem-result{display:inline-flex;align-items:center;gap:5px;justify-self:start;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:900}.correct .problem-result{background:#e8f5e9;color:#37723e}.incorrect .problem-result{background:#fbeceb;color:#a7463e}.correct-answer{color:#81799a;font-size:.72rem}.correct-answer strong{color:#4d4656}@media(max-width:680px){.attempt-review-header{align-items:flex-start}.attempt-review-score{min-width:104px}.attempt-review-heading{align-items:flex-start;flex-direction:column}.problem-review-list article,.student-answer-list article{grid-template-columns:24px minmax(0,1fr) auto;gap:9px}.correct-answer{grid-column:2 / -1}.review-problem{gap:6px}}@media(max-width:760px){.class-workspace{display:block}.class-sidebar{position:relative;height:auto;padding:17px 18px 0;border-right:0;border-bottom:1px solid #e5dfeb}.workspace-brand{padding:0}.back-to-classes,.class-switcher{display:none}.class-sidebar nav{display:flex;margin-top:18px;overflow-x:auto}.class-sidebar nav a{flex:0 0 auto;border-radius:8px 8px 0 0}.sidebar-help{margin:8px 0 0 auto}.workspace-content{padding:36px 18px 50px}.workspace-heading{display:grid}.primary-action{justify-self:start}.builder-grid,.focus-options{grid-template-columns:1fr}.group-picker{grid-template-columns:repeat(4,1fr)}.class-workspace .class-roster-header{display:grid}.class-roster-actions{justify-self:start}.library-list article{align-items:flex-start}.library-tag{display:none}}.group-picker>div{min-height:58px;border:1px solid #e4ddec;border-radius:10px;background:#fff;text-align:center}.group-picker>div.chosen{border-color:#7456e8;background:#f6f3ff;color:#4d399b}.group-picker>div>button{width:100%;margin:0;padding:9px 4px 3px;background:transparent;box-shadow:none;color:inherit}.group-picker>div>button:hover{transform:none}.group-picker>div label{margin:0 5px 5px}.class-switcher{align-items:center}.class-switcher>div:not(.sidebar-code-actions){min-width:0;flex:1}.sidebar-code-actions{display:flex;gap:4px}.sidebar-code-actions button{display:grid;width:29px;height:29px;margin:0;padding:0;place-items:center;border:1px solid #ded6ec;border-radius:7px;background:#fffdfa;box-shadow:none;color:#6748d1;font-size:.9rem}.sidebar-code-actions button:hover{border-color:#7456e8;background:#f7f4ff;transform:none}.display-code,.class-menu-trigger,.close-code-modal,.remove,.stepper button,.sidebar-code-actions button{display:grid;place-items:center}.student-detail-link{color:inherit;text-decoration:none}.student-detail-link:hover strong{color:#5439bb;text-decoration:underline}.roster-assign-heading,.roster-assign-row{grid-template-columns:26px minmax(180px,1fr) minmax(0,2.3fr)}.accommodation-pill{display:inline-flex;align-items:center;gap:1px;flex:0 0 auto;padding:4px 8px 4px 6px;border:1px solid #cde8d1;border-radius:999px;background:#eaf7ec;color:#37723e}.select-cell{display:flex;align-items:center;justify-content:center}.select-cell input{width:17px;height:17px;margin:0;accent-color:#6748d1;cursor:pointer}.roster-assign-row.row-selected{background:#f7f4ff}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;border:1px solid #ded6ec;border-radius:12px;background:#f7f4ff;box-shadow:0 8px 20px #2c233e0f}.bulk-count{color:#4d399b;font-size:.82rem;font-weight:900}.bulk-assign{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;padding:8px 16px;font-size:.82rem}.bulk-assign:disabled{opacity:.5}.bulk-clear{width:auto;margin:0;padding:8px 12px;border:1px solid #ded6ec;background:#fff;box-shadow:none;color:#6b6479;font-size:.82rem}.bulk-clear:hover{transform:none;border-color:#7456e8;color:#4d399b}.message.success{border-radius:10px;padding:10px 14px;margin-bottom:14px;background:#eef7ee;color:#2f6a37;font-size:.84rem;font-weight:700}.assign-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.assign-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 5px 5px 11px;border-radius:999px;background:var(--operation-soft);color:var(--operation);font-size:.78rem;font-weight:800}.assign-chip-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none}.assign-chip-link:hover b{text-decoration:underline}.assign-chip small{color:var(--operation);opacity:.72;font-family:DM Mono,monospace;font-weight:500}.assign-remove{display:grid;place-items:center;width:20px;height:20px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--operation)}.assign-remove:hover{transform:none;background:#26233a17}.assign-remove:disabled{opacity:.5}.attempt-release{display:inline-flex;align-items:center;gap:3px;width:auto;margin:0 0 0 2px;padding:3px 7px;border:1px solid currentColor;border-radius:999px;background:#fff;box-shadow:none;color:var(--operation);font-size:.68rem;font-weight:900}.attempt-release:hover{background:#ffffffa6;transform:none}.attempt-ready{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;background:#e7f6ec;color:#2f7d4f;font-size:.68rem;font-weight:900}.assign-add{display:inline-flex;align-items:center;gap:5px;width:auto;margin:0;padding:6px 11px;border:1px dashed #cfc6dd;border-radius:999px;background:#fff;box-shadow:none;color:#6b6479;font-size:.78rem;font-weight:800}.assign-add:hover{transform:none;border-color:#7456e8;color:#4d399b}.assign-add:disabled{opacity:.5}.assign-empty{color:#a29aae;font-size:.8rem}.student-row-simple{grid-template-columns:minmax(0,1fr) 32px}@media(max-width:700px){.roster-assign-heading,.roster-assign-row{min-width:0;grid-template-columns:26px 1fr;gap:10px}.roster-assign-row .assign-cell{grid-column:1 / -1}.roster-assign-heading span:last-child{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.editor-screen{--operation: #7456e8;--operation-soft: #eee9ff;position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100vh;background:#f4f0ea}.editor-screen.editor-screen-plain{--operation: #7456e8;--operation-soft: #eee9ff}.editor-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px clamp(16px,3vw,34px);border-bottom:1px solid #e7e1ea;background:#fffdfae0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.editor-back,.editor-cancel,.editor-save,.editor-ghost,.bar-toggle,.ghost-btn,.primary-action{white-space:nowrap}.editor-back{justify-self:start;flex:0 0 auto;color:#6748d1;font-size:.86rem;font-weight:800;text-decoration:none}.editor-back:hover{text-decoration:underline}.editor-crumb{justify-self:center;color:#9a92a6;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.editor-bar-actions{justify-self:end;display:flex;align-items:center;flex:0 0 auto;gap:15px}.editor-cancel{color:#8a8399;font-size:.85rem;font-weight:800;text-decoration:none}.editor-cancel:hover{color:#26233a}.editor-save{width:auto;margin:0;padding:10px 18px;border:0;border-radius:11px;background:#7456e8;box-shadow:0 4px #5439bb;color:#fff;font-size:.85rem;font-weight:900}.editor-save:hover{transform:none;background:#6748d1}.editor-save:disabled{cursor:wait;opacity:.65}.editor-ghost{width:auto;margin:0;padding:9px 13px;border:1px solid #e0dbe8;border-radius:11px;background:#fff;box-shadow:none;color:#5b5470;font-size:.82rem;font-weight:800}.editor-ghost:hover{transform:none;border-color:#7456e8;color:#4d399b}.export-menu-wrap{position:relative}.export-trigger{display:inline-flex;align-items:center;gap:6px}.export-dropdown{position:absolute;z-index:31;top:calc(100% + 7px);right:0;width:250px;padding:5px;border:1px solid #e2dce9;border-radius:12px;background:#fffdfa;box-shadow:0 12px 26px #2c233e29}.export-dropdown button{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:9px 10px;border-radius:8px;background:transparent;box-shadow:none;color:#4c465c;text-align:left}.export-dropdown button:hover{transform:none;background:var(--operation-soft);color:var(--operation)}.export-dropdown button>svg{flex:0 0 auto}.export-dropdown span{display:grid;gap:1px}.export-dropdown strong{font-size:.82rem}.export-dropdown small{color:#91899d;font-size:.7rem;font-weight:700}.editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.editor-body-single{grid-template-columns:minmax(0,1fr)}.editor-canvas{display:flex;justify-content:center;padding:clamp(26px,4vw,56px) clamp(16px,4vw,44px)}.editor-aside{position:sticky;top:61px;align-self:start;height:calc(100vh - 61px);display:flex;padding:clamp(16px,2vw,26px) clamp(16px,2.5vw,36px)}.doc-sheet{width:min(660px,100%);padding:clamp(28px,4vw,52px);border:1px solid #ece6f0;border-radius:20px;background:#fffdfa;box-shadow:0 22px 55px #2c233e12}.doc-eyebrow{margin:0 0 6px;color:var(--operation);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.doc-title{width:calc(100% + 20px);margin:0 -10px;border:1px solid transparent;border-radius:12px;padding:6px 10px;background:transparent;color:#26233a;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4.2vw,2.9rem);font-weight:700;letter-spacing:-.04em;line-height:1.04;text-align:left;text-wrap:balance}.doc-title::placeholder{color:#cbc4d3}.doc-title:hover{background:#faf8fd}.doc-title:focus{outline:0;border-color:#e4dcf0;background:#f8f5ff;box-shadow:none}.doc-title.invalid{border-color:#e0708a;background:#fff4f6}.doc-title.invalid::placeholder{color:#e0708a}.doc-title-error{margin:6px 0 0;color:#c0415f;font-size:.82rem;font-weight:700}.doc-summary{margin:12px 0 0;color:#8a8399;font-size:.9rem}.doc-subtitle{margin-top:14px;background:transparent;border-color:transparent;color:#6b6479;font-size:1rem}.doc-subtitle:hover{background:#faf8fd}.doc-block{margin-top:26px;padding-top:26px;border-top:1px solid #efeaf2}.doc-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 15px;color:#2f2b40;font-family:Fraunces,Georgia,serif;font-size:1.14rem;font-weight:600}.doc-hint{font-family:Nunito Sans,sans-serif;font-size:.74rem;font-weight:700;color:#a49dad;letter-spacing:0}.doc-note{margin:3px 0 0;color:#8a8399;font-size:.82rem;line-height:1.4}.op-pills{display:flex;flex-wrap:wrap;gap:8px}.op-pill{display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;padding:9px 15px;border:1px solid #e6dfed;border-radius:999px;background:#fff;box-shadow:none;color:#5b5470;font-size:.85rem;font-weight:800}.op-pill i{font-style:normal;font-size:1.05rem;color:var(--operation)}.op-pill:hover{transform:none;border-color:var(--operation)}.op-pill.on{border-color:var(--operation);background:var(--operation-soft);color:var(--operation)}.op-pill.on i{color:var(--operation)}.fact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.fact-chip{display:flex;flex-direction:column;height:80px;overflow:hidden;border:1px solid #e7e1ea;border-radius:13px;background:#fff;text-align:center;transition:border-color .12s,background .12s,box-shadow .12s}.fact-chip.on{border-color:var(--operation);background:var(--operation-soft)}.fact-chip.lit{box-shadow:0 0 0 2px var(--operation-soft);border-color:var(--operation)}.fact-toggle{flex:1 1 auto;width:100%;margin:0;padding:0 4px;display:grid;place-items:center;background:transparent;box-shadow:none;color:#4c465c;font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:700}.fact-toggle:hover{transform:none}.fact-chip.on .fact-toggle{color:var(--operation)}.fact-range{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:3px;margin:0;padding:0 7px 10px}.fact-range-op{font-family:DM Mono,monospace;font-size:.82rem;font-weight:500;color:var(--operation)}.fact-range-dash{color:#a49dad;font-size:.82rem;line-height:1}.fact-range-input{width:30px;margin:0;padding:4px 2px;border:1px solid rgba(116,86,232,.28);border-radius:7px;background:#fff;color:#4c465c;font-family:DM Mono,monospace;font-size:.82rem;font-weight:500;letter-spacing:0;text-align:center;-moz-appearance:textfield;appearance:textfield}.fact-range-input::-webkit-outer-spin-button,.fact-range-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fact-range-input:focus{outline:0;border-color:var(--operation);box-shadow:0 0 0 2px var(--operation-soft)}.doc-inline-rows{display:grid;gap:20px}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.doc-row .doc-heading{margin:0}.doc-row-stacked{flex-direction:column;align-items:stretch;gap:0}.doc-inline-input{width:100%;margin-top:12px;padding:12px 14px;border:1px solid #e7e1ea;border-radius:12px;background:#faf8fd;color:#26233a;font-family:Nunito Sans,sans-serif;font-size:.96rem;font-weight:600;letter-spacing:0;text-align:left}.doc-inline-input::placeholder{color:#bcb5c5;font-weight:400}.doc-inline-input:focus{outline:0;border-color:var(--operation);background:#fff;box-shadow:0 0 0 3px var(--operation-soft)}.stepper{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;padding:4px;border:1px solid #e6dfed;border-radius:13px;background:#fff}.stepper button{width:34px;height:34px;margin:0;padding:0;border:0;border-radius:9px;background:#f2eefb;box-shadow:none;color:#6748d1;font-size:1.25rem;font-weight:900;line-height:1}.stepper button:hover{transform:none;background:#e7dfff}.stepper b{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;min-width:66px;color:#26233a;font-family:DM Mono,monospace;font-size:1.2rem;font-weight:500}.stepper small{color:#8a8399;font-size:.66rem;font-weight:700}.switch{position:relative;flex:0 0 auto;width:52px;height:30px;margin:0;padding:0;border:0;border-radius:999px;background:#ded6ec;box-shadow:none;transition:background .15s}.switch:hover{transform:none}.switch span{position:absolute;top:3px;left:3px;width:24px;height:24px;margin:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px #2c233e47;transition:transform .16s}.switch.on{background:var(--operation)}.switch.on span{transform:translate(22px)}.doc-error{margin:24px 0 0;border-radius:11px;padding:12px 15px;background:#fff0f2;color:#a92840;font-size:.88rem;font-weight:700}.editor-screen .editor-note{color:#77728c;font-size:.88rem}.editor-screen .step-picker{margin-top:2px}.picker-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.filter-pill{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;padding:6px 12px;border:1px solid #e6dfed;border-radius:999px;background:#fff;box-shadow:none;color:#6b6479;font-size:.78rem;font-weight:800}.filter-pill i{font-style:normal;font-size:.95rem;color:var(--operation, #6748d1)}.filter-pill:hover{transform:none;border-color:var(--operation, #6748d1)}.filter-pill.on{border-color:var(--operation, #6748d1);background:var(--operation-soft, #f1edff);color:var(--operation, #6748d1)}.filter-pill .pill-count{color:inherit;opacity:.6;font-family:DM Mono,monospace;font-weight:500}.picker-hidden-note{margin:-6px 0 12px;color:#8a8399;font-size:.78rem;line-height:1.4}.doc-title-row{display:flex;align-items:center;gap:12px}.doc-title-row .doc-title{flex:1;min-width:0}.icon-picker{position:relative;flex:0 0 auto}.icon-picker-trigger{display:grid;width:46px;height:46px;margin:0;padding:0;place-items:center;border:1px solid #e7e1ea;border-radius:13px;background:var(--operation-soft, #eee9ff);box-shadow:none;color:var(--operation, #6748d1);transition:border-color .13s,transform .13s}.icon-picker-trigger:hover{transform:none;border-color:var(--operation, #6748d1)}.icon-picker-trigger[aria-expanded=true]{border-color:var(--operation, #6748d1)}.icon-picker-trigger.compact{width:38px;height:38px;border-color:transparent;border-radius:10px}.icon-picker-trigger.compact:hover{border-color:var(--operation, #6748d1)}.icon-picker-panel{position:absolute;z-index:31;top:calc(100% + 8px);left:0;width:min(342px,78vw);padding:11px;border:1px solid #e6dfed;border-radius:15px;background:#fff;box-shadow:0 18px 44px #2c233e2b}.icon-picker-shades{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.icon-picker-search{display:flex;align-items:center;gap:7px;margin-bottom:9px;padding:0 9px;border:1px solid #e6dfed;border-radius:10px;background:#fbf9fd;color:#b3abbf}.icon-picker-search input{flex:1;min-width:0;margin:0;padding:8px 0;border:0;background:transparent;box-shadow:none;color:#26233a;font-family:Nunito Sans,sans-serif;font-size:.82rem;letter-spacing:0;text-align:left}.icon-picker-search input:focus{border:0;box-shadow:none;outline:none}.icon-picker-actions{display:flex;align-items:center;gap:5px}.icon-picker-clear,.icon-picker-done{width:auto;margin:0;padding:5px 10px;border:0;border-radius:8px;background:#f4f1f8;box-shadow:none;color:#6b6479;font-size:.69rem;font-weight:800}.icon-picker-clear:hover,.icon-picker-done:hover{transform:none;background:#ece7f2;color:#4c465c}.icon-picker-done{background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.icon-picker-done:hover{background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1);filter:brightness(.96)}.icon-picker-grid{display:grid;max-height:244px;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px;overflow-y:auto}.icon-picker-option{display:grid;width:100%;height:38px;margin:0;padding:0;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:#6b6479}.icon-picker-option:hover{transform:none;border-color:#e0dbe8;background:#fbf9fd;color:var(--operation, #6748d1)}.icon-picker-option.on{border-color:var(--operation, #6748d1);background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.icon-picker-note{margin:14px 4px;color:#8a8399;font-size:.8rem}.shade-picker{display:inline-flex;align-items:center;gap:6px;padding:5px;border:1px solid #e0dbe8;border-radius:999px;background:#fff}.shade-swatch{display:grid;width:26px;height:26px;margin:0;padding:0;place-items:center;border:2px solid transparent;border-radius:50%;background:var(--swatch, #cfc7d8);box-shadow:none;color:#fff}.shade-swatch:hover{transform:none;border-color:var(--swatch-soft, #e6dfed)}.shade-swatch.on{border-color:#fff;outline:2px solid var(--swatch, #8a8399)}.shade-swatch-auto{background:linear-gradient(135deg,#7456e8 0 25%,#2a83b8 25% 50%,#d77a25 50% 75%,#cc5470 75% 100%)}.shade-swatch-auto.on{outline-color:#8a8399}.editor-screen .step-picker button{border-radius:12px;padding:12px 14px;transition:border-color .12s,background .12s}.editor-screen .step-picker button:hover{transform:none;border-color:var(--operation)}.editor-screen .step-picker .step-check{display:grid;width:21px;height:21px;place-items:center;border:1.5px solid #d6cee4;border-radius:6px;background:#fff;color:#fff}.editor-screen .step-picker button.chosen .step-check{border-color:var(--operation);background:var(--operation)}.qp{display:flex;flex-direction:column;gap:12px;width:100%;height:100%;margin:0}.qp-frame-label{display:flex;align-items:center;gap:7px;color:#8a8399;font-size:.74rem;font-weight:800}.qp-frame-label span{color:#34b37a;font-size:.55rem}.qp-phone{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:14px;border-radius:28px;background:#2b2740;box-shadow:0 22px 44px #2b27404d}.qp-notch{width:78px;height:6px;margin:3px auto 12px;border-radius:99px;background:#ffffff38}.qp-screen{display:flex;flex-direction:column;flex:1;min-height:0;padding:20px 18px 16px;border-radius:20px;background:#fffdfa}.wp-num{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--operation-soft);color:var(--operation);font-size:.78rem;font-weight:900}.qp-empty-problem{flex:1;display:grid;place-items:center;padding:24px;color:#a29aae;font-size:.86rem;text-align:center}.qp-foot{margin:0;color:#a49dad;font-size:.74rem;text-align:center}.card-memberships{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.membership-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;background:var(--operation-soft, #f1edff);color:var(--operation, #6748d1);font-size:.69rem;font-weight:800}.membership-tag.none{border:1px dashed #ded7e6;background:transparent;color:#a29aae}.path-head{display:grid;gap:6px;padding-bottom:14px;border-bottom:1px solid #f0ebf4}.path-head strong{font-family:Fraunces,Georgia,serif;font-size:1.15rem;color:#2f2b40}.path-title{display:flex;align-items:center;gap:9px}.path-title-icon{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.path-head p{margin:0;color:#8a8399;font-size:.82rem;line-height:1.4}.path-badge{justify-self:start;margin-top:2px;padding:4px 10px;border-radius:99px;background:var(--operation-soft);color:var(--operation);font-size:.72rem;font-weight:800}.path-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;margin:14px 0 0;padding:2px;overflow-y:auto;list-style:none}.path-step{display:flex;align-items:center;gap:10px;padding:11px 10px 11px 11px;border:1px solid #eee8f0;border-radius:13px;background:#fff;cursor:grab;transition:border-color .12s,box-shadow .12s,opacity .12s}.path-step:hover{border-color:var(--operation);box-shadow:0 4px 14px #2c233e12}.path-step.dragging{opacity:.45;border-color:var(--operation);border-style:dashed;box-shadow:none;cursor:grabbing}.path-num{flex:0 0 auto;display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:var(--operation-soft);color:var(--operation);font-family:DM Mono,monospace;font-size:.82rem;font-weight:500}.path-info{flex:1;min-width:0;display:grid;gap:1px}.path-info strong{overflow:hidden;color:#2f2b40;font-size:.88rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.path-info small{color:#a29aae;font-size:.7rem;font-weight:700}.path-state{flex:0 0 auto;display:inline-flex;align-items:center;color:#bcb5c5}.path-state em{padding:3px 8px;border-radius:99px;background:#eaf7f0;color:#2f9166;font-size:.64rem;font-style:normal;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.path-grip,.path-remove{flex:0 0 auto;width:26px;height:26px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#bcb5c5}.path-grip{cursor:grab}.path-grip:hover,.path-remove:hover{transform:none;background:#f4f0f8;color:#6748d1}.path-grip:focus-visible{outline:2px solid var(--operation);outline-offset:1px}.path-remove:hover{background:#fff0f2;color:#c0415f}.library-list .library-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e9e4df;border-radius:13px;background:#fffdfa;text-decoration:none;color:inherit;transition:border-color .13s,box-shadow .13s}.library-card:hover{border-color:#cfc3f3;box-shadow:0 8px 20px #2c233e12}.library-card-body{flex:1;min-width:0}.library-card:hover h2{color:#6748d1}.library-edit-hint{flex:0 0 auto;color:#a29aae;font-size:.78rem;font-weight:800}.library-card:hover .library-edit-hint{color:#6748d1}.empty-link{display:block;text-decoration:none;color:inherit;transition:border-color .13s,background .13s}.empty-link:hover{border-color:#b9a8ef;background:#fbf9ff}.empty-link h2{color:#26233a}@media(max-width:980px){.editor-body{grid-template-columns:1fr}.editor-aside{position:static;height:auto;display:block;padding:4px clamp(16px,4vw,44px) 48px}.editor-aside .qp{height:auto}.editor-aside .qp-screen{min-height:60vh}.editor-canvas{padding-bottom:20px}}@media(max-width:560px){.editor-ghost{padding:8px 10px}}.print-sheet{display:none}@media print{.editor-bar,.editor-body{display:none!important}.editor-screen{display:block;min-height:0;background:#fff}.print-sheet{display:block;color:#000;font-family:Nunito Sans,Arial,sans-serif}.print-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid #000}.print-head h1{margin:0;font-family:Fraunces,Georgia,serif;font-size:22pt}.print-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:10.5pt}.print-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 22px;margin:0;padding:0;list-style:none}.print-problem{display:grid;grid-template-columns:auto 1fr;gap:8px;break-inside:avoid;page-break-inside:avoid}.pp-num{font-size:11pt;font-weight:700}.pp-stack{display:grid;justify-items:end;min-width:62px;font-family:DM Mono,Courier New,monospace;font-variant-numeric:tabular-nums;font-size:15pt;line-height:1.25}.pp-stack b{font-weight:600}.pp-stack i{width:100%;height:2px;margin-top:2px;background:#000}.pp-answer{height:30px}@page{margin:1.5cm}}@media(max-width:560px){.editor-crumb{display:none}.editor-bar{grid-template-columns:1fr auto}.editor-bar-actions{gap:10px}.doc-sheet{padding:26px 20px}}.copy-link-button{display:inline-flex;align-items:center;gap:8px}.student-page{display:block;overflow:clip;min-height:100dvh;padding:110px 24px 70px}.student-home{position:relative;z-index:1;width:min(var(--content-width),100%);margin:0 auto}.student-sign-out{position:absolute;z-index:2;top:30px;right:clamp(26px,6vw,76px)}.student-sign-out button{width:auto;margin:0;padding:9px 13px;border:1px solid #ded6ec;border-radius:10px;background:#fffdfa;box-shadow:none;color:#6748d1;font-size:.82rem}.student-sign-out button:hover{border-color:#7456e8;transform:none}.student-greeting{margin-bottom:34px}.student-greeting h1{margin:6px 0 7px}.student-greeting p:not(.eyebrow){margin:0;color:#77728c;font-weight:800}.student-home section+section{margin-top:42px}.student-section-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:16px}.student-section-heading h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.5rem}.student-section-heading p{margin:0;color:#81799a;font-size:.88rem}.student-empty{margin:0;padding:30px;border:1px dashed #d8d1e4;border-radius:15px;background:#fffdfa;color:#77728c;text-align:center}.assigned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.assigned-card{padding:22px;border:1px solid #e9e4df;border-radius:16px;background:#fffdfa;box-shadow:0 8px 20px #2c233e0d}.assigned-card.attempt-waiting{box-shadow:none;opacity:.82}.assigned-symbol{display:grid;width:44px;height:44px;place-items:center;margin-bottom:14px;border-radius:12px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1);font-family:Fraunces,Georgia,serif;font-size:1.5rem}.assigned-card h3{margin:0 0 5px;font-family:Fraunces,Georgia,serif;font-size:1.15rem}.assigned-path{margin:0 0 3px;color:var(--operation, #6748d1);font-size:.78rem;font-weight:900}.assigned-meta{margin:0;color:#81799a;font-size:.82rem}.start-quiz{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px 14px;border-radius:11px;background:var(--operation, #7456e8);color:#fff;font-size:.88rem;font-weight:900;text-decoration:none;transition:transform .15s}.start-quiz:hover{transform:translateY(-2px)}.waiting-for-release{display:flex;align-items:center;justify-content:center;gap:7px;margin:16px 0 0!important;padding:12px 14px;border-radius:11px;background:#eeeae6;color:#706977!important;font-size:.82rem!important;font-weight:900}.history-list{overflow:hidden;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.history-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid #eee9e5}.history-row:first-child{border-top:0}.history-symbol{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1);font-family:Fraunces,Georgia,serif;font-size:1.15rem}.history-name strong{display:block}.history-name small{display:block;margin-top:2px;color:#81799a;font-size:.75rem}.history-score{color:#4d399b;font-family:DM Mono,monospace;font-weight:500}.history-badge{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:6px 9px;background:#f4f1ec;color:#81799a;font-size:.75rem;font-weight:900;white-space:nowrap}.history-badge.passed{background:#e7f6ec;color:#2f7d4f}a.history-row{grid-template-columns:auto 1fr auto auto auto;color:inherit;text-decoration:none}a.history-row:hover{background:#faf7f3}a.history-row:hover .history-name strong{color:#5439bb}.history-open{color:#a49ba9}.student-review-head{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:18px 20px;border:1px solid #e9e4df;border-radius:15px;background:#fffdfa}.student-review-head h1{margin:0;font-size:clamp(1.35rem,3.5vw,1.8rem)}.student-review-head p{margin:4px 0 0;color:#81799a;font-size:.82rem}.student-review-head .results-score{margin:0 0 0 auto}.student-review-head .results-score strong{font-size:2.2rem}.student-review-head .results-score small{font-size:1.1rem}@media(max-width:560px){.student-page{padding:96px 18px 60px}.history-row{grid-template-columns:auto 1fr auto}.history-badge{grid-column:2 / -1;justify-self:start}}.quiz-page{display:block;overflow:clip;min-height:100dvh;padding:40px 24px 120px}.quiz-sheet{width:min(760px,100%);margin:0 auto;text-align:left}.quiz-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:26px}.quiz-head h1{margin:6px 0 0;font-size:clamp(1.8rem,5vw,2.4rem)}.quiz-head .eyebrow{color:var(--operation, #81799a)}.quiz-clock{display:inline-flex;align-items:center;gap:7px;border-radius:11px;padding:9px 13px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1);font-family:DM Mono,monospace;font-size:1.05rem;font-weight:500}.quiz-clock.low{background:#fdeceb;color:#c0392b}.quiz-progress{color:#81799a;font-size:.8rem;font-weight:800}.quiz-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}.quiz-problem{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:14px;border:1px solid #e9e4df;border-radius:14px;background:#fffdfa}.quiz-num{display:grid;width:21px;height:21px;place-items:center;border-radius:7px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1);font-size:.68rem;font-weight:900}.quiz-stack{display:grid;justify-items:end;font-family:DM Mono,monospace;font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1.15}.quiz-stack i{width:100%;height:2px;margin-top:5px;background:#26233a}.quiz-answer{grid-column:2;width:100%;margin-top:8px;padding:9px;border:1px solid #dcd6e1;border-radius:9px;font-family:DM Mono,monospace;font-size:1.2rem;letter-spacing:0;text-align:right}.quiz-answer:focus{border-color:var(--operation, #7456e8);box-shadow:0 0 0 3px var(--operation-soft, #e8e2ff);outline:0}.quiz-grid.one-at-a-time{grid-template-columns:1fr;justify-items:center}.quiz-grid.one-at-a-time .quiz-problem:not(.showing){display:none}.quiz-grid.one-at-a-time .quiz-problem{width:min(420px,100%);gap:16px;padding:34px 30px}.quiz-grid.one-at-a-time .quiz-num{width:28px;height:28px;border-radius:9px;font-size:.82rem}.quiz-grid.one-at-a-time .quiz-stack{font-size:2.6rem}.quiz-grid.one-at-a-time .quiz-answer{margin-top:14px;padding:14px;font-size:1.8rem}.quiz-back{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0;padding:13px 20px;border:1px solid #e0dbe8;border-radius:12px;background:#fff;box-shadow:none;color:#6b6479;font-size:.95rem}.quiz-back:hover:not(:disabled){transform:none;border-color:var(--operation, #6748d1);color:var(--operation, #6748d1)}.quiz-back:disabled{cursor:not-allowed;opacity:.4}.quiz-foot{position:fixed;z-index:3;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:12px 24px;border-top:1px solid #e9e4df;background:#fffdfaf2}.quiz-foot-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;width:min(760px,100%);gap:10px 16px}.quiz-foot-status{display:flex;align-items:center;gap:12px;min-width:0}.quiz-foot-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.quiz-foot-note{color:#81799a;font-size:.84rem;font-weight:800}.hand-in{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;margin:0;padding:13px 26px;border-radius:12px;font-size:.95rem}.hand-in:disabled{cursor:not-allowed;opacity:.5;transform:none}.quiz-results{position:relative;z-index:1;width:min(460px,100%);margin:40px auto 0;padding:42px;border:1px solid #e9e4df;border-radius:18px;background:#fffdfa;box-shadow:0 18px 50px #2c233e14;text-align:center}.results-badge{display:grid;width:68px;height:68px;place-items:center;margin:0 auto 20px;border-radius:20px;background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.quiz-results h1{margin:0 0 18px;font-size:clamp(1.7rem,5vw,2.2rem)}.results-score{display:grid;justify-items:center;gap:3px;margin-bottom:16px}.results-score strong{color:var(--operation, #6748d1);font-family:Fraunces,Georgia,serif;font-size:3.2rem;line-height:1}.results-score small{font-size:1.5rem;opacity:.55}.results-score span{color:#81799a;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.results-note{margin:0 0 8px;color:#77728c;line-height:1.55}.results-home{display:inline-flex;align-items:center;gap:9px;margin-top:20px;color:#6748d1;font-weight:900;text-decoration:none}.results-home:hover{text-decoration:underline}.study-list{margin:4px 0 16px;padding:16px 18px;border:1px solid #f0e2d6;border-radius:14px;background:#fff8f1;text-align:left}.study-list h2{margin:0 0 10px;color:#8a5a2b;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.study-list p{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin:0;padding:7px 0;border-top:1px solid #f3e6da}.study-list p:first-of-type{border-top:0}.study-list b{color:#26233a;font-size:1.08rem;font-weight:800}.study-list span{color:#8d8399;font-size:.84rem}@media(max-width:560px){.quiz-page{padding:28px 16px 150px}.quiz-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.quiz-results{padding:32px 24px}.quiz-foot{padding:10px 16px}.quiz-foot-status{gap:9px}.quiz-clock{padding:7px 11px;font-size:.98rem}}.editor-bar-quiz{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;padding-inline:clamp(14px,2vw,24px)}.editor-bar-quiz .bar-toggle{padding:7px 10px;gap:6px;font-size:.78rem}.editor-bar-quiz .editor-ghost{padding:8px 11px;font-size:.78rem}.editor-bar-quiz .editor-save{padding:9px 15px;font-size:.82rem}.editor-bar-quiz .editor-bar-actions{gap:9px}.bar-history{display:flex;align-items:center;gap:4px;flex:0 0 auto}.bar-icon-button{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border:1px solid #e0dbe8;border-radius:9px;background:#fff;box-shadow:none;color:#6b6479}.bar-icon-button:hover:not(:disabled){transform:none;border-color:var(--operation, #6748d1);color:var(--operation, #6748d1)}.bar-icon-button:disabled{cursor:default;opacity:.38}.bar-icon-button.on{border-color:var(--operation, #6748d1);background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.bar-settings{margin-left:auto}.editor-body-picker{grid-template-columns:minmax(0,330px) minmax(0,1fr)}.editor-side{position:sticky;top:61px;align-self:start;max-height:calc(100vh - 61px);overflow-y:auto;padding:clamp(20px,3vw,34px) 0 24px clamp(16px,2.5vw,30px)}.editor-body-picker .doc-sheet{width:min(var(--content-width),100%)}.editor-body-picker .editor-canvas{padding-top:clamp(20px,3vw,36px)}.bar-title-row{display:flex;align-items:center;gap:9px;min-width:0;flex:0 1 auto}.bar-title{width:100%;margin:0;padding:6px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#26233a;font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.03em;text-align:left}.bar-title::placeholder{color:#cbc4d3}.bar-title:hover{background:#faf8fd}.bar-title:focus{outline:0;border-color:#e4dcf0;background:#f8f5ff;box-shadow:none}.bar-title.invalid{border-color:#e0708a;background:#fff4f6}.bar-settings{display:flex;align-items:center;gap:9px;flex:0 0 auto}.stepper-compact{padding:3px;border-radius:11px}.stepper-compact button{width:26px;height:26px;border-radius:8px}.stepper-compact b{min-width:52px;font-size:.95rem}.bar-toggle{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0;padding:8px 12px;border:1px solid #e0dbe8;border-radius:11px;background:#fff;box-shadow:none;color:#6b6479;font-size:.8rem;font-weight:800}.bar-toggle:hover{transform:none;border-color:var(--operation, #6748d1);color:#4d399b}.bar-toggle.on{border-color:var(--operation, #6748d1);background:var(--operation-soft, #eee9ff);color:var(--operation, #6748d1)}.bar-popover-wrap{position:relative}.bar-popover{position:absolute;z-index:31;top:calc(100% + 8px);right:0;width:min(330px,80vw);padding:13px;border:1px solid #e6dfed;border-radius:15px;background:#fff;box-shadow:0 18px 44px #2c233e2b}.bar-popover .doc-note{margin:0}.bar-popover .doc-inline-input{margin-top:9px}.draft-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:18px;padding:10px 14px;border:1px solid #ded6ec;border-radius:12px;background:#f7f4ff;color:#4d399b;font-size:.84rem;font-weight:700}.draft-note button{width:auto;margin:0 0 0 auto;padding:5px 10px;border:1px solid #ded6ec;border-radius:8px;background:#fff;box-shadow:none;color:#6b6479;font-size:.78rem;font-weight:800}.draft-note button:hover{transform:none;border-color:#7456e8;color:#4d399b}.draft-note .draft-dismiss{display:grid;width:26px;height:26px;margin-left:0;padding:0;place-items:center;border-color:transparent;background:transparent;color:#8a8399}.draft-note .draft-dismiss:hover{border-color:transparent;background:#fff;color:#4d399b}.bar-history .bar-toggle:disabled{cursor:default;opacity:.38}.sheet-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}.sheet-head .doc-eyebrow,.sheet-head .doc-summary{margin:0}.sheet-hint{margin:20px 0 14px;color:#a49dad;font-size:.82rem;font-weight:700}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:13px;margin:0;padding:2px;list-style:none}.sheet-tile{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:96px;padding:14px 10px 14px 14px;border:1px solid #eee8f0;border-radius:15px;background:#fff;cursor:grab;transition:border-color .12s,box-shadow .12s,opacity .12s}.sheet-tile:hover{border-color:var(--operation, #6748d1)}.sheet-tile.selected{border-color:var(--operation, #6748d1);background:var(--operation-soft, #eee9ff);box-shadow:0 0 0 2px var(--operation-soft, #eee9ff)}.sheet-tile.dragging{opacity:.45;border-style:dashed;border-color:var(--operation, #6748d1);box-shadow:none;cursor:grabbing}.sheet-tile.faulty{border-color:#e0708a;box-shadow:0 0 0 2px #fff0f2}.sheet-tile .wp-num{align-self:start}.sheet-fields{display:grid;grid-template-columns:auto auto;justify-content:end;align-items:center;gap:1px 5px}.sheet-operand,.sheet-operand-static{grid-column:2;width:68px;margin:0;padding:1px 5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#26233a;font-family:DM Mono,monospace;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:500;letter-spacing:0;line-height:1.2;text-align:right}.sheet-operand:hover{background:#f6f2fc}.sheet-operand:focus{outline:0;border-color:var(--operation, #6748d1);background:#fff;box-shadow:0 0 0 2px var(--operation-soft, #eee9ff)}.sheet-op,.sheet-op-static{grid-column:1;width:auto;margin:0;padding:1px 4px;border:1px solid transparent;border-radius:8px;background:transparent;box-shadow:none;color:var(--operation, #6748d1);font-family:DM Mono,monospace;font-size:1.4rem;font-weight:500;line-height:1.2;text-align:center;appearance:none;-webkit-appearance:none;cursor:pointer}.sheet-op:hover{transform:none;background:#f6f2fc}.sheet-op:focus-visible{outline:0;border-color:var(--operation, #6748d1);background:#fff;box-shadow:0 0 0 2px var(--operation-soft, #eee9ff)}.sheet-fields i{grid-column:1 / -1;width:100%;height:2px;margin-top:5px;border-radius:2px;background:#dcd4e6}.sheet-grip,.sheet-remove{width:30px;height:30px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;box-shadow:none;color:#c3bbd0}.sheet-grip{align-self:center;cursor:grab}.sheet-remove{position:absolute;top:5px;right:5px;opacity:0;pointer-events:none}.sheet-tile:hover .sheet-remove,.sheet-tile.selected .sheet-remove,.sheet-remove:focus-visible{opacity:1;pointer-events:auto}.sheet-grip:hover,.sheet-remove:hover{transform:none;background:#f4f0f8;color:#6748d1}.sheet-remove:hover{background:#fff0f2;color:#c0415f}.sheet-grip:focus-visible{outline:2px solid var(--operation, #6748d1);outline-offset:1px}.sheet-grid.previewing .sheet-tile{opacity:.34}.sheet-tile.pending{opacity:1;border-color:var(--operation, #6748d1);border-style:dashed;background:var(--operation-soft, #eee9ff);cursor:default}.sheet-tile.pending .sheet-operand-static{color:var(--operation, #6748d1)}.sheet-tile.pending .sheet-fields i{background:var(--operation, #6748d1);opacity:.35}.sheet-add{display:grid}.sheet-add button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:104px;margin:0;padding:12px;border:1px dashed #d8d1e4;border-radius:15px;background:transparent;box-shadow:none;color:#8a8399;font-size:.88rem;font-weight:800}.sheet-add button:hover{transform:none;border-color:var(--operation, #6748d1);background:#fbf9fd;color:var(--operation, #6748d1)}.sheet-empty{display:grid;justify-items:center;gap:7px;width:100%;margin:22px 0 0;padding:60px 24px;border:1px dashed #d8d1e4;border-radius:15px;background:transparent;box-shadow:none;color:#a29aae}.sheet-empty:hover{transform:none;border-color:#7456e8;background:#fbf9fd}.sheet-empty strong{color:#4c465c;font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600}.sheet-empty small{color:#a29aae;font-size:.92rem;font-weight:400}.ff-panel{padding:18px;border:1px solid #e6dfed;border-radius:16px;background:#fffdfa;box-shadow:0 10px 26px #2c233e0f}.ff-title{margin:0 0 4px;color:#2f2b40;font-family:Fraunces,Georgia,serif;font-size:1.1rem;font-weight:600}.ff-label{display:flex;align-items:baseline;gap:8px;margin:15px 0 8px;color:#8a8399;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ff-label:first-child{margin-top:0}.ff-family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:7px}.ff-family{width:100%;height:46px;margin:0;padding:0;display:grid;place-items:center;border:1px solid #e7e1ea;border-radius:11px;background:#fff;box-shadow:none;color:#4c465c;font-family:Fraunces,Georgia,serif;font-size:1.1rem;font-weight:700}.ff-family:hover{transform:none;border-color:var(--operation)}.ff-family.on{border-color:var(--operation);background:var(--operation-soft);color:var(--operation)}.ff-swap{display:inline-flex;align-items:center;gap:5px;width:auto;margin:0 0 0 auto;padding:4px 9px;border:1px solid #e6dfed;border-radius:999px;background:#fff;box-shadow:none;color:#6b6479;font-family:DM Mono,monospace;font-size:.74rem;font-weight:500;letter-spacing:0;text-transform:none}.ff-swap:hover{transform:none;border-color:var(--operation);color:var(--operation)}.ff-swap[aria-pressed=true]{border-color:var(--operation);background:var(--operation-soft);color:var(--operation)}.ff-readout{margin-left:auto;color:var(--operation);font-family:DM Mono,monospace;font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:none}.ff-line{position:relative;height:52px}.ff-line-track{position:absolute;top:11px;left:9px;right:9px;height:6px;border-radius:99px;background:#ece6f2}.ff-line-fill{position:absolute;top:0;bottom:0;border-radius:99px;background:var(--operation)}.ff-line-input{position:absolute;top:0;left:0;width:100%;height:28px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;appearance:none;-webkit-appearance:none;pointer-events:none}.ff-line-input:focus{outline:0;border:0;box-shadow:none}.ff-line-input.lift{z-index:3}.ff-line-input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border:2px solid var(--operation);border-radius:50%;background:#fff;box-shadow:0 1px 4px #2c233e40;cursor:grab}.ff-line-input::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border:2px solid var(--operation);border-radius:50%;background:#fff;box-shadow:0 1px 4px #2c233e40;cursor:grab}.ff-line-input:active::-webkit-slider-thumb{cursor:grabbing}.ff-line-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--operation-soft)}.ff-line-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--operation-soft)}.ff-line-ticks{position:absolute;top:31px;left:0;right:0;display:flex;justify-content:space-between}.ff-line-ticks span{width:18px;color:#bcb5c5;font-family:DM Mono,monospace;font-size:.72rem;text-align:center}.ff-line-ticks span.on{color:var(--operation);font-weight:500}.ff-actions{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #efeaf2}.ff-count{margin:0 auto 0 0;color:var(--operation);font-size:.8rem;font-weight:800}.ff-idle{margin:0;color:#a29aae;font-size:.8rem;line-height:1.4}.ff-insert{flex:0 0 auto}.ff-actions .editor-save:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1100px){.editor-bar-quiz{flex-wrap:wrap}.bar-title-row{order:-1;flex:1 0 100%}.bar-settings{margin-left:0}}@media(max-width:960px){.editor-body-picker{grid-template-columns:minmax(0,1fr)}.editor-side{position:static;max-height:none;overflow:visible;padding:22px clamp(16px,4vw,44px) 0}.editor-body-picker .editor-canvas{padding-top:20px}}.toast-stack{position:fixed;z-index:60;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 36px))}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px 13px 13px 14px;border:1px solid #e6dfed;border-radius:14px;background:#fffdfa;box-shadow:0 16px 40px #2c233e38;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-mark{display:grid;width:24px;height:24px;place-items:center;border-radius:8px}.toast-body{min-width:0;display:grid;gap:3px}.toast-body strong{color:#26233a;font-size:.88rem;font-weight:800;line-height:1.35}.toast-body small{color:#77728c;font-size:.8rem;line-height:1.45}.toast-close{width:26px;height:26px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#b3abbf}.toast-close:hover{transform:none;background:#f4f0f8;color:#4c465c}.toast-error{border-color:#f0c2cc;background:#fffafb}.toast-error .toast-mark{background:#fff0f2;color:#c0415f}.toast-success .toast-mark{background:#e8f5e9;color:#37723e}@media(max-width:560px){.toast-stack{right:12px;left:12px;bottom:12px;width:auto}}.modal-backdrop{position:fixed;z-index:40;inset:0;background:#26233a57}.modal-close{width:28px;height:28px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#b3abbf}.modal-close:hover{transform:none;background:#f4f0f8;color:#4c465c}.import-dialog{position:fixed;z-index:41;overflow:hidden;top:50%;left:50%;display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px));max-height:min(86vh,780px);transform:translate(-50%,-50%);border:1px solid #e6dfed;border-radius:18px;background:#fffdfa;box-shadow:0 26px 64px #2c233e47}.import-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px 20px;border-bottom:1px solid #efeaf2}.import-head .modal-close{margin-left:auto}.import-head h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:600}.import-body{flex:1;min-height:0;overflow-y:auto;padding:18px 20px}.import-drop{display:grid;justify-items:center;gap:7px;padding:26px 20px;border:1px dashed #d8d1e4;border-radius:14px;background:#fbf9fd;color:#a29aae;text-align:center;transition:border-color .12s,background .12s}.import-drop.on{border-color:#7456e8;background:#f4f0ff;color:#6748d1}.import-drop strong{color:#4c465c;font-size:.95rem;font-weight:800}.import-drop small{color:#a29aae;font-size:.78rem}.import-drop .ghost-btn{margin-top:2px}.import-list{margin-top:0}.import-list-head{margin:0;color:#8a8399;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.import-list-head-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.import-add-more{margin-left:auto;padding:6px 11px;font-size:.76rem}.import-dragover{position:absolute;z-index:2;inset:0;display:grid;place-items:center;border:2px dashed #7456e8;border-radius:18px;background:#f4f0ffed;color:#4d399b;pointer-events:none}.import-dragover strong{font-family:Fraunces,Georgia,serif;font-size:1.15rem}.import-item{margin-bottom:10px;padding:12px 13px;border:1px solid #ece6f0;border-radius:13px;background:#fff}.import-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.import-item-head strong{color:#26233a;font-size:.92rem}.import-item-head small{color:#a29aae;font-size:.74rem}.import-kind{padding:3px 8px;border-radius:999px;background:#f1edff;color:#6748d1;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.import-drop-item{width:24px;height:24px;margin:0 0 0 auto;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;box-shadow:none;color:#bcb5c5}.import-drop-item:hover{transform:none;background:#fff0f2;color:#c0415f}.import-check{display:flex;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;color:#4c465c;font-size:.85rem;cursor:pointer}.import-check:hover{background:#faf8fd}.import-check input{width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:#6748d1;cursor:pointer}.import-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-check em{margin-left:auto;flex:0 0 auto;color:#a29aae;font-family:DM Mono,monospace;font-size:.74rem;font-style:normal}.import-path-check{margin-top:8px;color:#4d399b;font-weight:700}.import-choose{margin:9px 0 2px;padding:0 4px;color:#4d399b;font-size:.78rem;font-weight:800}.import-quizzes{margin-top:4px;padding-left:10px;border-left:2px solid #f1edf7}.import-count{margin:0;padding:6px 4px;color:#77728c;font-size:.85rem}.import-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;border-top:1px solid #efeaf2}.import-summary{flex:1 1 auto;min-width:0;margin:0 auto 0 0;color:#77728c;font-size:.82rem;font-weight:700}.import-actions .editor-ghost,.import-actions .editor-save{flex:0 0 auto}.import-actions .editor-save:disabled{cursor:not-allowed;opacity:.5}.site-footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;padding:0 16px;text-align:center}.site-footer a{color:#8a8399;font-size:.85rem;font-weight:700;text-decoration:none}.site-footer a:hover{color:#6748d1;text-decoration:underline}.site-footer-brand{display:flex;align-items:center;gap:8px}.site-footer-brand img{flex:0 0 auto}main.with-footer{padding-bottom:88px}main.with-footer .site-footer{position:absolute;right:0;bottom:26px;left:0}main.landing-page{display:block;width:100%;min-height:100vh;overflow:visible;padding:0;background:#fffdfa}main.landing-page:before,main.landing-page:after{display:none}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1160px,calc(100% - 48px));margin:auto;padding:23px 0}.landing-brand{display:flex;align-items:center;gap:9px;color:#26233a;font-size:1.18rem;font-weight:900;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}.landing-header nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,30px)}.landing-header nav a{color:#625a76;font-size:.85rem;font-weight:900;text-decoration:none;white-space:nowrap}.landing-header nav a:hover,.landing-privacy a:hover{color:#6748d1;text-decoration:underline}.landing-header nav .landing-sign-in{border:1px solid #ded6ec;border-radius:9px;padding:9px 13px;color:#6748d1}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(10px,3vw,42px);width:min(1160px,calc(100% - 48px));min-height:580px;margin:auto;padding:50px 0 74px}.landing-hero-copy{max-width:530px}.landing-hero-copy .eyebrow{color:#6748d1}.landing-hero h1{margin:15px 0 20px;font-size:clamp(2.9rem,5vw,4.6rem);line-height:1.07;letter-spacing:-.065em}.landing-headline-last{display:block}.landing-lede{max-width:510px;margin:0;color:#625a76;font-size:1.07rem;line-height:1.65}.landing-hero-form{max-width:510px;margin-top:29px;border:1px solid #e9e4df;border-radius:15px;padding:24px;background:#f9f6ff;box-shadow:0 14px 35px #392a5a0d}.landing-cta-note{margin:16px 0 0;color:#81799a;font-size:.83rem}.landing-how{background:#f7f3ed;padding:72px 24px 80px}.landing-section-inner{width:min(1160px,100%);margin:auto}.landing-how h2,.landing-student h2,.landing-privacy h2{margin:9px 0 28px;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,3.2vw,2.7rem);letter-spacing:-.055em;line-height:1.1}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-steps article{border:1px solid #e9e4df;border-radius:14px;padding:25px;background:#fffdfa}.landing-steps article>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#eee9ff;color:#6748d1;font-family:Fraunces,Georgia,serif;font-weight:700}.landing-steps h3{margin:20px 0 8px;font-family:Fraunces,Georgia,serif;font-size:1.28rem}.landing-steps p,.landing-student-copy p:not(.eyebrow),.landing-privacy p:not(.eyebrow){margin:0;color:#625a76;font-size:.95rem;line-height:1.6}.landing-student{width:min(1160px,calc(100% - 48px));margin:auto;padding:78px 0;text-align:center}.landing-student-copy{max-width:760px;margin:auto}.landing-student h2{margin-bottom:15px}.landing-student-copy a{display:inline-flex;align-items:center;gap:6px;margin-top:17px;color:#6748d1;font-size:.9rem;font-weight:900;text-decoration:none}.landing-code-row{display:flex;gap:9px}.landing-code-row input{min-width:0;flex:1;background:#fff}.landing-code-row button{display:flex;align-items:center;justify-content:center;width:auto;flex:0 0 auto;gap:8px;margin:0;padding:13px 16px;white-space:nowrap}.landing-privacy{border-top:1px solid #e9e4df;background:#f7f3ed;padding:60px 24px 48px}.landing-privacy>div{width:min(760px,100%);margin:auto;text-align:center}.landing-privacy h2{margin-bottom:14px}.landing-privacy a{display:inline-flex;align-items:center;gap:6px;margin-top:17px;color:#6748d1;font-size:.9rem;font-weight:900;text-decoration:none}.landing-page>.site-footer{width:100%;padding:20px 16px 30px;background:#f7f3ed}@media(max-width:850px){.landing-hero{grid-template-columns:1fr;gap:0;padding:55px 0 25px}.landing-hero-copy{max-width:650px}.landing-hero .home-illustration{margin-top:20px}.landing-student{gap:25px}}@media(max-width:650px){.landing-header{flex-wrap:wrap;width:calc(100% - 36px);padding:18px 0}.landing-header nav{width:100%;justify-content:space-between;gap:9px}.landing-header nav a{font-size:.78rem}.landing-hero,.landing-student{width:calc(100% - 36px)}.landing-hero{padding-top:50px}.landing-hero h1{font-size:clamp(2.8rem,9vw,3.8rem)}.landing-steps{grid-template-columns:1fr}.landing-how{padding:55px 18px}.landing-student{padding:55px 0}.landing-code-row{flex-wrap:wrap}.landing-code-row input,.landing-code-row button{width:100%}.landing-privacy{padding:50px 18px 35px}}@media(max-width:650px){.landing-header nav{flex-wrap:wrap;justify-content:flex-start;gap:9px 18px}}.doc-page{display:block;min-height:100vh;padding:110px max(24px,calc((100vw - 760px)/2)) 34px;overflow:visible}.doc{position:relative;z-index:1}.doc h1{margin-bottom:10px}.doc .intro{margin-bottom:4px}.doc p{color:#4f4a5e;font-size:.95rem;line-height:1.65}.doc .intro{color:#77728c}.doc .setup-section p{margin:0 0 14px}.doc .setup-section p:last-child{margin-bottom:0}.doc .setup-section a{color:#6748d1;font-weight:700;text-underline-offset:3px}.doc-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.doc-heading img{flex:0 0 auto}.doc-heading h2{margin:0}.doc-promise{margin:0;padding-left:20px;color:#4f4a5e;font-size:.95rem;line-height:1.65}.doc-promise li+li{margin-top:6px}.doc-photo{max-width:480px;margin:26px auto 6px;padding:12px 12px 20px;border:1px solid #e9e4df;border-radius:4px;background:#fff;box-shadow:0 14px 34px #2c233e24;transform:rotate(-1.2deg)}.doc-photo img{display:block;width:100%;background:#f0ecf4}.doc-photo figcaption{padding-top:16px;color:#77728c;font-family:Segoe Script,Bradley Hand,Snell Roundhand,Comic Sans MS,cursive;font-size:1.1rem;text-align:center}.doc-mail{display:inline-block;border-radius:12px;padding:12px 16px;background:#7456e8;box-shadow:0 5px #5439bb;color:#fff!important;font-size:.9rem;font-weight:900;text-decoration:none!important}.doc-page .site-footer{margin-top:34px}@media(max-width:600px){.doc-page{padding-top:96px}.doc-photo{transform:none}}
