/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#25342e;--muted:#718078;--paper:#fffdf8;--cream:#f6f2e8;--line:#e5e2d8;--green:#3d765e;--green-dark:#2c5b47;--coral:#ed846f;--shadow:0 16px 40px #323f361f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background:var(--cream);font-family:var(--font-nunito), "Trebuchet MS", sans-serif;margin:0;font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100vh;display:flex;overflow:hidden}.sidebar{z-index:20;background:#fffdf9;border-right:1px solid #3a49401c;flex-direction:column;flex:0 0 286px;width:286px;height:100vh;padding:24px 20px 18px;display:flex;position:relative}.sidebar-header{justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:11px;margin-bottom:28px;font-size:20px;font-weight:900;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:11px 11px 15px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:1000;display:inline-flex;transform:rotate(-2deg);box-shadow:inset 0 -3px #0000001f}.field-label{color:#77847d;letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:900;display:block}select,input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dbddd6;border-radius:12px;outline:none;transition:all .18s}select{height:44px;padding:0 38px 0 12px;font-weight:800}input{height:46px;padding:0 13px}textarea{resize:vertical;padding:13px;line-height:1.55}select:focus,input:focus,textarea:focus{border-color:#7ca991;box-shadow:0 0 0 4px #4d82681f}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:12px;min-height:42px;padding:0 17px;font-weight:900;transition:transform .15s,box-shadow .15s,background .15s}.primary-button{color:#fff;background:var(--green);box-shadow:0 5px #315f4c,0 9px 18px #2d654c33}.primary-button:hover:not(:disabled){background:#366c56;transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #315f4c}.primary-button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.secondary-button{background:#fff;border:1px solid #d9ddd5;box-shadow:0 2px 5px #323c370d}.secondary-button:hover{background:#f7f7f3}.danger-button{color:#fff;background:#bb554e}.create-class{width:100%;margin:10px 0 24px}.class-heading{justify-content:space-between;align-items:center;margin:0 2px 10px;display:flex}.class-heading>div{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.class-heading small{color:#657169;background:#eef0eb;border-radius:7px;place-items:center;min-width:22px;height:22px;font-size:11px;display:grid}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:900}.student-roster{scrollbar-width:thin;flex:1;min-height:0;margin:0 -8px;padding:0 8px 12px;overflow:auto}.roster-row{border-radius:10px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:4px;min-height:43px;padding:2px 3px 2px 5px;display:grid}.roster-row:hover{background:#f4f3ee}.roster-student-button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:2px 0;display:grid}.roster-name{flex-direction:column;min-width:0;display:flex}.roster-name>span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.roster-name small{color:#9a6a53;font-size:9px;font-weight:900}.roster-row .remove-student{color:#a3aaa5;opacity:0;cursor:pointer;background:0 0;border:0}.roster-row:hover .remove-student,.roster-row .remove-student:focus-visible{opacity:1}.avatar{border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:9px;font-weight:1000;display:inline-grid}.color-0{color:#8a4839;background:#f8c9bc}.color-1{color:#35634d;background:#c6ddcf}.color-2{color:#795e1c;background:#f4dfaa}.color-3{color:#3f5e8b;background:#cdd8ef}.color-4{color:#67447e;background:#dfccec}.color-5{color:#2e6862;background:#bfe3df}.roster-empty{text-align:center;color:#8d9791;padding:24px 0}.empty-smile{border:1px dashed #cbd1ca;border-radius:50%;place-items:center;width:36px;height:36px;margin:auto;font-size:22px;display:grid}.roster-empty p{margin:8px 0;font-size:13px}.class-actions{border-top:1px solid #ecece7;justify-content:center;gap:14px;padding:11px 0 17px;display:flex}.class-actions button{color:#818b85;cursor:pointer;background:0 0;border:0;font-size:11px}.class-actions .danger-link{color:#a55c55}.account{border-top:1px solid #e7e8e2;grid-template-columns:38px 1fr 25px;align-items:center;gap:10px;padding:14px 7px 0;display:grid}.account-avatar{color:#fff;background:#586d7a;border-radius:13px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid}.account>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.account strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account small{color:#8a948e;font-size:10px}.account a,.account-signout{color:#8b948f;font-size:16px;text-decoration:none}.account-signout{cursor:pointer;background:0 0;border:0;padding:4px}.workspace{background:#efede6;flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;position:relative}.control-bar{z-index:8;background:#fffdf8f7;border-bottom:1px solid #434b451f;justify-content:center;align-items:center;gap:14px;min-height:78px;padding:12px 24px;display:flex;position:relative;box-shadow:0 3px 16px #373e390f}.group-stepper{background:#fff;border:1px solid #e0e1dc;border-radius:13px;align-items:center;gap:13px;padding:5px 7px 5px 15px;display:flex}.group-stepper>span{color:#6c7770;font-size:11px;font-weight:800}.group-stepper>div{align-items:center;gap:3px;display:flex}.group-stepper button{color:#58655d;cursor:pointer;background:#f1f2ee;border:0;border-radius:9px;width:31px;height:31px;font-size:18px}.group-stepper strong{text-align:center;width:31px;font-size:16px}.generate-button{min-height:45px;padding:0 23px}.generate-button span{color:#fbdd8e}.theme-button,.layout-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e1dc;border-radius:13px;grid-template-columns:34px 1fr 15px;align-items:center;gap:9px;min-width:208px;height:54px;padding:0 11px;display:grid}.theme-button>span:nth-child(2),.layout-button>span:nth-child(2){flex-direction:column;font-size:12px;font-weight:900;display:flex}.theme-button small,.layout-button small{color:#86908a;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.theme-button b,.layout-button b{color:#8c948f}.layout-button{grid-template-columns:34px 1fr 15px;min-width:166px}.layout-icon{color:#765646;background:#f1dfc8;border-radius:9px;place-items:center;width:34px;height:34px;font-size:19px;display:grid}.theme-swatch{border-radius:9px;width:34px;height:34px;display:block;box-shadow:inset 0 0 0 1px #0000001a}.theme-swatch.cozy{background:linear-gradient(135deg,#eacda4 50%,#a36543 51%)}.theme-swatch.chalk{background:linear-gradient(135deg,#355f51 50%,#a16e47 51%)}.theme-swatch.outdoor{background:linear-gradient(135deg,#acd58c 50%,#98714c 51%)}.theme-swatch.space{background:radial-gradient(circle at 70% 25%,#f8cb68 0 8%,#0000 9%),#343061}.classroom{--scene:#dfcda9;--desk:#a66d45;--desk-edge:#835134;--chair:#6c5441;--card:#fffdf8;isolation:isolate;background-color:var(--scene);background-image:linear-gradient(90deg,#76553014 1px,#0000 1px),linear-gradient(#7655300e 1px,#0000 1px);background-size:54px 54px;flex:1;padding:54px 34px 42px;position:relative;overflow:auto}.theme-chalk .classroom{--scene:#31594d;--desk:#996640;--desk-edge:#754c31;--chair:#583f31;--card:#fff6dc;background-image:radial-gradient(circle at 12% 17%,#ffffff1f 0 1px,#0000 2px),radial-gradient(circle at 84% 78%,#ffffff14 0 1px,#0000 2px);background-size:70px 70px,110px 110px}.theme-outdoor .classroom{--scene:#b6d896;--desk:#a97c4e;--desk-edge:#805c39;--chair:#74573c;--card:#fffdf8;background-image:radial-gradient(#ffffff2e 0 2px,#0000 3px);background-size:32px 29px}.theme-space .classroom{--scene:#242342;--desk:#62658b;--desk-edge:#454965;--chair:#8a8db3;--card:#f9f7f1;background-image:radial-gradient(circle,#ffffffb3 0 1px,#0000 2px),radial-gradient(circle,#ffd5758c 0 1px,#0000 2px);background-size:76px 76px,113px 113px}.size-note{z-index:4;color:#5e655f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);white-space:nowrap;background:#ffffffbd;border-radius:9px;max-width:90%;margin:0;padding:7px 12px;font-size:11px;font-weight:800;position:absolute;top:13px;left:50%;transform:translate(-50%)}.theme-chalk .size-note,.theme-space .size-note{color:#e9eee8;background:#18221f7a}.scene-decor{z-index:-1;pointer-events:none;opacity:.88;position:absolute}.decor-a{background:#80a66f;border:9px solid #58785c;border-radius:50% 35% 50% 45%;width:52px;height:52px;top:24px;left:25px;box-shadow:12px -5px 0 -6px #638c5c,-7px 10px 0 -5px #a5be79}.decor-b{background:#d88667;border-radius:8px;width:66px;height:42px;bottom:26px;right:35px;transform:rotate(-6deg);box-shadow:inset 0 7px #edaa78,-14px 8px 0 -7px #f0c665}.decor-c{background:#99c5cc;border:7px double #6d93aa;border-radius:50%;width:42px;height:42px;bottom:25px;left:38px;transform:rotate(12deg)}.theme-chalk .decor-a{width:100px;height:40px;box-shadow:none;opacity:.22;background:0 0;border:0;border-top:3px solid #fff;border-bottom:2px solid #fff;border-radius:0;transform:rotate(-7deg)}.theme-outdoor .decor-a{background:#8ebe63;border-color:#5d9658}.theme-outdoor .decor-b{width:56px;height:56px;box-shadow:none;background:radial-gradient(circle at 30% 25%,#fff4af 0 8%,#e48d88 9% 25%,#0000 26%),radial-gradient(circle at 70% 65%,#fff4af 0 8%,#8bbf77 9% 25%,#0000 26%);border-radius:50%}.theme-space .decor-a{background:#bd7fca;border:0;width:65px;height:65px;box-shadow:inset -12px -9px #352c5f66,-18px 8px 0 -11px #efd177}.theme-space .decor-b{background:#e0a966;border-radius:50%;box-shadow:0 0 0 8px #efcd7e24}.theme-space .decor-c{background:#445280;border-color:#8bb7db}.desk-grid{z-index:2;grid-template-columns:repeat(3,minmax(245px,1fr));align-content:center;gap:52px 46px;width:min(1280px,100%);min-height:100%;margin:auto;display:grid;position:relative}.desk-grid.groups-1{grid-template-columns:minmax(360px,610px);justify-content:center}.desk-grid.groups-2{grid-template-columns:repeat(2,minmax(320px,1fr))}.desk-grid.groups-4{grid-template-columns:repeat(2,minmax(320px,510px));justify-content:center}.desk-cluster{border-radius:35px;min-height:244px;padding:24px 20px;transition:background .18s,transform .18s;position:relative}.desk-cluster.drag-over,.desk-cluster.select-target:hover{background:#ffffff40;transform:scale(1.015);box-shadow:0 0 0 3px #ffffff80}.desk-surface{z-index:2;color:#3f2e25;background-color:var(--desk);border:3px solid #5b361f38;border-bottom:9px solid var(--desk-edge);background-image:repeating-linear-gradient(92deg,#ffffff0a 0 2px,#0000 2px 26px);border-radius:42px 42px 38px 38px;flex-direction:column;min-height:196px;padding:16px 18px 18px;display:flex;position:relative;box-shadow:0 17px 20px #3931272e,inset 0 3px #ffffff29}.theme-space .desk-surface{color:#f5f2ff;background-image:linear-gradient(135deg,#ffffff14,#0000);border-color:#c2cbff40}.desk-title{color:#37251abd;justify-content:space-between;align-items:baseline;margin:0 8px 13px;display:flex}.theme-space .desk-title{color:#ffffffd1}.desk-title span{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:1000}.desk-title small{font-size:10px;font-weight:800}.desk-students{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:8px;display:grid}.student-card{text-align:left;color:#34433c;background:var(--card);cursor:grab;border:1px solid #43392e1f;border-radius:11px;grid-template-columns:29px minmax(0,1fr) 10px;align-items:center;gap:8px;min-width:0;min-height:45px;padding:6px 8px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 4px #4c372621,0 7px 10px #2b231d1c}.student-card:hover{transform:translateY(-2px)rotate(-.3deg);box-shadow:0 6px #4c37261f,0 10px 14px #2b231d21}.student-card:active{cursor:grabbing}.student-card>span:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:900;line-height:1.16;overflow:visible}.student-card b{color:#a4aaa4;font-size:13px}.student-card.dragging{opacity:.45;transform:rotate(3deg)scale(1.04)}.student-card.selected{outline:3px solid #f4d483;transform:translateY(-3px)}.desk-empty{color:#ffffffb8;grid-column:1/-1;place-self:center;font-size:12px;font-weight:800}.chair{z-index:1;background:var(--chair);border-bottom:7px solid #261f1b47;border-radius:17px 17px 10px 10px;width:50px;height:44px;position:absolute;box-shadow:0 8px 10px #2c27212e,inset 0 3px #ffffff1c}.chair-top{top:4px;left:calc(50% - 25px)}.chair-bottom{bottom:1px;left:calc(50% - 25px);transform:rotate(180deg)}.chair-left{top:calc(50% - 22px);left:0;transform:rotate(-90deg)}.chair-right{top:calc(50% - 22px);right:0;transform:rotate(90deg)}.empty-state,.no-class-state,.center-message{z-index:2;text-align:center;width:min(470px,100% - 32px);box-shadow:var(--shadow);background:#fffdf8e6;border-radius:24px;margin:auto;padding:34px;position:relative}.empty-state h1,.no-class-state h1,.center-message h1{letter-spacing:-.5px;margin:14px 0 7px;font-size:clamp(22px,3vw,30px);line-height:1.18}.empty-state p,.no-class-state>p:not(.eyebrow){color:var(--muted);margin:0 auto 20px;line-height:1.5}.empty-state .demo-link{color:var(--green);cursor:pointer;background:0 0;border:0;margin:17px auto 0;font-size:12px;font-weight:900;display:block}.empty-illustration{justify-content:center;align-items:end;gap:7px;height:70px;display:flex}.empty-illustration span{background:#aa714d;border-bottom:7px solid #805239;border-radius:18px 18px 8px 8px;width:45px;height:48px;box-shadow:-13px -7px 0 -6px #69825f}.empty-illustration span:nth-child(2){background:#d39465;height:62px}.empty-desks{justify-content:center;align-items:center;gap:7px;height:62px;display:flex}.empty-desks i{background:#b77a50;border:4px solid #8f6044;border-radius:18px;width:69px;height:42px;display:block;box-shadow:0 7px #72503d}.empty-desks i:nth-child(2){transform:translateY(-8px)}.no-class-state{align-self:center}.workspace>.no-class-state{top:50%;transform:translateY(-50%)}.eyebrow{color:var(--coral);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:1000}.schoolhouse{clip-path:polygon(50% 0,100% 35%,91% 35%,91% 100%,9% 100%,9% 35%,0 35%);background:#edb477;border-radius:10px;place-items:end center;width:95px;height:72px;margin:0 auto 21px;display:grid;box-shadow:inset 0 -12px #d18a61,0 8px 16px #543c271f}.schoolhouse span{color:#fff;background:var(--green);place-items:center;width:32px;height:35px;font-size:10px;font-weight:1000;display:grid}.center-message{box-shadow:none;background:0 0;align-self:center;top:50%;transform:translateY(-50%)}.loader{border:4px solid #d6d9d2;border-top-color:var(--green);border-radius:50%;width:42px;height:42px;margin:auto;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.regenerate-nudge{color:#fff;box-shadow:var(--shadow);cursor:pointer;background:#694d43;border:0;border-radius:10px;padding:9px 13px;position:fixed;bottom:20px;left:calc(50% + 143px);transform:translate(-50%)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e262275;place-items:center;padding:18px;animation:.16s fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal{background:#fffdf9;border-radius:20px;width:min(470px,100%);max-height:calc(100vh - 36px);padding:23px;animation:.18s rise;overflow:auto;box-shadow:0 25px 80px #1a221e4d}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.98)}}.modal-title-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title-row h2{margin:0;font-size:21px}.icon-button{color:#6b7770;cursor:pointer;background:#f0f1ed;border:0;border-radius:10px;width:34px;height:34px;font-size:20px}.modal-copy{color:var(--muted);margin:-8px 0 14px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;margin-top:19px;display:flex}.theme-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.theme-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e2dc;border-radius:14px;grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:10px;display:grid;position:relative}.theme-option:hover,.theme-option.active{border-color:#75a18a;box-shadow:0 0 0 3px #4d77601a}.theme-option>span:nth-child(2){flex-direction:column;display:flex}.theme-option strong{font-size:12px}.theme-option small{color:var(--muted);font-size:10px}.theme-option>b{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid;position:absolute;top:6px;right:7px}.theme-preview{border-radius:10px;justify-content:center;align-items:center;gap:3px;width:52px;height:48px;display:flex}.theme-preview i{background:#aa7048;border-radius:4px;width:10px;height:18px;box-shadow:0 3px #00000026}.theme-option.cozy .theme-preview{background:#e7d2aa}.theme-option.chalk .theme-preview{background:#31594d}.theme-option.outdoor .theme-preview{background:#b6d896}.theme-option.space .theme-preview{background:radial-gradient(circle at 15% 20%,#fff 0 1px,#0000 2px),#282747}.theme-option.chalk i{background:#9a6844}.theme-option.outdoor i{background:#a37a4f}.theme-option.space i{background:#76799d}.rules-intro{background:#f5f2e9;border-radius:13px;align-items:center;gap:12px;margin:-7px 0 20px;padding:13px;display:flex}.rules-intro .avatar{width:38px;height:38px;font-size:11px}.rules-intro p{color:#66736c;margin:0;font-size:12px;line-height:1.45}.rules-section-title{text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:1000;display:flex}.rules-section-title small{color:#8b958f;font-size:10px}.rule-list{background:#fff;border:1px solid #e3e4de;border-radius:14px;max-height:min(430px,48vh);overflow:auto}.rule-row{cursor:pointer;border-bottom:1px solid #eeefe9;grid-template-columns:31px 1fr 41px;align-items:center;gap:10px;min-height:50px;padding:7px 11px;display:grid;position:relative}.rule-row:last-child{border-bottom:0}.rule-row:hover{background:#faf9f4}.rule-row>span:nth-child(2){font-size:13px;font-weight:800}.rule-row input{opacity:0;pointer-events:none;position:absolute}.toggle{background:#d9ddd7;border-radius:13px;width:39px;height:23px;transition:all .16s;position:relative;box-shadow:inset 0 1px 2px #2b37301f}.toggle i{background:#fff;border-radius:50%;width:17px;height:17px;transition:all .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #2d373138}.rule-row input:checked+.toggle{background:#c56c5b}.rule-row input:checked+.toggle i{transform:translate(16px)}.rule-row input:focus-visible+.toggle{outline:3px solid #3d765e40}.rules-footnote{color:#7c8781;margin:12px 2px 0;font-size:11px;line-height:1.45}.layouts-header{justify-content:space-between;align-items:center;gap:15px;margin:-7px 0 18px;display:flex}.layouts-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.layouts-header .primary-button{flex:none}.layout-list{flex-direction:column;gap:8px;display:flex}.saved-layout-row{background:#fff;border:1px solid #e2e3dd;border-radius:14px;grid-template-columns:minmax(0,1fr) 35px;align-items:center;gap:5px;padding:5px;display:grid}.saved-layout-row:hover{border-color:#a9bcae;box-shadow:0 4px 12px #323f3612}.saved-layout-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:5px;display:grid}.saved-layout-main>span:last-child{flex-direction:column;min-width:0;display:flex}.saved-layout-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.saved-layout-main small{color:var(--muted);font-size:10px}.saved-layout-preview{background:#e7d4b1;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:3px;height:48px;padding:5px;display:grid}.saved-layout-preview i{color:#fff;background:#9c6948;border-radius:4px;place-items:center;font-size:8px;font-style:normal;font-weight:1000;display:grid}.layout-delete{color:#9a8279;cursor:pointer;background:#f5f2ed;border:0;border-radius:9px;width:31px;height:31px}.layouts-empty{text-align:center;background:#faf9f5;border:1px dashed #d9ddd5;border-radius:14px;padding:31px 20px}.layouts-empty>span{color:#7d604f;background:#f0dfc8;border-radius:12px;place-items:center;width:42px;height:42px;margin:0 auto 10px;font-size:22px;display:grid}.layouts-empty strong{font-size:14px;display:block}.layouts-empty p{color:var(--muted);margin:4px 0 0;font-size:11px}.layout-summary{background:#f5f2e9;border-radius:13px;align-items:center;gap:11px;margin-top:16px;padding:12px;display:flex}.layout-summary>span{color:#765646;background:#ead6bc;border-radius:10px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.layout-summary p{flex-direction:column;margin:0;display:flex}.layout-summary strong{font-size:12px}.layout-summary small{color:var(--muted);font-size:10px}.toast{z-index:120;color:#fff;max-width:360px;box-shadow:var(--shadow);cursor:pointer;background:#4c5f55;border:0;border-radius:12px;align-items:center;gap:20px;padding:13px 15px;display:flex;position:fixed;bottom:22px;right:22px}.toast span{font-size:18px}.mobile-menu,.mobile-close,.sidebar-scrim{display:none}.auth-shell{background:#faf7ef;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.auth-scene{color:#f8f5e9;isolation:isolate;background:#416e5c;flex-direction:column;padding:38px 52px;display:flex;position:relative;overflow:hidden}.auth-scene:before{content:"";z-index:-1;background:radial-gradient(circle at 12% 22%,#ffffff14,#0000 25%),linear-gradient(155deg,#0000 58%,#193b2c59 58%);position:absolute;inset:0}.auth-brand{align-items:center;gap:11px;font-size:19px;font-weight:1000;display:flex}.auth-brand .brand-mark{color:#3e6f59;background:#f7e9c4;box-shadow:inset 0 -3px #d5c49b}.auth-copy{max-width:540px;margin:auto 0 30px}.auth-copy .eyebrow{color:#f6c27e}.auth-copy h1{letter-spacing:-3px;max-width:520px;margin:14px 0 18px;font-size:clamp(42px,5.3vw,73px);line-height:.99}.auth-copy>p:last-child{color:#d9e5dd;max-width:475px;font-size:18px;line-height:1.55}.mini-classroom{justify-content:center;align-items:center;gap:64px;min-height:220px;display:flex;position:relative;transform:perspective(500px)rotateX(12deg)}.mini-desk{background:#b8794d;border-bottom:13px solid #805339;border-radius:50px;width:220px;height:115px;position:relative;box-shadow:0 24px 35px #1c302745}.mini-desk.second{transform:scale(.9)rotate(4deg)}.mini-desk i{background:#f8f3e7;border-radius:13px;width:45px;height:36px;position:absolute;box-shadow:0 5px #23302926}.mini-desk i:first-child{top:24px;left:35px}.mini-desk i:nth-child(2){top:24px;right:35px}.mini-desk i:nth-child(3){bottom:18px;left:35px}.mini-desk i:nth-child(4){bottom:18px;right:35px}.auth-card{place-items:center;padding:34px;display:grid}.auth-form{width:min(400px,100%)}.auth-form h2{letter-spacing:-1.2px;margin:0 0 8px;font-size:35px}.auth-form>p{color:var(--muted);line-height:1.55}.auth-button{justify-content:center;align-items:center;width:100%;min-height:50px;margin:20px 0 18px;text-decoration:none;display:flex}.auth-fields{flex-direction:column;gap:13px;margin-top:24px;display:flex}.auth-fields label{color:#56635c;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:11px;font-weight:900;display:flex}.auth-fields input{letter-spacing:normal;font-size:14px;font-weight:700}.auth-error{background:#fbe9e5;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:800;color:#8d3f3b!important;margin:0!important}.auth-switch{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.auth-switch button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.auth-form .privacy-note{border-top:1px solid #e3e3dc;margin-top:45px;padding-top:18px;font-size:11px}.auth-mobile-mark{margin-bottom:20px;display:none}.recovery-card{text-align:center}.recovery-check{color:#fff;background:var(--green);border-radius:16px;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:24px;font-weight:1000;display:grid;box-shadow:0 6px #315f4c}.recovery-card p{color:var(--muted);line-height:1.55}.recovery-card code{color:#493b32;letter-spacing:.08em;background:#f6eedc;border:1px dashed #b9aa8b;border-radius:12px;margin:22px 0 12px;padding:16px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:900;display:block}.copy-code{width:100%}.auth-loading-shell{background:#faf7ef;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.auth-loading-shell .brand-mark{width:48px;height:48px}.auth-loading-shell .loader{width:30px;height:30px}.auth-loading-shell p{color:var(--muted);margin:0;font-size:12px;font-weight:900}@media (width<=1120px){.desk-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.control-bar{justify-content:flex-start}.theme-button{min-width:175px}.layout-button{min-width:150px}.auth-scene{padding:34px}.mini-classroom{gap:20px;transform:scale(.82)}}@media (width<=820px){.app-shell{overflow:visible}.workspace{height:100vh}.sidebar{transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:18px 0 50px #1f292433}.sidebar.open{transform:translate(0)}.mobile-close{margin-top:-28px;display:block}.sidebar-scrim{z-index:15;background:#1c242061;border:0;display:block;position:fixed;inset:0}.mobile-menu{z-index:12;cursor:pointer;background:#fff;border:1px solid #36423b24;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;position:fixed;top:15px;left:14px;box-shadow:0 4px 14px #27302a1f}.control-bar{min-height:72px;padding-left:67px;overflow-x:auto}.group-stepper>span{display:none}.theme-button,.layout-button{grid-template-columns:34px;width:54px;min-width:54px}.theme-button>span:nth-child(2),.theme-button b,.layout-button>span:nth-child(2),.layout-button b{display:none}.desk-grid,.desk-grid.groups-2,.desk-grid.groups-4{grid-template-columns:repeat(2,minmax(260px,1fr));align-content:start;width:max(100%,580px)}.classroom{padding-left:20px;padding-right:20px}.regenerate-nudge{left:50%}.auth-shell{grid-template-columns:1fr}.auth-scene{display:none}.auth-mobile-mark{display:inline-flex}}@media (width<=580px){.control-bar{flex-wrap:wrap;align-content:center;gap:8px;min-height:128px;padding:12px 12px 12px 65px}.generate-button{order:3;width:100%}.classroom{padding-top:58px}.desk-grid,.desk-grid.groups-1,.desk-grid.groups-2,.desk-grid.groups-4{grid-template-columns:minmax(270px,1fr);gap:42px;width:100%}.desk-cluster{min-height:224px;padding-left:13px;padding-right:13px}.desk-students{grid-template-columns:1fr}.size-note{white-space:normal;text-align:center}.theme-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.auth-card{padding:24px}.auth-form h2{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
