@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-999{padding-left:calc(var(--spacing) * 999)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--page:#e9e8e5;--bg:#fff;--surface:#f3f3f1;--surface-2:#eaeae7;--field:#f3f3f1;--text:#1b1f27;--text-2:#686c73;--text-3:#9b9ea4;--border:#14181f12;--border-strong:#14181f24;--primary:#121826;--primary-hover:#2a3142;--on-primary:#fff;--ring:#12182629;--red:#d9534f;--red-text:#b93c38;--red-bg:#fbeceb;--green-text:#1f7a4a;--green-bg:#e4f3ea;--sand-text:#7a5a12;--sand-bg:#f5eedc;--gray-text:#50545b;--gray-bg:#e8e8e5;--chart:#2a78d6;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23686c73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--cover-0:linear-gradient(135deg, #efe7dc, #f8f4ee);--cover-1:linear-gradient(135deg, #e2e7ed, #f3f5f8);--cover-2:linear-gradient(135deg, #e3eae2, #f3f6f1);--cover-3:linear-gradient(135deg, #ebe4ec, #f6f2f6);--shadow-soft:0 1px 2px #1018280a;--shadow-card:0 1px 2px #1018280a, 0 6px 20px #1018280f;--shadow-pop:0 0 0 1px #1018280d, 0 16px 40px #10182829;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--r-xl:28px;--r-lg:22px;--r-md:16px;--r-sm:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#0d0e10;--bg:#17181b;--surface:#202125;--surface-2:#2a2b30;--field:#202125;--text:#ececee;--text-2:#a2a4aa;--text-3:#6f7278;--border:#ffffff12;--border-strong:#ffffff24;--primary:#f1f0ec;--primary-hover:#fff;--on-primary:#121826;--ring:#ffffff2e;--red-text:#f08a86;--red-bg:#d9534f29;--green-text:#6fd19b;--green-bg:#1f7a4a38;--sand-text:#e7c776;--sand-bg:#a0781e33;--gray-text:#c3c5ca;--gray-bg:#2e2f34;--chart:#3987e5;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a2a4aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--cover-0:linear-gradient(135deg, #2c2721, #221f1b);--cover-1:linear-gradient(135deg, #232931, #1d2126);--cover-2:linear-gradient(135deg, #242b24, #1d221d);--cover-3:linear-gradient(135deg, #2b252c, #211d22);--shadow-soft:0 1px 2px #0000004d;--shadow-card:0 1px 2px #0000004d, 0 6px 20px #00000040;--shadow-pop:0 0 0 1px #ffffff14, 0 16px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--page);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.25}p{margin:0}code{background:var(--surface-2);border-radius:6px;padding:.1em .4em;font-size:85%}hr{border:0;border-top:1px solid var(--border-strong);margin:12px 0}.muted{color:var(--text-2)}.small{font-size:13px}.stack{gap:14px;display:grid}.flex-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}:focus-visible{outline:3px solid var(--ring);outline-offset:2px}button,.button{background:var(--primary);height:40px;color:var(--on-primary);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:550;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}button:hover,.button:hover{background:var(--primary-hover)}button:active,.button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:default;transform:none}button.secondary,.button.secondary{background:var(--bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-soft)}button.ghost,.button.ghost,.icon-button,.menu-item,.text-danger{color:var(--text-2);box-shadow:none;background:0 0}button.secondary:hover,.button.secondary:hover,button.ghost:hover,.button.ghost:hover,.icon-button:hover{background:var(--surface-2);color:var(--text)}button.small{height:32px;padding:0 12px;font-size:13px}button.danger{background:var(--red);color:#fff}button.danger:hover{background:var(--red-text)}.text-danger{color:var(--red-text);justify-self:start}.text-danger:hover{background:var(--red-bg)}.icon-button{border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.add-row{border-radius:var(--r-md);width:100%;height:48px;box-shadow:inset 0 0 0 1.5px var(--border-strong);color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:flex}.add-row:hover{background:var(--bg);color:var(--text)}.task-list~.add-row,.task-list~.type-picker{margin-top:10px}label{color:var(--text-2);gap:6px;font-size:13px;font-weight:500;display:grid}input,textarea,select{border-radius:var(--r-sm);background:var(--field);width:100%;min-height:44px;color:var(--text);font:inherit;border:1px solid #0000;padding:10px 14px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s}select{cursor:pointer;appearance:none;background-image:var(--chevron);background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:42px}@supports (appearance:base-select){select{appearance:base-select}::picker(select){appearance:base-select}select{align-items:center;display:flex}select::picker-icon{display:none}::picker(select){border-radius:var(--r-md);background:var(--bg);color:var(--text);box-shadow:var(--shadow-pop);border:0;max-height:min(60vh,360px);margin-block:6px;padding:6px;overflow-y:auto}select option{cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:6px 12px;font-size:14px;display:flex}select option::checkmark{color:var(--text-2);order:1;margin-left:auto}select option:hover,select option:focus-visible{background:var(--surface);outline:none}select option:checked{font-weight:600}select option:disabled{color:var(--text-3);cursor:default}select optgroup{color:var(--text-3);padding-top:4px;font-size:12px;font-weight:600}select optgroup option{color:var(--text);font-weight:400}select optgroup option:checked{font-weight:600}}textarea{resize:vertical;min-height:88px;line-height:1.5}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--text-3)}input[type=radio],input[type=checkbox]{width:18px;height:18px;min-height:0;box-shadow:none;accent-color:var(--primary);cursor:pointer;border:0;flex:none;margin:0;padding:0}input[type=file]{cursor:pointer;padding:8px;font-size:13px}input[type=file]::file-selector-button{background:var(--primary);color:var(--on-primary);font:inherit;cursor:pointer;border:0;border-radius:10px;margin-right:12px;padding:6px 14px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tags{flex-wrap:wrap;gap:6px;display:flex}.chip,.tag,.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.chip{background:var(--bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-soft)}.tag,.badge,.tag.gray{background:var(--gray-bg);color:var(--gray-text)}.tag.status-draft{background:var(--sand-bg);color:var(--sand-text)}.tag.status-published{background:var(--green-bg);color:var(--green-text)}.tag.status-archived{background:var(--gray-bg);color:var(--gray-text)}.badge{background:var(--green-bg);color:var(--green-text);justify-self:start}.icon-chip{background:var(--bg);width:42px;height:42px;color:var(--text);box-shadow:var(--shadow-soft);border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-chip.small{background:var(--surface);width:32px;height:32px;box-shadow:none}.alert{border-radius:var(--r-sm);overflow-wrap:anywhere;margin:10px 0;padding:12px 16px;font-size:14px}.alert.error{background:var(--red-bg);color:var(--red-text)}.alert.success{background:var(--green-bg);color:var(--green-text)}.callout{border-radius:var(--r-lg);background:var(--surface);align-items:center;gap:16px;margin-top:28px;padding:20px;display:flex}.callout>div{flex:1}.callout p{color:var(--text-2);margin-top:2px;font-size:14px}.callout form{gap:4px;display:grid}.empty-line{border-radius:var(--r-lg);background:var(--surface);color:var(--text-2);text-align:center;padding:28px 20px}.create-panel,.item-controls{position:relative}.create-panel>summary,.item-controls>summary{list-style:none}.create-panel>summary::-webkit-details-marker{display:none}.item-controls>summary::-webkit-details-marker{display:none}.popover{z-index:30;overscroll-behavior:contain;border-radius:var(--r-lg);background:var(--bg);width:min(380px,100vw - 32px);max-height:min(70vh,520px);box-shadow:var(--shadow-pop);color:var(--text);padding:20px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.db-row:nth-last-child(-n+2) .item-controls .popover,.task-item:nth-last-child(-n+2) .task-menu{top:auto;bottom:calc(100% + 8px)}.popover h2{font-size:17px}.create-panel.subtle .popover{left:0;right:auto}.item-controls>summary{width:34px;height:34px;color:var(--text-3);cursor:pointer;border-radius:10px;place-items:center;display:grid}.item-controls>summary:hover,.item-controls[open]>summary{background:var(--surface-2);color:var(--text)}.item-controls .popover{width:290px}.delete-confirm{border-radius:var(--r-sm);background:var(--red-bg);gap:8px;padding:14px;font-size:13px;display:grid}.app-shell{border-radius:var(--r-xl);background:var(--bg);min-height:calc(100vh - 24px);box-shadow:var(--shadow-card);grid-template-columns:224px minmax(0,1fr);margin:12px;display:grid}.sidebar{flex-direction:column;gap:24px;height:calc(100vh - 24px);padding:20px 14px;display:flex;position:sticky;top:12px}.brand{color:var(--text);align-items:center;gap:10px;padding:0 6px;font-size:16px;font-weight:650;display:flex}.brand-mark{background:var(--primary);width:34px;height:34px;color:var(--on-primary);border-radius:10px;flex:none;place-items:center;display:grid}.sidebar nav{gap:4px;display:grid}.sidebar nav>*{min-height:40px;color:var(--text-2);white-space:nowrap;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:550;transition:background .15s;display:flex}.sidebar nav>* svg{flex:none}.sidebar nav a:hover{background:var(--surface);color:var(--text)}.sidebar nav .active{background:var(--surface-2);color:var(--text)}@media (max-width:1100px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{align-items:center;padding:20px 0}.brand{padding:0}.brand-mark{border-radius:14px;width:44px;height:44px}.sidebar nav>*{border-radius:14px;justify-content:center;width:44px;height:44px;padding:0}.sidebar .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.disabled-nav{opacity:.45;cursor:default}.workspace{min-width:0}.topbar{align-items:center;height:72px;padding:0 32px;display:flex}.crumbs{align-items:center;gap:6px;min-width:0;font-size:14px;display:flex;overflow:hidden}.crumbs>a,.crumbs>span[aria-current]{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:240px;padding:6px 14px;overflow:hidden}.crumbs>a{background:var(--surface);color:var(--text-2)}.crumbs>a:hover{background:var(--surface-2);color:var(--text)}.crumbs>span[aria-current]{font-weight:600}.crumb-sep{color:var(--text-3)}.main-content{width:100%;max-width:900px;margin:0 auto;padding:8px 40px 80px}.main-content.wide{max-width:1200px}.main-content.wide:has(.lesson-layout){max-width:1320px;margin-left:0;padding-left:32px}.main-content.wide:has(.library-head){max-width:none;padding-left:32px;padding-right:32px}.main-content.wide:has(.book-layout){max-width:none;padding-left:32px;padding-right:32px}.main-content:has(.people-head){max-width:none;padding-left:32px;padding-right:32px}.main-content:has(.homework-head){max-width:none;padding-left:32px;padding-right:32px}.main-content:has(.settings-page){max-width:none;padding-left:32px;padding-right:32px}.main-content:has(.live-board){max-width:none;padding-left:32px;padding-right:32px}@media (max-width:760px){.main-content:has(.people-head){padding-left:16px;padding-right:16px}.main-content:has(.homework-head){padding-left:16px;padding-right:16px}.main-content:has(.settings-page){padding-left:16px;padding-right:16px}.main-content:has(.live-board){padding-left:16px;padding-right:16px}.main-content.wide:has(.lesson-layout){padding-left:16px;padding-right:16px}.main-content.wide:has(.book-layout){padding-left:16px;padding-right:16px}.main-content.wide:has(.library-head){padding-left:16px;padding-right:16px}}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-title,.title-input{letter-spacing:-.02em;font-size:32px;font-weight:650;line-height:1.2}.page-tags{margin-top:14px}.page-description{color:var(--text-2);margin-top:6px;font-size:15px}.view-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:32px 0 14px;display:flex}.view-bar h2{font-size:20px}.view-bar>.create-panel:first-of-type{margin-left:auto}.view-tab{align-items:center;gap:8px;font-size:18px;font-weight:650;display:inline-flex}.view-tab .muted{background:var(--surface);border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 8px;font-size:13px;font-weight:500;display:inline-grid}.cover-0{background:var(--cover-0)}.cover-1{background:var(--cover-1)}.cover-2{background:var(--cover-2)}.cover-3{background:var(--cover-3)}.book-layout{min-width:0}.book-views{margin:16px 0 0}.units-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:24px 0 4px;display:flex}.units-bar h2{font-size:18px}.units-bar h2 .muted{font-weight:500}.unit{gap:4px;margin-top:32px;scroll-margin-top:20px;display:grid}.unit>*{min-width:0}.unit-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.unit-heading h3{overflow-wrap:anywhere;font-size:16px;font-weight:700}.lesson-rows{border-top:1px solid var(--border-strong);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--border);align-items:center;gap:4px;display:flex}.row:hover{background:var(--surface)}.row-link{flex:1;align-items:center;gap:12px;min-width:0;min-height:46px;padding:8px 6px 8px 10px;display:flex}.row-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.row-count{text-align:right;min-width:64px;color:var(--text-2);flex:none;font-size:13px}.row-icon{color:var(--text-3);flex:none}.row .item-controls{flex:none}.lesson-item{border-bottom:1px solid var(--border)}.lesson-item>.row{border-bottom:0}.lesson-toggle{min-width:0;height:auto;min-height:46px;box-shadow:none;color:var(--text);font:inherit;white-space:normal;text-align:left;background:0 0;border-radius:0;flex:1;justify-content:flex-start;align-items:center;gap:10px;padding:8px 6px 8px 8px;font-size:15px;display:flex}.lesson-toggle:hover,.lesson-toggle:active{background:0 0;transform:none}.lesson-toggle .row-icon{transition:transform .15s}.lesson-item.open .lesson-toggle .row-icon{transform:rotate(90deg)}.lesson-toggle .row-title{flex:0 auto}.lesson-toggle .row-count{text-align:left;white-space:nowrap;min-width:0}.lesson-toggle .row-count:before{content:"· ";color:var(--text-3)}.lesson-go{height:32px;color:var(--text-2);border-radius:10px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:550;display:inline-flex}.lesson-go:hover{background:var(--surface-2);color:var(--text)}.lesson-sheets{border-left:1px solid var(--border-strong);margin:0 0 12px 15px;padding-left:17px}.lesson-sheets .empty-line{border-radius:var(--r-sm);text-align:left;margin:8px 0 0;padding:12px 14px;font-size:13px}.unit-adds{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.unit-adds .create-panel.subtle>summary,.unit-adds .create-panel.subtle>.create-trigger{width:auto;height:32px;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:10px;padding:0 12px;font-size:13px}.lesson-item.own-sheet .hit-list .sheet-row{border-bottom:0}.unit>.create-panel.subtle{justify-self:start;margin-top:6px}.unit .create-panel.subtle>summary,.unit .create-panel.subtle>.create-trigger{width:auto;height:32px;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:10px;padding:0 12px;font-size:13px}.db-table{border-radius:var(--r-lg);background:var(--surface);gap:8px;padding:8px;font-size:14px;display:grid}.db-row{border-radius:var(--r-md);background:var(--bg);grid-template-columns:minmax(0,1fr) 130px 150px 160px 80px;align-items:center;min-height:56px;padding:0 6px;transition:box-shadow .15s;display:grid}.db-row>span{min-width:0;padding:0 8px}.db-row:not(.db-head):hover{box-shadow:var(--shadow-card)}.db-head{min-height:32px;color:var(--text-3);background:0 0;font-size:12px;font-weight:500}.db-title{align-items:center;gap:12px;font-weight:550;display:flex}.db-title a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.db-title a:hover{text-underline-offset:3px;text-decoration:underline}.db-actions{justify-content:flex-end;gap:2px;display:flex}.properties{border-radius:var(--r-lg);background:var(--surface);gap:2px;margin:18px 0 10px;padding:8px 18px;display:grid}.property{min-height:46px;color:var(--text);grid-template-columns:150px minmax(0,1fr);align-items:center;font-size:14px;display:grid}.property+.property{border-top:1px solid var(--border)}.property-name{color:var(--text-2);align-items:center;gap:8px;font-weight:500;display:flex}.property select{background-position:right 10px center;background-color:var(--bg);width:auto;min-height:34px;box-shadow:var(--shadow-soft);border-radius:999px;justify-self:start;padding:4px 34px 4px 12px}.property-value{padding:0 4px}.property-value.share{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.property-value.share a{text-underline-offset:3px;font-weight:550;text-decoration:underline}.settings-actions{margin-top:24px}fieldset{border:0;min-width:0;margin:0;padding:0}.title-input,.plain-textarea{background:0 0;border-radius:0;width:100%;min-height:0;padding:0;display:block;box-shadow:none!important;border:0!important}.title-input{color:var(--text)}.plain-textarea{resize:none;field-sizing:content;color:var(--text-2);margin-top:8px;padding:2px 0;font-size:15px}fieldset{min-width:0}@media (max-width:1100px){.editor-layout{grid-template-columns:minmax(0,1fr);gap:20px}.editor-side{border-left:0;border-top:1px solid var(--border);padding-top:16px;padding-left:0;position:static}}.icon-button.active{background:var(--primary);color:var(--on-primary)}.option-editor{grid-template-columns:22px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.pair-editor{grid-template-columns:34px minmax(0,1fr) 20px minmax(0,1fr) 34px}@media (max-width:760px){.pair-editor{grid-template-columns:34px minmax(0,1fr) 34px}.pair-editor .pair-arrow{display:none}.pair-editor input+input{grid-column:2/3}}.blank-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.blank-mark{color:var(--text-3);padding-bottom:12px;font-weight:700}@media (max-width:720px){.blank-row{grid-template-columns:minmax(0,1fr)}.blank-mark{display:none}}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:separate;border-spacing:6px;width:100%;margin:-6px}.table-scroll th,.table-scroll td{min-width:120px;padding:0}.table-scroll th input{font-weight:600}.menu-item{border-radius:var(--r-sm);background:var(--surface);height:52px;color:var(--text);justify-content:flex-start;gap:12px;padding:0 14px;font-weight:500}.menu-item svg{color:var(--text-2)}.menu-item:hover{background:var(--surface-2)}.submissions{margin-top:48px}.submissions>.submission-row,.submissions>.empty-line{margin-top:8px}.submission-row{border-radius:var(--r-md);background:var(--surface)}.submission-row summary{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:0 18px;font-size:14px;list-style:none;display:flex}.submission-row summary::-webkit-details-marker{display:none}.submission-row summary strong{flex:1;min-width:0;font-weight:600}.submission-row time{min-width:100px;color:var(--text-3);text-align:right;white-space:nowrap;flex:none;font-size:13px}.submission-row .tag.gray,.history-list .submission-row .tag:not([class*=status-]){background:var(--bg);color:var(--text);box-shadow:var(--shadow-soft)}.submission-row[open]{padding-bottom:12px}.submission-row>p{padding:0 18px 6px}.submitted-answer{border-radius:var(--r-sm);background:var(--bg);gap:4px;margin:8px 12px 0;padding:12px 16px 12px 40px;font-size:14px;display:grid}.submitted-answer strong{font-weight:550}.submitted-answer p{white-space:pre-wrap;color:var(--text-2)}.answer-mark{width:22px;margin-left:-24px;font-weight:700;display:inline-block}.submitted-answer.correct .answer-mark{color:var(--green-text)}.submitted-answer.wrong .answer-mark{color:var(--red-text)}.submitted-answer .answer-key{color:var(--text-3)}.pair-answers{gap:4px;display:grid}.pair-answers .correct .answer-mark{color:var(--green-text)}.pair-answers .wrong .answer-mark{color:var(--red-text)}.sheet-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:4px;display:flex}.sheet-title{flex:320px;min-width:0}.sheet-subline{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding-left:2px;display:flex}.sheet-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:24px;margin-top:26px;display:flex}.sheet-tab{height:44px;box-shadow:none;color:var(--text-3);background:0 0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;margin-bottom:-1px;padding:0 2px;font-size:14px;font-weight:500;display:flex}.sheet-tab:hover{color:var(--text);background:0 0}.sheet-tab[aria-selected=true]{border-bottom-color:var(--text);color:var(--text)}.tab-count{background:var(--surface-2);color:var(--text-3);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}.tab-count.waiting{background:var(--sand-bg);color:var(--sand-text)}.editor .view-bar{margin:24px 0 14px}.type-picker{border-radius:var(--r-md);background:var(--surface);gap:14px;margin-bottom:16px;padding:18px;display:grid}.type-picker .view-bar{margin:0}.type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.type-tile{background:var(--bg);min-height:54px;color:var(--text);text-align:left;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.type-tile:hover{background:var(--surface-2)}.assign-form{gap:14px;display:grid}.assign-students{border:0;flex-wrap:wrap;gap:8px 14px;padding:0;display:flex}.assign-student{color:var(--text);align-items:center;gap:7px;font-size:14px;font-weight:400;display:flex}.assign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.assign-send{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assign-links{background:var(--surface);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.assign-link{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.homework-list{margin-top:8px;display:grid}.homework-columns,.homework-row{grid-template-columns:minmax(0,1fr) 190px 150px 84px;column-gap:20px;padding:0 8px;display:grid}.homework-columns{border-bottom:1px solid var(--border-strong);color:var(--text-2);padding-bottom:10px;font-size:13px;font-weight:500}.homework-columns span:last-child{text-align:right}.homework-row{border-bottom:1px solid var(--border);align-items:center;row-gap:10px;padding-top:16px;padding-bottom:16px}.homework-main{gap:3px;min-width:0;display:grid}.homework-title{color:var(--text);overflow-wrap:anywhere;justify-self:start;font-size:15px;font-weight:650}.homework-title:hover,.homework-who a:hover{text-underline-offset:3px;text-decoration:underline}.homework-who{color:var(--text);overflow-wrap:anywhere;font-size:14px}.homework-meta{color:var(--text-2);flex-wrap:wrap;gap:2px 8px;font-size:13px;display:flex}.homework-meta span+span:before{content:"·";color:var(--text-3);margin-right:8px}.homework-late{color:var(--red-text)}.homework-row>.tag{white-space:normal;justify-self:start;height:auto;min-height:28px}.homework-score{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px}.homework-actions{grid-template-columns:34px 34px;justify-content:end;gap:8px;display:grid}.homework-remove{grid-column:2}.homework-confirm{border-radius:var(--r-sm);background:var(--red-bg);grid-column:1/-1;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:grid}.homework-confirm .alert{margin:0}.copy-tip{z-index:30;background:var(--primary);width:max-content;max-width:220px;color:var(--on-primary);pointer-events:none;opacity:0;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:500;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);right:0}.copy-link:hover .copy-tip,.copy-link:focus-within .copy-tip,.copy-tip.shown{opacity:1}.api-tokens{gap:14px;display:grid}.api-token-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.api-token-form label{flex:240px}.api-token-fresh{background:var(--surface);border-radius:10px;gap:8px;padding:14px;display:grid}.api-token-value{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.api-token-value code{overflow-wrap:anywhere}.api-token-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.api-token-list li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 8px;display:grid}@media (max-width:760px){.assign-grid{grid-template-columns:minmax(0,1fr)}.homework-columns{display:none}.homework-row{grid-template-columns:auto minmax(0,1fr) auto}.homework-main{grid-column:1/-1}}.live-top{border-radius:var(--r-md);background:var(--surface);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:18px 32px;margin-bottom:20px;padding:16px 20px;display:grid}.live-top-code{display:grid}.live-code{letter-spacing:5px;margin:0;font-size:32px;font-weight:650;line-height:1.15;display:block}.live-top-stats{gap:28px;margin:0;display:flex}.live-top-stats dt{color:var(--text-3);font-size:12px}.live-top-stats dd{margin:0;font-size:24px;font-weight:650}.live-code-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.live-grid{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:24px;display:grid}.live-grid>aside{position:sticky;top:16px}.live-panel .view-bar{margin-top:0}.live-bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.live-bar-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .4s;display:block}.live-people{gap:10px;display:grid}.live-person{border:1px solid var(--border);border-radius:var(--r-md);gap:10px;padding:14px 16px;display:grid}.live-person-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.live-person-score{white-space:nowrap}.live-marks{flex-wrap:wrap;gap:3px;display:flex}.live-mark{background:var(--surface-2);width:18px;height:18px;min-height:0;color:var(--text-3);cursor:pointer;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.live-mark:hover{background:var(--gray-bg)}.live-mark.right{background:var(--green-bg);color:var(--green-text)}.live-mark.wrong{background:var(--red-bg);color:var(--red-text)}.live-mark.open{background:var(--sand-bg)}.live-mark.picked,.live-tile.picked{outline:2px solid var(--primary);outline-offset:1px}.tag.status-wrong{background:var(--red-bg);color:var(--red-text)}.live-legend{flex-wrap:wrap;gap:4px 14px;margin-bottom:10px;display:flex}.live-legend span{align-items:center;gap:6px;display:inline-flex}.live-legend i{background:var(--surface-2);border-radius:3px;width:10px;height:10px}.live-tiles{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;display:grid}.live-tile{background:var(--surface-2);height:auto;min-height:0;color:var(--text-2);cursor:pointer;border:0;border-radius:8px;align-content:center;justify-items:center;gap:3px;padding:8px 2px 10px;font-weight:400;line-height:1.2;display:grid}.live-tile strong{color:var(--text);font-size:14px}.live-tile span{font-size:11px}.live-tile:hover{background:var(--gray-bg)}.live-tile.good,.live-legend i.good{background:var(--green-bg);color:var(--green-text)}.live-tile.mixed,.live-legend i.mixed{background:var(--sand-bg);color:var(--sand-text)}.live-tile.bad,.live-legend i.bad{background:var(--red-bg);color:var(--red-text)}.live-tile.open,.live-legend i.open{box-shadow:inset 0 0 0 2px var(--sand-bg);background:0 0}.live-detail{border-radius:var(--r-md);background:var(--surface);gap:6px;margin-top:14px;padding:14px 16px;display:grid}.live-detail-head{justify-content:space-between;align-items:center;display:flex}.live-detail ul{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.live-detail li{justify-content:space-between;align-items:center;gap:10px;display:flex}@media (max-width:1100px){.live-top{grid-template-columns:auto minmax(0,1fr)}.live-code-actions{grid-column:1/-1;justify-content:flex-start}.live-grid{grid-template-columns:minmax(0,1fr)}.live-grid>aside{position:static}}@media (max-width:600px){.live-top{grid-template-columns:minmax(0,1fr);gap:14px}.live-top-stats{gap:20px}}.live-page{max-width:720px}.live-join{border-radius:var(--r-md);background:var(--surface);gap:14px;margin-top:24px;padding:24px;display:grid}.live-code-input{letter-spacing:4px;text-align:center;text-transform:uppercase;font-size:22px}.live-head{gap:4px;margin-bottom:16px;display:grid}.live-block{border-bottom:1px solid var(--border);padding:16px 0}.live-answers{border:0;min-width:0;margin:0;padding:0}.live-answers:disabled{opacity:.75}.live-saved{margin-top:10px}.live-done{background:var(--green-bg);color:var(--green-text);border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:12px 14px;font-weight:550;display:flex}.live-finish{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.live-confirm{background:var(--surface);border-radius:10px;gap:12px;width:100%;padding:14px;display:grid}.live-foot{margin-top:16px}.live-person-name{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.repeat-callout{align-items:center}.repeat-sheet{justify-items:end;gap:8px;display:grid}.bank-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bank-search{background:var(--bg);color:var(--text-3);box-shadow:inset 0 0 0 1px var(--border);border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.bank-search input{width:190px;min-height:30px;box-shadow:none;background:0 0;padding:0;font-size:13px}.bank-rename{flex:1;min-height:34px}.bank-list{gap:4px;display:grid}.bank-item{align-items:center;gap:4px;display:flex}.bank-insert{background:var(--bg);min-width:0;height:38px;color:var(--text);text-align:left;box-shadow:inset 0 0 0 1px var(--border);border-radius:8px;flex:1;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:450;display:flex}.bank-insert:hover{background:var(--surface-2)}.bank-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.type-materials{border-top:1px solid var(--border);gap:8px;padding-top:14px;display:grid}.type-row{flex-wrap:wrap;gap:6px;display:flex}.task-list{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);display:grid}.task-item{border-bottom:1px solid var(--border)}.task-item:last-child{border-bottom:0}.task-bar{grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px 18px;display:grid}.task-no{color:var(--text-3);font-variant-numeric:tabular-nums;padding-top:1px;font-size:13px}.task-body{min-width:0}.task-title{overflow-wrap:anywhere;font-weight:500;line-height:1.45}.task-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:7px;margin-top:5px;font-size:12px;display:flex}.task-type{align-items:center;gap:5px;display:inline-flex}.task-answers{overflow-wrap:anywhere;flex-basis:100%}.task-actions{align-items:center;gap:4px;display:flex;position:relative}.task-menu{z-index:5;gap:1px;width:220px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.task-menu .menu-item{justify-content:flex-start;height:38px;font-size:13px}.task-key{gap:10px;padding:0 18px 16px 58px;display:grid}.key-panel{border-radius:var(--r-sm);background:var(--sand-bg);gap:8px;padding:14px 16px;display:grid}.key-panel.manual{background:var(--surface)}.key-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.key-head strong{font-size:14px}.task-kind select{max-width:320px}.key-kind{align-items:center;gap:8px;margin-left:auto;display:flex}.key-kind select{border:1px solid var(--border-strong);background-color:var(--bg);background-position:right 8px center;width:auto;min-height:34px;padding:4px 32px 4px 10px;font-size:13px}.key-field{color:var(--text);gap:6px;display:grid}.key-field textarea{border:1px solid var(--border-strong);background:var(--bg);min-height:46px;color:var(--text);resize:vertical;field-sizing:content;overflow-wrap:anywhere;padding:10px 14px;font-size:17px;font-weight:600;line-height:1.4}.key-field .muted.small{font-weight:400}.key-options{gap:6px;display:grid}.key-option{background:var(--bg);width:100%;height:auto;min-height:40px;box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text);text-align:left;white-space:normal;border-radius:10px;justify-content:flex-start;gap:10px;padding:8px 12px;font-weight:500}.key-option:hover{background:var(--surface)}.key-option.on{background:var(--green-bg);box-shadow:inset 0 0 0 2px var(--green-text);color:var(--green-text);font-weight:650}.key-mark{background:var(--surface-2);border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-grid}.key-option.on .key-mark{background:var(--green-text);color:#fff}.key-pairs{gap:4px;margin:0;padding-left:18px;font-weight:600;display:grid}.task-key-foot{justify-content:flex-end;align-items:center;gap:10px;display:flex}.key-ok{color:var(--green-text);align-items:center;gap:5px;font-size:13px;font-weight:650;display:inline-flex}@media (max-width:640px){.task-key{padding-left:18px}}.source-panel{border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);margin-bottom:12px;padding:12px 16px}.source-panel summary{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.source-panel[open] summary{margin-bottom:8px}.source-item{border-radius:var(--r-sm);background:var(--bg);gap:8px;margin-top:10px;padding:12px;display:grid}.source-item pre{max-height:320px;font:13px/1.5 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.source-item img{object-fit:contain;max-width:100%;max-height:320px}.task-editor{border-top:1px solid var(--border);background:var(--bg);gap:16px;padding:20px 22px 22px 58px;display:grid}.task-editor-footer{justify-content:flex-end;display:flex}.undo-note{background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;font-size:13px;display:flex}.settings{gap:26px;max-width:680px;margin-top:8px;display:grid}.settings-group{border-bottom:1px solid var(--border);gap:16px;padding-bottom:26px;display:grid}.settings-group:last-child{border-bottom:0;padding-bottom:0}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.points-field{max-width:190px}.link-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.link-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:760px){.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:minmax(0,1fr)}.task-bar{grid-template-columns:24px minmax(0,1fr)}.task-actions{grid-column:2;justify-content:flex-end}.task-editor{padding:16px}}@media (max-width:520px){.type-grid{grid-template-columns:minmax(0,1fr)}.sheet-tabs{gap:14px}}.document-heading{margin-top:8px}h2.document-heading{font-size:26px}h3.document-heading{font-size:20px}h4.document-heading{font-size:16px}.document-text{white-space:pre-wrap}.document-instruction,.worksheet-instructions{border-radius:var(--r-md);background:var(--surface);white-space:pre-wrap;padding:14px 18px}.document-divider{margin:8px 0}.document-image{margin:0}.document-image img{border-radius:var(--r-md);max-width:100%;display:block}.document-image figcaption{color:var(--text-2);margin-top:8px;font-size:13px}.document-table{overflow-x:auto}.document-table table{border-collapse:separate;border-spacing:0;border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;font-size:14px;overflow:hidden}.document-table th,.document-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px}.document-table tr:last-child td{border-bottom:0}.document-table th+th,.document-table td+td{border-left:1px solid var(--border)}.document-table th{background:var(--surface);font-weight:600}.exercise{border:0;min-width:0;margin:0;padding:0}.exercise legend{padding:0}.exercise-question,.fill-question{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:16px;font-weight:600;display:flex}.fill-question{align-items:center;font-weight:400}.exercise-number{background:var(--primary);min-width:26px;height:26px;color:var(--on-primary);border-radius:50%;align-self:center;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.exercise-task{margin-bottom:2px;font-weight:600;display:block}.fill-body{flex:1}:is(.exercise-question:has(.exercise-task),.fill-question:has(.exercise-task)){align-items:flex-start}:is(.exercise-question:has(.exercise-task) .exercise-number,.fill-question:has(.exercise-task) .exercise-number){align-self:flex-start}.number-dot{display:none}.a4-page .number-dot{display:inline}.exercise>textarea,.exercise>.answer-lines{margin-top:12px}.answer-options{gap:8px;margin-top:12px;display:grid}.answer-options label{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);min-height:50px;color:var(--text);cursor:pointer;align-items:center;gap:12px;padding:10px 16px;font-size:15px;font-weight:400;transition:border-color .15s,background .15s;display:flex}.answer-options label:hover{border-color:var(--text-3)}.answer-options label:has(input:checked){border-color:var(--primary);background:var(--surface);font-weight:550}.match-columns{grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:12px;display:grid}.match-column{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.match-item{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);width:100%;min-height:46px;color:var(--text);text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:15px;font-weight:400;display:flex}button.match-item{cursor:pointer}button.match-item:hover{border-color:var(--text-3)}.match-item.picked{border-color:var(--primary);box-shadow:0 0 0 3px #2a78d633}.match-item.joined{background:#0f8f8f1a;border-color:#0f8f8f;font-weight:550}.match-no{background:var(--surface-2);min-width:26px;color:var(--text-2);text-align:center;border-radius:999px;padding:2px 6px;font-size:13px;font-weight:700}.match-no.letter{color:#fff;background:#0f8f8f}.match-text{flex:1}.match-slot{border:1.5px dashed var(--border-strong);color:#0f8f8f;text-align:center;border-radius:6px;min-width:34px;height:28px;font-weight:700;line-height:26px}.match-hint{margin-top:8px}@media (max-width:640px){.match-columns{grid-template-columns:1fr}}.blank-input{border:1.5px solid var(--border-strong);background:var(--bg);width:170px;min-height:40px;padding:6px 12px}.print-checkbox,.print-radio{border:1.5px solid;flex:none;width:14px;height:14px}.print-checkbox{border-radius:3px}.print-radio{border-radius:50%}.print-blank{vertical-align:baseline;border-bottom:1px solid;width:130px;display:inline-block}.print-blank:before{content:" "}.answer-lines{gap:26px;padding-top:18px;display:grid}.answer-lines div{border-bottom:1px solid var(--border-strong)}.student-page{max-width:780px;margin:0 auto;padding:20px 16px 64px}.student-page.wide{max-width:1280px}.student-page.wide .interactive-document{padding:28px 24px}.zoom-area{gap:10px;display:grid}.zoom-bar{z-index:5;background:var(--bg);box-shadow:var(--shadow-card);border-radius:999px;justify-self:end;align-items:center;gap:2px;padding:4px;display:flex;position:sticky;top:8px}.zoom-value{text-align:center;min-width:48px;font-size:13px;font-weight:600}.zoom-scroll{border-radius:var(--r-sm);overflow-x:auto}.zoom-content{min-width:100%}.student-brand{align-items:center;gap:10px;height:48px;margin-bottom:12px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.student-brand .brand-icon{background:var(--primary);width:32px;height:32px;color:var(--on-primary);border-radius:10px;place-items:center;display:grid}.interactive-document,.submission-success{border-radius:var(--r-xl);background:var(--bg);box-shadow:var(--shadow-card);gap:18px;padding:40px;display:grid}.interactive-document>.muted{margin-top:-10px}.student-name{border-radius:var(--r-md);background:var(--surface);color:var(--text-2);grid-template-columns:140px minmax(0,300px);align-items:center;padding:14px 18px;font-size:14px;display:grid}.student-name input{background:var(--bg)}.student-name .muted{display:none}.interactive-fieldset{gap:32px;margin-top:10px;display:grid}.submit-area{border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:18px 20px;display:flex}.submit-area button{height:48px;padding:0 26px;font-size:15px}.submission-success{text-align:center;justify-items:center}.submission-success h1{font-size:30px}.success-chip{background:var(--green-bg);width:64px;height:64px;color:var(--green-text);box-shadow:none}.score-display{font-size:56px;font-weight:700;line-height:1}.score-display span{color:var(--text-3);font-size:30px}.preview-page{min-height:100vh;padding-bottom:56px}.preview-toolbar{z-index:10;background:var(--bg);max-width:900px;box-shadow:var(--shadow-card);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:12px auto 0;padding:8px 8px 8px 12px;display:flex;position:sticky;top:12px}.preview-hint{color:var(--text-2);text-align:center;margin:16px auto;font-size:13px}.a4-page{color:#111;width:210mm;max-width:calc(100% - 32px);min-height:297mm;box-shadow:var(--shadow-card);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-radius:6px;margin:0 auto;padding:18mm;font-size:11pt}.a4-page h1{margin-bottom:6px;font-size:24pt}.name-date{color:#555;gap:24px;margin-bottom:22px;font-size:10pt;display:flex}.name-date span{flex:1;align-items:baseline;gap:6px;display:flex}.name-date i{border-bottom:1px solid #999;flex:1}.name-date span.date{flex:0 0 38%}.name-date span.print-time{color:#222;flex:none;font-weight:600}.print-description{color:#555;margin-bottom:12px}.a4-page .worksheet-instructions,.a4-page .document-instruction,.a4-page .document-table th{background:#f3f3f1}.a4-page .document-table table,.a4-page .document-table th,.a4-page .document-table td,.a4-page .answer-lines div{border-color:#c4c4c4}.a4-page .exercise-question,.a4-page .fill-question,.a4-page .answer-options label{color:#111}.a4-page .exercise-number{color:#111;background:0 0;min-width:0;height:auto;font-weight:700;display:inline}.a4-page .answer-options label{background:0 0;border:0;min-height:0;padding:2px 0;font-size:11pt}.a4-page .exercise-question{font-size:11.5pt}.document-blocks{gap:18px;margin-top:18px;display:grid}.avatar{background:var(--primary);width:36px;height:36px;color:var(--on-primary);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.avatar.large{width:64px;height:64px;font-size:22px}.student-cell{min-width:0;display:grid}.student-cell a,.student-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-cell a:hover,.student-link:hover{text-underline-offset:3px;text-decoration:underline}.profile-head{align-items:center;gap:18px;display:flex}.profile-head .page-tags{margin-top:8px}.stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.stat-tile{border-radius:var(--r-lg);background:var(--surface);gap:6px;padding:18px 20px;display:grid}.stat-tile strong{letter-spacing:-.02em;font-size:30px;font-weight:650;line-height:1.1}.stat-tile .stat-date{font-size:17px;line-height:1.4}.score-chart{border-radius:var(--r-lg);background:var(--surface);margin:18px 0 0;padding:20px 20px 12px}.score-chart figcaption{gap:2px;margin-bottom:8px;display:grid}.score-chart-plot{position:relative}.score-chart svg{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.score-chart svg:focus-visible{outline:3px solid var(--ring);border-radius:8px}.chart-grid{stroke:var(--border-strong);stroke-width:1px;shape-rendering:crispedges}.chart-tick{fill:var(--text-3);font-size:12px}.chart-line{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--chart);opacity:.1}.chart-dot{fill:var(--chart);stroke:var(--surface);stroke-width:2px;transition:r .1s}.chart-crosshair{stroke:var(--text-3);stroke-width:1px}.chart-end-label{fill:var(--text);font-size:13px;font-weight:600}.chart-tooltip{z-index:2;border-radius:var(--r-sm);background:var(--bg);min-width:140px;max-width:220px;box-shadow:var(--shadow-pop);pointer-events:none;gap:1px;padding:10px 12px;font-size:13px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.chart-tooltip strong{font-size:16px}.section-title{margin-top:8px;font-size:18px}.result-list{gap:8px;display:grid}.result-row{border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}a.task-row{color:inherit;text-decoration:none}a.task-row:hover{background:var(--bg-2,#f1f3f5)}a.task-row:focus-visible{outline:2px solid var(--accent,#4f7da6);outline-offset:2px}.result-row>span:first-child{display:grid}.summary-tags{align-items:center;gap:6px;display:flex}.review{gap:0;display:grid}.review-note{padding:0 18px 6px}.points-picker{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.points-picker .point{background:var(--surface);min-width:36px;height:32px;color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);padding:0 10px}.points-picker .point:hover{background:var(--surface-2)}.points-picker .point.selected{background:var(--primary);color:var(--on-primary);box-shadow:none}.points-picker input{width:80px;min-height:34px}.review-comment{field-sizing:content;resize:none;background:var(--surface);min-height:40px;margin-top:8px;padding:8px 12px}.add-comment{justify-self:start;margin-top:4px;margin-left:-8px}.review-footer{border-radius:var(--r-sm);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;margin:12px 12px 0;padding:10px 10px 10px 16px;display:flex}.review>[aria-live]{padding:0 12px}.submission-row .review{padding:4px 18px 6px}.submission-row .review .submitted-answer{margin:8px 0 0}.submission-row .review .review-note,.submission-row .review>[aria-live]{padding-left:0;padding-right:0}.submission-row .review .review-footer{margin:12px 0 0}.history-list{gap:8px;display:grid}.history-title{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.history-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.submission-row .chevron{transition:transform .15s}.submission-row[open] .chevron{transform:rotate(180deg)}.history-open{margin:12px 12px 0}.leave-form{margin-top:8px}.student-name.known{color:var(--text);justify-content:space-between;align-items:center;display:flex}.student-link-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-link-picker select{background-position:right 10px center;background-color:var(--bg);width:auto;min-height:34px;box-shadow:var(--shadow-soft);border-radius:999px;padding:4px 34px 4px 12px}.property-value a{text-underline-offset:3px;text-decoration:underline}.choice-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-tiles legend{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500}.choice-tiles label{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.choice-tiles label:has(input:disabled){opacity:.55;cursor:not-allowed}.choice-tiles label:has(input:checked){border-color:var(--primary);background:var(--surface)}.choice-tiles input{margin-top:2px}.choice-tiles span{gap:2px;display:grid}.choice-tiles strong{color:var(--text);font-size:14px}.choice-tiles small{font-weight:400}.image-pages{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px;display:grid}.upload-zone{border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--border-strong);text-align:center;cursor:pointer;justify-items:center;gap:8px;padding:32px 24px;transition:background .15s,box-shadow .15s;display:grid;position:relative}.upload-zone:hover,.upload-zone.over{background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--primary)}.upload-zone.busy{cursor:progress;opacity:.7}.upload-zone strong{color:var(--text);font-size:16px}.upload-zone input{opacity:0;cursor:inherit;position:absolute;inset:0}.page-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.page-card{--field:var(--bg);border-radius:var(--r-lg);background:var(--surface);gap:10px;padding:10px;display:grid}.page-thumb{aspect-ratio:210/297;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--shadow-soft);text-align:center;place-items:center;padding:6px;display:grid;overflow:hidden}.page-thumb img{object-fit:contain;width:100%;height:100%}.page-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;padding:0 4px;display:flex}.page-meta strong{white-space:nowrap}.page-meta .block-controls{opacity:1;flex-wrap:nowrap}.image-preview{border-radius:var(--r-sm);object-fit:contain;justify-self:start;max-width:100%;max-height:320px;display:block}.image-view-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.image-sheet{gap:16px;display:grid}.image-page{margin:0}.image-page img{border-radius:var(--r-sm);width:100%;height:auto;box-shadow:var(--shadow-soft);display:block}.preview-page .image-sheet{max-width:210mm;margin:0 auto;padding:0 16px}.preview-page .image-page img{box-shadow:var(--shadow-card);border-radius:4px}.mark-button{justify-self:stretch}.title-row{color:var(--text);font-size:inherit;font-weight:inherit;align-items:center;gap:10px;display:flex}.title-row .title-input{flex:1;min-width:0}.title-pencil{color:var(--text-3);flex:none}.title-row:hover .title-pencil,.title-row:focus-within .title-pencil{color:var(--text)}.publish-now{margin-top:8px}.save-state.unsaved{color:var(--sand-text);font-weight:500}.sheet-steps{gap:16px;margin-top:22px;display:grid}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.step{border-radius:var(--r-md);background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.step.current{box-shadow:inset 0 0 0 2px var(--primary)}.step-mark{background:var(--surface-2);width:32px;height:32px;color:var(--text-2);border-radius:999px;flex:none;place-items:center;font-weight:700;display:inline-grid}.step.current .step-mark{background:var(--primary);color:var(--on-primary)}.step.done .step-mark{background:var(--green-bg);color:var(--green-text)}.step-text{flex:1;gap:3px;min-width:0;display:grid}.step-text strong{font-size:16px}.step-text>span{color:var(--text-2);font-size:13px}.step-progress{background:var(--surface-2);border-radius:999px;height:6px;margin-top:6px;display:block;overflow:hidden}.step-progress>span{border-radius:inherit;background:var(--primary);height:100%;display:block}.next-step{border-radius:var(--r-lg);background:var(--surface);gap:6px;padding:20px 24px;display:grid}.next-step-kicker{color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:650}.next-step h2{font-size:18px}.next-step p{max-width:640px;color:var(--text-2);font-size:14px;line-height:1.5}.next-step-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.next-step-actions .secondary.small{height:40px;padding:0 16px;font-size:14px}.next-step-actions .alert{flex-basis:100%;margin:0}@media (max-width:900px){.steps{grid-template-columns:minmax(0,1fr)}}.pages-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.pages-bar .view-switch{margin:0}.view-switch button{height:34px;box-shadow:none;color:var(--text-2);background:0 0;border-radius:9px;padding:0 14px;font-size:14px;font-weight:550}.view-switch button[aria-pressed=true]{background:var(--bg);color:var(--text);box-shadow:var(--shadow-soft)}.page-card{background:var(--bg);min-width:0;box-shadow:inset 0 0 0 1px var(--border-strong);grid-template-columns:minmax(0,1fr);gap:0;padding:0;overflow:visible}.page-card .page-thumb{border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:none;padding:12px 12px 0}.page-card .page-thumb img{object-position:top;background:#fff;border-radius:6px 6px 0 0}.page-number{z-index:1;background:var(--primary);min-width:26px;height:26px;color:var(--on-primary);text-align:center;border-radius:7px;padding:0 7px;font-size:13px;font-weight:700;line-height:26px;position:absolute;top:10px;left:10px}.page-body{gap:10px;padding:12px 14px 14px;display:grid}.page-head-row{align-items:center;gap:4px;display:flex}.page-head-row .page-name,.page-head-row .page-name-input{flex:1;min-width:0}.page-menu-wrap{flex:none;position:relative}.page-menu{z-index:20;border-radius:var(--r-sm);background:var(--bg);width:200px;box-shadow:var(--shadow-pop);padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.page-menu button{height:36px;box-shadow:none;color:var(--text);background:0 0;border-radius:8px;justify-content:flex-start;padding:0 10px;font-size:14px;font-weight:500}.page-menu button:hover,.page-menu button:focus-visible{background:var(--surface)}.page-menu .danger-text{color:var(--red-text)}.page-menu .danger-text:hover{background:var(--red-bg)}.page-state{justify-self:start;gap:4px}.page-body .mark-button{width:100%}.page-add{border:2px dashed var(--border-strong);border-radius:var(--r-lg);min-height:320px;color:var(--text);text-align:center;cursor:pointer;place-content:center;justify-items:center;gap:8px;padding:20px;display:grid}.page-add:hover,.page-add.over{border-color:var(--text-3);background:var(--surface)}.page-add.busy{cursor:progress}.page-add{position:relative}@media (max-width:520px){.page-body{padding:10px}.page-state{white-space:normal;height:auto;min-height:26px;padding:3px 9px;font-size:12px}.page-body .mark-button{white-space:normal;height:auto;min-height:40px;padding:6px 8px;font-size:13px;line-height:1.2}.page-add{min-height:200px}}.page-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.page-add-icon{background:var(--bg);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:999px;place-items:center;display:inline-grid}.page-card[draggable=true]{cursor:grab}.page-card.dragging{opacity:.4}.page-card.drop-target{box-shadow:inset 0 0 0 2px var(--chart)}.page-thumb{position:relative}.page-name{width:100%;height:32px;box-shadow:none;color:var(--text);cursor:text;background:0 0;justify-content:flex-start;gap:6px;padding:0 4px;font-size:15px;font-weight:650}.page-name span{text-overflow:ellipsis;overflow:hidden}.page-name svg{color:var(--text-3);opacity:0;flex:none}.page-name:hover,.page-name:focus-visible{background:var(--bg)}.page-name:hover svg,.page-name:focus-visible svg{opacity:1}.page-name:active{transform:none}.page-name-input{min-height:32px;padding:4px 8px;font-size:15px;font-weight:650}.overlay-editor{--field:var(--bg);z-index:60;background:var(--page);grid-template-rows:auto auto auto minmax(0,1fr);display:grid;position:fixed;inset:0}.overlay-top{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 20px;display:flex}.overlay-pager{align-items:center;gap:10px;display:flex}.overlay-pager strong{font-size:16px}.overlay-pager .icon-button.secondary{border-radius:10px;width:36px;height:36px}.overlay-saved{color:var(--text-2);align-items:center;gap:5px;font-size:13px;display:inline-flex}.overlay-saved.dirty{color:var(--sand-text);font-weight:550}.overlay-top-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.overlay-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 20px 0;display:flex}.overlay-toolbar>strong{font-size:15px}.tool-group{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex}.tool{height:36px;box-shadow:none;color:var(--text);background:0 0;padding:0 12px;font-weight:500}.tool:hover{background:var(--surface)}.tool.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-soft);font-weight:650}.tool-label{color:var(--text-2);padding:0 6px 0 10px;font-size:13px}.tool kbd{background:var(--bg);min-width:18px;color:var(--text-2);font:600 11px/18px var(--font);text-align:center;border-radius:5px;padding:0 5px}.tool.active kbd{color:var(--on-primary);background:#ffffff2e}.suggest-zone{z-index:3;border:2px dashed var(--chart);background:var(--chart);border-radius:4px;place-items:center;min-width:0;height:auto;padding:0;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.suggest-zone{background:color-mix(in srgb, var(--chart) 10%, transparent)}}.suggest-zone{box-shadow:none;color:var(--chart);cursor:copy}.suggest-zone:hover{background:var(--chart)}@supports (color:color-mix(in lab, red, red)){.suggest-zone:hover{background:color-mix(in srgb, var(--chart) 22%, transparent)}}.suggest-zone:active{transform:none}.keys-form{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:14px;display:grid}.keys-form textarea{min-height:84px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.keys-form>button{justify-self:start}.keys-form .alert{margin:0}.hotkeys{border-top:1px solid var(--border);color:var(--text-2);grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:16px 0 0;padding-top:14px;font-size:12px;display:grid}.hotkeys dt{color:var(--text);white-space:nowrap;font-weight:600}.hotkeys dd{margin:0}.zone-quick{gap:8px;display:grid}.zone-quick summary{color:var(--text-2);cursor:pointer;font-size:13px;font-weight:550}.zone-quick[open] summary{margin-bottom:8px}.zone-quick[open]{border-bottom:1px solid var(--border);padding-bottom:12px}.zone-quick>button{justify-self:start}.zone-split{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.zone-split label{color:var(--text);align-items:center;gap:6px;display:flex}.markup-from{justify-items:start;gap:8px;display:grid}.markup-from .alert{margin:0}.overlay-hint .secondary{height:28px;margin-left:6px}.zone-split input{width:64px;min-height:32px;padding:4px 8px}.overlay-hint{color:var(--text-2);margin:0;padding:8px 20px;font-size:13px}.add-option{border-radius:var(--r-sm);width:100%;height:44px}.answer-list{border:0;gap:8px;margin:0;padding:0;display:grid}.answer-list legend{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500}.answer-row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px;display:grid}.answer-list>button{justify-self:start}.finish-options{height:28px;margin-left:12px}.overlay-hint.nudge{color:var(--text);font-weight:600}.tool-group.nudge .tool:not(:first-child){animation:.8s 2 tool-nudge}@keyframes tool-nudge{50%{background:var(--sand-bg);box-shadow:0 0 0 2px var(--sand-text)}}@media (prefers-reduced-motion:reduce){.tool-group.nudge .tool:not(:first-child){box-shadow:0 0 0 2px var(--sand-text);animation:none}}.overlay-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;min-height:0;padding:0 20px 40px;display:grid;overflow:auto}@media (min-width:761px){.overlay-body{grid-template-rows:minmax(0,1fr);align-items:stretch;padding-bottom:0;overflow:hidden}.overlay-body>.overlay-scroll{align-self:stretch;min-height:0;padding-bottom:40px;display:grid;overflow-y:auto}.overlay-body>.overlay-panel{flex-direction:column;align-self:stretch;min-height:0;padding-bottom:20px;display:flex;position:static;overflow-y:auto}.overlay-body>.overlay-panel>.panel-card{flex:none}}.overlay-canvas{width:min(100%,900px);box-shadow:var(--shadow-card);touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;place-self:start center;position:relative}.overlay-canvas.drawing{cursor:crosshair}.overlay-canvas img{pointer-events:none;width:100%;height:auto;display:block}.overlay-missing{aspect-ratio:210/297;color:var(--text-3);place-items:center;display:grid}.edit-zone{cursor:move;background:#2a78d61f;border:2px solid #2a78d6;border-radius:4px;scroll-margin:140px 0;position:absolute}.overlay-canvas.drawing .edit-zone{cursor:crosshair}.edit-zone.zone-open_answer{background:#7a5ad61a;border-color:#7a5ad6}.edit-zone.zone-multiple_choice,.edit-zone.zone-checkbox{background:#d67a2a1a;border-color:#d67a2a}.edit-zone.zone-matching.zone-left{background:#0f8f8f1f;border-color:#0f8f8f}.edit-zone.zone-matching.zone-right{background:#9a4bbf1f;border-color:#9a4bbf}.edit-zone.zone-matching.unpaired{border-style:dashed}.zone-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zone-links line{stroke:#0f8f8fd9;stroke-width:2.5px;stroke-linecap:round}.zone-links line.active{stroke:#121826}.pair-card .option-card-head{flex-wrap:wrap}.pair-card input{flex:90px;min-width:0}.pair-arrow{color:var(--text-3);font-weight:700}.edit-zone.correct{background:#1f9d5529;border-color:#1f9d55}.edit-zone.related{outline-offset:2px;outline:2px dashed #12182659}.edit-zone.selected{outline-offset:1px;outline:3px solid #121826}.drawing-zone{pointer-events:none;border-style:dashed}.edit-zone.zone-fill_blank .zone-tag{background:#2a78d6}.edit-zone.empty{background:#f5e1be73;border-style:dashed;border-color:#c27a1a}.edit-zone.empty .zone-tag{background:#b5651d}.zone-answer{color:#121826;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:calc(100% - 34px);font-size:14px;font-weight:700;position:absolute;top:50%;right:6px;overflow:hidden;transform:translateY(-50%)}.zone-tag{color:#fff;text-align:center;pointer-events:none;background:#121826;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.zone-handle{cursor:nwse-resize;background:#121826;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-7px;right:-7px}.overlay-panel{align-self:start;gap:12px;display:grid;position:sticky;top:0}.panel-card{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-card);gap:10px;padding:18px;display:grid}.task-card{box-shadow:inset 0 0 0 2px var(--primary), var(--shadow-card)}.task-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card-head h2{font-size:18px}.danger-icon{color:var(--red-text)}.danger-icon:hover{background:var(--red-bg);color:var(--red-text)}.answer-input{border-color:var(--border-strong);min-height:48px;font-size:18px;font-weight:600}.task-card label>.muted.small{font-weight:400;line-height:1.45}.next-task{width:100%}.answers-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.answer-rows{gap:2px;max-height:340px;margin:4px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.answer-item{width:100%;height:40px;box-shadow:none;color:var(--text);text-align:left;background:0 0;border-radius:10px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;display:grid}.answer-item:hover,.answer-item.current{background:var(--surface)}.answer-item:active{transform:none}.answer-name{text-overflow:ellipsis;overflow:hidden}.answer-no{color:#fff;background:#2a78d6;border-radius:999px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-grid}.answer-no.empty{background:#b5651d}.answer-value{text-overflow:ellipsis;max-width:120px;font-weight:700;overflow:hidden}.answer-value.empty{color:var(--sand-text);font-size:12px;font-weight:650}.panel-more{border-top:1px solid var(--border);padding-top:10px}.panel-more summary{cursor:pointer;font-size:14px;font-weight:650}.panel-more .keys-form,.panel-more .hotkeys{border-top:0;margin-top:10px;padding-top:0}.overlay-panel .option-editor{grid-template-columns:22px minmax(0,1fr) auto}.overlay-panel .option-editor.current input:not([type]){border-color:var(--primary)}.option-card{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;gap:8px;padding:10px;display:grid}.option-card.current{border-color:var(--primary)}.option-card.correct{background:var(--green-bg);border-color:#1f9d55}.option-card-head{align-items:center;gap:8px;display:flex}.option-no{background:var(--primary);min-width:34px;color:var(--on-primary);text-align:center;border-radius:999px;padding:2px 6px;font-size:12px;font-weight:700}.correct-toggle{background:var(--bg);height:32px;color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);justify-self:start}.correct-toggle:hover{background:var(--surface-2)}.correct-toggle.on,.correct-toggle.on:disabled{opacity:1;color:#fff;box-shadow:none;background:#1f9d55}.zone-tag.correct{background:#1f9d55}.overlay-empty{gap:6px;display:grid}.ink-layer{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ink-layer.drawing{pointer-events:auto;touch-action:none;cursor:crosshair}.ink-layer.ink-eraser{cursor:cell}.ink-layer path{fill:none;stroke-linecap:round;stroke-linejoin:round}.ink-marker{opacity:.42;mix-blend-mode:multiply}.ink-tools{z-index:10;background:var(--bg);box-shadow:var(--shadow-card);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px;padding:6px;display:flex;position:sticky;top:8px}.ink-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ink-tool{height:36px;box-shadow:none;color:var(--text);background:0 0;border-radius:10px;gap:6px;padding:0 10px;font-size:14px;font-weight:500}.ink-tool:hover{background:var(--surface)}.ink-tool.on{background:var(--primary);color:var(--on-primary)}.ink-tool:disabled{opacity:.4}.ink-color{border-radius:999px;width:26px;height:26px;padding:0;box-shadow:inset 0 0 0 2px #00000026}.ink-color.on{outline:3px solid var(--text);outline-offset:2px}@media (max-width:520px){.ink-tool span{display:none}}.draft-note{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-view{margin-bottom:12px}.submission-pages{margin-bottom:16px}.review-zone{color:#121826;white-space:nowrap;border:2px solid;border-radius:4px;align-items:center;padding:0 .5cqw;font-size:clamp(9px,1.5cqw,16px);font-weight:700;display:flex;position:absolute;overflow:hidden}.review-zone span{text-overflow:ellipsis;overflow:hidden}.review-zone.ok{background:#1f9d5529;border-color:#1f9d55}.review-zone.bad{color:#9b2c28;background:#d9534f29;border-color:#d9534f}.review-zone.manual{white-space:pre-wrap;background:#7a5ad61a;border-color:#7a5ad6;align-items:flex-start;padding-top:2px}.review-zone.empty{color:#7a5a12;background:#f5e1be73;border-style:dashed;border-color:#c27a1a}.review-choice{border:3px solid;border-radius:6px;position:absolute}.review-choice.ok{background:#1f9d5524;border-color:#1f9d55}.review-choice.bad{background:#d9534f24;border-color:#d9534f}.review-choice.missed{border-style:dashed;border-color:#1f9d55}.review-links line.ok{stroke:#1f9d55}.review-links line.bad{stroke:#d9534f;stroke-dasharray:4 3}.overlay-page{position:relative;container-type:inline-size}.zone-field,.zone-choice{margin:0;position:absolute}.zone-field{color:#111;background:#ecf4fdeb;border:2px solid #2a78d6cc;border-radius:5px;min-height:0;padding:0 .6cqw;font-size:max(11px,1.9cqw);box-shadow:0 1px 3px #143c782e}.zone-field:focus{background:#fff;border-color:#2a78d6;box-shadow:0 0 0 3px #2a78d64d}.zone-text{resize:none;padding:.6cqw;line-height:1.35}.zone-choice{cursor:pointer;background:#2a78d614;border:2px solid #2a78d6bf;border-radius:6px;height:auto;padding:0;overflow:visible;box-shadow:0 1px 3px #143c7826}.zone-choice:after{content:"";box-sizing:border-box;color:#fff;text-align:center;background:#fff;border:2px solid #2a78d6;border-radius:4px;width:16px;height:16px;font-size:11px;font-weight:700;line-height:12px;position:absolute;top:-8px;right:-8px}.zone-choice.single:after{border-radius:50%}.zone-choice:hover{background:#2a78d629}.zone-choice:focus-visible{outline-offset:2px;outline:3px solid #2a78d673}.zone-choice.on{background:#2a78d638;border:3px solid #2a78d6}.zone-choice.on:after{content:"✓";background:#2a78d6}.zone-choice.single.on{border-radius:999px}.zone-choice.zone-match:after{content:"";border-color:#0f8f8f;border-radius:50%}.zone-choice.zone-match{background:#0f8f8f14;border-color:#0f8f8fcc}.zone-choice.zone-match:hover{background:#0f8f8f2e}.zone-choice.zone-match.on,.zone-choice.zone-match.picked{background:#0f8f8f38;border:3px solid #0f8f8f}.zone-choice.zone-match.on:after{content:"✓";background:#0f8f8f}.zone-choice.zone-match.picked:after{background:#0f8f8f;box-shadow:0 0 0 4px #0f8f8f4d}.overlay-page .zone-links line{stroke:#0f8f8f;stroke-width:3px}.ai-form{flex-direction:column;gap:12px;width:min(420px,100vw - 32px);max-height:min(88vh,700px);padding:18px;display:flex}.ai-form textarea{min-height:60px}.ai-head{gap:2px;display:grid}.ai-head strong{font-size:15px}.ai-field{min-width:0;color:var(--text-2);gap:6px;font-size:13px;font-weight:500;display:grid}.ai-label{color:var(--text-2);font-size:13px;font-weight:500}.ai-row{flex-wrap:wrap;gap:10px;display:flex}.ai-row .ai-field{flex:130px}.ai-row .ai-field.narrow{flex:0 0 82px}.ai-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-chips label{border:1.5px solid var(--border-strong);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:13px;display:inline-flex}.ai-chips label:has(input:checked){border-color:var(--primary);background:var(--surface)}.ai-chips input{width:auto;min-height:0;margin:0}.ai-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:2px;padding-top:14px;display:flex}.ai-foot p{flex:1;margin:0}.ai-foot button{flex:none}@media (max-width:900px){.lesson-actions .create-panel:first-child .popover{left:0;right:auto}}@media (max-width:520px){.ai-foot{flex-direction:column;align-items:stretch}}.lesson-layout{align-items:flex-start;gap:28px;display:flex}.lesson-main{flex:1;min-width:0}.toc-panel{background:var(--surface);border-radius:8px;flex:none;width:206px;max-height:calc(100vh - 60px);padding:10px;font-size:13px;position:sticky;top:24px;overflow:auto}.toc-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding-left:8px;font-size:13px;font-weight:650;display:flex}.toc-head .icon-button{border-radius:6px;width:28px;height:28px}.toc-open{background:var(--surface);height:34px;color:var(--text-2);border-radius:8px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:550;display:inline-flex}.toc-open:hover{background:var(--surface-2);color:var(--text)}.toc-module+.toc-module{margin-top:4px}.toc-module-name{width:100%;min-height:30px;color:var(--text);text-align:left;white-space:normal;background:0 0;border-radius:6px;justify-content:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:600;display:flex}.toc-module-name:hover{background:var(--surface-2)}.toc-module-name svg{flex:none;transition:transform .15s}.toc-module-name.folded svg{transform:rotate(-90deg)}.toc-link{color:var(--text-2);overflow-wrap:anywhere;border-radius:6px;padding:6px 10px 6px 24px;display:block}.toc-link:hover{background:var(--surface-2);color:var(--text)}.toc-link.current{background:var(--surface-2);color:var(--text);font-weight:600}.toc-empty{padding:2px 10px 6px 24px}.lesson-module{color:var(--text-2);font-size:13px}.lesson-title{letter-spacing:-.015em;margin-top:2px;font-size:25px;font-weight:700}.lesson-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-bottom:12px;display:flex}.lesson-count{align-items:center;gap:8px;font-size:15px;font-weight:650;display:inline-flex}.lesson-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sheet-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;min-height:68px;padding:12px 4px;display:flex}.sheet-name{flex:1;min-width:200px}.sheet-title{overflow-wrap:anywhere;font-size:14px;font-weight:650}.sheet-title:hover{text-underline-offset:3px;text-decoration:underline}.sheet-meta{color:var(--text-2);margin-top:4px;font-size:12px}.sheet-actions{align-items:center;gap:4px;display:flex}.sheet-open{height:32px;color:var(--text);border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:550;display:inline-flex}.sheet-open:hover{background:var(--surface)}@media (max-width:900px){.lesson-layout{flex-direction:column;gap:14px}.toc-panel{width:100%;max-height:none;position:static}.lesson-actions{width:100%}.lesson-actions .create-panel{flex:1}.lesson-actions .create-panel>summary,.lesson-actions .create-panel>.create-trigger{justify-content:center;width:100%}}.timed-start{gap:16px;display:grid}.timed-note{background:var(--surface);border-radius:10px;align-items:flex-start;gap:10px;padding:14px 16px;line-height:1.5;display:flex}.timed-note svg{flex:none;margin-top:2px}.timed-form{gap:14px;max-width:420px;display:grid}.timed-form button,.timed-start>button{justify-self:start}.timer-bar{z-index:20;background:var(--primary);color:var(--on-primary);border-radius:0 0 10px 10px;justify-content:center;align-items:center;gap:8px;margin:0 auto 12px;padding:10px 16px;font-size:14px;display:flex;position:sticky;top:0}.timer-bar strong{font-variant-numeric:tabular-nums;font-size:16px}.timer-bar.soon{background:var(--red)}.timed-auto{background:var(--sand-bg);color:var(--sand-text);border-radius:10px;padding:10px 14px;font-weight:550}.open-attempts{background:var(--surface);border-radius:10px;gap:6px;margin-bottom:18px;padding:14px 16px;display:grid}.open-attempts h3{font-size:14px}.open-attempt{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tag.late{background:var(--red-bg);color:var(--red-text)}.time-limit-field{align-items:center;gap:8px;display:flex}.time-limit-field input{max-width:180px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fix-list{background:var(--surface);border-radius:10px;gap:4px;margin-bottom:18px;padding:14px 16px;display:grid}.fix-list h3{margin-bottom:4px;font-size:14px}.fix-item{color:var(--text);border-radius:6px;align-items:baseline;gap:10px;padding:6px 4px;font-size:14px;display:flex}.fix-item:hover{background:var(--surface-2)}.fix-item strong{flex:none}.fix-item span:last-child{color:var(--text-2)}.fix-dot{background:var(--sand-text);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.fix-dot.fix{background:var(--red)}.all-good{background:var(--green-bg);color:var(--green-text);border-radius:10px;align-items:center;gap:8px;margin-bottom:18px;padding:12px 16px;display:flex}.task-stat{border-bottom:1px solid var(--border);gap:10px;padding:16px 4px;scroll-margin-top:16px;display:grid}.task-stat header{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.task-stat header strong{overflow-wrap:anywhere;flex:1;min-width:200px;font-size:15px}.task-stat-line{flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:14px;display:flex}.stat-bar,.opt-bar{background:var(--surface-2);border-radius:4px;height:8px;display:block;position:relative;overflow:hidden}.stat-bar{width:180px}.stat-bar>span,.opt-bar>span{background:var(--green-text);border-radius:4px;position:absolute;inset:0 auto 0 0}.option-stats{gap:6px;margin:0;padding:0;list-style:none;display:grid}.option-stats li{grid-template-columns:minmax(0,1fr) minmax(80px,200px) 72px;align-items:center;gap:12px;font-size:14px;display:grid}.option-stats .opt-text{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.option-stats li .opt-bar>span{background:var(--text-3)}.option-stats li.right .opt-bar>span{background:var(--green-text)}.option-stats li.right .opt-text{color:var(--green-text);font-weight:550}.opt-count{text-align:right}.wrong-answers{gap:6px;display:grid}.wrong-answers ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.wrong-answers li{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;display:flex}.signal{border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:8px 12px;font-size:14px;line-height:1.45;display:flex}.signal svg{flex:none;margin-top:2px}.signal.fix{background:var(--red-bg);color:var(--red-text)}.signal.check{background:var(--sand-bg);color:var(--sand-text)}.signal.info{background:var(--surface);color:var(--text-2)}.task-stat-edit{justify-self:start}@media (max-width:640px){.option-stats li{grid-template-columns:minmax(0,1fr) 64px}.option-stats .opt-bar{grid-area:2/1/auto/-1}.stat-bar{width:100%}}.people-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-bottom:18px;display:flex}.people-hint{color:var(--text-2);align-items:flex-start;gap:8px;margin-bottom:16px;font-size:13px;line-height:1.5;display:flex}.people-hint svg{flex:none;margin-top:2px}.people-tools{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 16px;padding-bottom:12px;display:flex}.people-search{flex:220px;max-width:340px;display:block;position:relative}.people-search svg{color:var(--text-3);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.people-search input{min-height:38px;padding-left:34px}.people-order{align-items:center;gap:8px;display:flex}.people-order select{background-position:right 10px center;width:auto;min-height:38px;padding:6px 34px 6px 12px}.person-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) 190px auto;align-items:center;gap:10px 14px;min-height:66px;padding:10px 4px;display:grid}.person-name{min-width:0}.person-name a{overflow-wrap:anywhere;font-size:15px;font-weight:650}.person-name a:hover{text-underline-offset:3px;text-decoration:underline}.person-meta{color:var(--text-2);flex-wrap:wrap;gap:2px 8px;margin-top:3px;font-size:12px;display:flex}.person-note{background:var(--surface);border-radius:6px;padding:0 7px}.person-actions{align-items:center;gap:4px;display:flex}.avatar.soft{flex:none;font-weight:650}.avatar.tone-0{background:var(--green-bg);color:var(--green-text)}.avatar.tone-1{background:var(--sand-bg);color:var(--sand-text)}.avatar.tone-2{background:var(--gray-bg);color:var(--gray-text)}.avatar.tone-3{background:var(--surface-2);color:var(--text)}.person-score{color:var(--text-2);white-space:nowrap;font-size:13px}.people-group{margin-top:36px}.people-group h2{font-size:18px}.people-group h2 .muted{font-weight:500}.people-group-note{max-width:640px;color:var(--text-2);margin-top:4px;font-size:13px;line-height:1.5}.people-group .people-list{border-top:1px solid var(--border);margin-top:12px}.more-toggle{height:auto;color:var(--text);background:0 0;border-radius:6px;gap:4px;margin-left:4px;padding:2px 4px;font-size:13px;font-weight:500;display:inline-flex}.more-toggle:hover{background:var(--surface-2)}.more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.student-dialog{overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);width:min(400px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-pop);color:var(--text);margin:0;padding:20px;position:fixed;inset:auto;overflow-y:auto}.student-dialog::backdrop{background:0 0}.student-dialog .stack{gap:14px}.student-dialog input,.student-dialog textarea{border-color:var(--border-strong)}.dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dialog-head h2{margin-top:6px;font-size:18px}.dialog-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dialog-buttons button{white-space:normal;height:auto;min-height:40px;line-height:1.25}.dialog-buttons button.small{min-height:34px;padding:6px 12px}.dialog-confirm{border-radius:var(--r-sm);background:var(--surface);gap:10px;padding:12px;font-size:13px;line-height:1.5;display:grid}.dialog-confirm.danger-zone{background:var(--red-bg)}.dialog-more{border-top:1px solid var(--border);gap:2px;padding-top:12px;display:grid}.dialog-more .alert{margin-bottom:6px}.dialog-action{width:100%;height:40px;box-shadow:none;color:var(--text);background:0 0;justify-content:flex-start;gap:10px;padding:0 10px;font-weight:500}.dialog-action:hover{background:var(--surface)}.dialog-action svg{color:var(--text-2)}.dialog-action.danger-text,.dialog-action.danger-text svg{color:var(--red-text)}.dialog-action.danger-text:hover{background:var(--red-bg)}@media (max-width:640px){.student-dialog{width:auto;max-height:85vh;bottom:12px;left:12px;right:12px}}.toast{z-index:60;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-pop);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:550;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.copy-link{display:inline-flex;position:relative}.copy-caption{display:inline-grid}.copy-caption>*{grid-area:1/1}.copy-caption>.off{visibility:hidden}.copy-error{z-index:30;background:var(--bg);width:max-content;max-width:min(260px,100vw - 32px);box-shadow:var(--shadow-pop);color:var(--red-text);white-space:normal;border-radius:10px;padding:8px 12px;font-size:12px;position:absolute;top:calc(100% + 6px);left:0}.people-start{background:var(--surface);border-radius:10px;gap:12px;margin:8px 0 0;padding:18px 18px 18px 38px;line-height:1.5;display:grid}@media (max-width:900px){.person-row{grid-template-columns:auto minmax(0,1fr)}.person-score,.person-actions{grid-column:2}.person-score:empty{display:none}.person-actions{flex-wrap:wrap}}.task-item.ai-new{box-shadow:inset 3px 0 0 var(--sand-text)}.tag.ai-tag{background:var(--sand-bg);color:var(--sand-text)}.ai-make svg{margin-right:4px}.print-brand{color:#222;border-bottom:1px solid #d9d9d6;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:8px;display:flex}.print-brand-logo{object-fit:contain;flex:none;max-width:40mm;max-height:14mm}.print-brand-text{gap:2px;min-width:0;display:grid}.print-brand-text strong{overflow-wrap:anywhere;font-size:12pt;line-height:1.2}.print-brand-text span{color:#666;overflow-wrap:anywhere;font-size:9pt}.brand-form{grid-template-columns:minmax(0,520px) minmax(260px,380px);align-items:start;gap:24px 48px;margin-top:8px;display:grid}.brand-fields{gap:14px;display:grid}.brand-fields>button{justify-self:start}.brand-logo-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.brand-toggle{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.brand-toggle input{width:auto;min-height:0}.brand-preview{gap:8px;display:grid}.brand-sheet{color:#222;box-shadow:0 0 0 1px var(--border-strong), var(--shadow-card);background:#fff;border-radius:6px;gap:8px;padding:18px 18px 22px;font-size:11px;display:grid}.brand-sheet .name-date{margin-bottom:6px}.brand-sheet-title{font-size:16px}.brand-sheet-line{background:#ececea;border-radius:3px;height:6px}.brand-sheet-line.short{width:60%}.settings-page input:not([type=checkbox]){border-color:var(--border-strong)}.brand-preview-caption{color:var(--text-2);font-size:13px;font-weight:500}@media (max-width:760px){.brand-form{grid-template-columns:minmax(0,1fr)}}.settings-page{display:grid}.settings-section{border-top:1px solid var(--border);gap:10px;padding:28px 0;display:grid}.settings-page>.page-title{margin-bottom:20px}.settings-section h2{font-size:18px}.settings-note{max-width:680px;color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.settings-rows{margin:4px 0 0;display:grid}.settings-rows>div{grid-template-columns:180px minmax(0,1fr);gap:4px 16px;padding:10px 0;font-size:14px;display:grid}.settings-rows>div+div{border-top:1px solid var(--border)}.settings-rows dt{color:var(--text-2);font-weight:500}.settings-rows dd{overflow-wrap:anywhere;margin:0}.settings-rows a{text-underline-offset:3px;text-decoration:underline}.settings-sub{gap:10px;max-width:720px;display:grid}.settings-sub+.settings-sub{border-top:1px solid var(--border);margin-top:18px;padding-top:22px}.settings-sub h3{font-size:15px;font-weight:650}.planner-status{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.planner-email{overflow-wrap:anywhere;font-size:14px}@media (max-width:640px){.settings-rows>div{grid-template-columns:minmax(0,1fr)}.api-token-list li{grid-template-columns:minmax(0,1fr) auto}.api-token-list li>.muted{grid-row:2}.api-token-list li>button{grid-area:1/2/3}}.topbar-end{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.app-switch{position:relative}.app-switch>summary{cursor:pointer;border-radius:10px;align-items:center;gap:4px;padding:5px 10px;font-size:14px;font-weight:600;list-style:none;display:flex}.app-switch>summary::-webkit-details-marker{display:none}.app-switch>summary:hover,.app-switch[open]>summary{background:var(--surface-2)}.app-switch-menu{gap:4px;width:280px;padding:12px;display:grid}.app-switch-menu>p{margin:0 8px 4px}.app-switch-item{color:var(--text);border-radius:10px;grid-template-columns:1fr auto;align-items:center;column-gap:10px;padding:10px;text-decoration:none;display:grid}.app-switch-item small{color:var(--text-3);grid-column:1}.app-switch-item svg{color:var(--text-3);grid-area:1/2/span 2}a.app-switch-item:hover,.app-switch-item.current{background:var(--surface)}.planner-link{justify-items:start;gap:12px;display:grid}.planner-link p{margin:0}.planner-link-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.planner-link-row label{min-width:min(280px,100%)}.plan-badge{white-space:nowrap;border-radius:999px;flex:none;padding:5px 12px;font-size:13px;font-weight:600}.plan-badge.pro{background:var(--green-bg);color:var(--green-text)}.plan-badge.ending{background:var(--sand-bg);color:var(--sand-text)}.plan-badge.free{background:var(--surface-2);color:var(--text)}.alert.info{background:var(--surface);color:var(--text)}.plan-status{border-radius:10px;gap:4px;margin:18px 0 22px;padding:16px 18px;line-height:1.5;display:grid}.plan-status strong{font-size:17px}.plan-status.pro{background:var(--green-bg);color:var(--green-text)}.plan-status.free{background:var(--surface);color:var(--text)}.meters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;display:grid}.meter{gap:6px;display:grid}.meter-head{justify-content:space-between;gap:8px;font-size:14px;display:flex}.meter-bar{background:var(--surface-2);border-radius:4px;height:8px;display:block;position:relative;overflow:hidden}.meter-bar>span{background:var(--green-text);border-radius:4px;position:absolute;inset:0 auto 0 0}.meter.full .meter-bar>span{background:var(--red)}.plan-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 12px;display:grid}.plan-card{box-shadow:inset 0 0 0 1.5px var(--border-strong);border-radius:10px;gap:6px;padding:18px;display:grid}.plan-card.best{box-shadow:inset 0 0 0 2px var(--primary)}.plan-card button{justify-self:start;margin-top:6px}.plan-period{color:var(--text-2);font-size:14px}.plan-price{letter-spacing:-.01em;font-size:26px}.plan-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.plan-compare>div{background:var(--surface);border-radius:10px;padding:16px 18px}.plan-compare h3{margin-bottom:8px;font-size:15px}.plan-compare ul{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.plan-compare li{align-items:flex-start;gap:8px;display:flex}.plan-compare li svg{color:var(--green-text);flex:none;margin-top:3px}.pro-lock{background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 16px;line-height:1.5;display:flex}.pro-lock a{margin-left:auto}@media (max-width:640px){.meters,.plan-cards,.plan-compare{grid-template-columns:minmax(0,1fr)}}.landing{max-width:1120px;margin:0 auto;padding:0 24px}.landing-nav{justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.landing-brand{align-items:center;gap:10px;font-size:18px;font-weight:650;display:inline-flex}.landing-brand .brand-icon{background:var(--primary);width:34px;height:34px;color:var(--on-primary);border-radius:10px}.landing-nav nav{color:var(--text-2);align-items:center;gap:22px;font-size:14px;display:flex}.landing-nav nav a:not(.button):hover{color:var(--text)}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;padding:56px 0 72px;display:grid}.landing-hero-text{justify-items:start;gap:18px;display:grid}.landing-eyebrow{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.landing-hero h1{letter-spacing:-.025em;font-size:clamp(34px,5vw,52px);line-height:1.08}.landing-lead{max-width:34em;color:var(--text-2);font-size:18px}.landing .button.landing-cta{border-radius:12px;height:48px;padding:0 22px;font-size:15px}.landing-section{padding:56px 0}.landing-section>h2,.landing-final h2{letter-spacing:-.02em;margin-bottom:28px;font-size:clamp(26px,3.4vw,34px)}.landing-section>h2:has(+.landing-sub){margin-bottom:8px}.landing-sub{margin-bottom:28px}.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.landing-steps li,.landing-card,.landing-plan{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);align-content:start;gap:10px;padding:26px;display:grid}.step-num{background:var(--primary);width:32px;height:32px;color:var(--on-primary);border-radius:50%;place-items:center;font-weight:650;display:inline-grid}.landing-steps h3,.landing-card h3{font-size:17px}.landing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.landing-card .icon-chip{background:var(--surface);box-shadow:none}.landing-planner{border-radius:var(--r-xl);background:var(--bg);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:32px;margin:24px 0;padding:40px;display:grid}.landing-planner>div{justify-items:start;gap:12px;display:grid}.landing-planner h2{font-size:26px}.landing-planner .icon-chip{background:var(--surface);box-shadow:none}.landing-planner-price{font-size:18px}.landing-planner-price .small{margin-top:4px;display:block}.landing-planner-price strong{font-size:30px}.landing-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:820px;margin:0 auto;display:grid}#pricing>h2,#pricing>.landing-sub,#faq>h2{text-align:center}.plan-flag{background:var(--green-bg);color:var(--green-text);border-radius:999px;justify-self:start;padding:2px 10px;font-size:12px;font-weight:600}.landing-plan{gap:12px;padding:30px}.landing-plan.featured{box-shadow:inset 0 0 0 2px var(--primary), var(--shadow-card)}.landing-plan h3{font-size:20px}.landing-price{letter-spacing:-.02em;font-size:32px;font-weight:700}.landing-price .muted{font-size:16px;font-weight:500}.landing-plan ul{gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.landing-plan li{align-items:flex-start;gap:8px;font-size:14px;display:flex}.landing-plan li svg{color:var(--green-text);flex:none;margin-top:3px}.landing-plan{flex-direction:column;display:flex}.landing-plan .button{margin-top:auto}.landing-plan .plan-flag{align-self:flex-start}.landing-faq{gap:10px;max-width:820px;margin:0 auto;display:grid}.landing-faq details{border-radius:var(--r-md);background:var(--bg);box-shadow:var(--shadow-soft);padding:18px 22px}.landing-faq summary{cursor:pointer;font-weight:600}.landing-faq details p{margin-top:10px}.landing-final{text-align:center;justify-items:center;gap:14px;padding:72px 24px;display:grid}.landing-final h2{margin-bottom:0}.landing-icons{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;display:flex}.landing-icons svg{margin-right:-8px}.landing-footer{border-top:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:28px 0 40px;display:flex}.landing-siblings{flex-basis:100%}.landing-siblings a{text-decoration:underline}@media (max-width:900px){.landing-hero,.landing-planner{grid-template-columns:minmax(0,1fr)}.landing-hero{padding-top:24px}.landing-steps,.landing-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.landing{padding:0 16px}.landing-nav nav a:not(.button){display:none}.landing-plans{grid-template-columns:minmax(0,1fr)}.landing-planner{padding:26px}}.library-head{align-items:flex-start;margin-bottom:20px}.page-count{color:var(--text-2);margin-top:4px;font-size:14px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.book-card{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:10px;padding:16px;display:flex}.book-card:hover{border-color:var(--text-3)}.book-card-head{align-items:flex-start;gap:10px;display:flex}.book-card-head .icon-chip{margin-top:-2px}.book-card-title{overflow-wrap:anywhere;flex:1;min-width:0;padding-top:4px;font-size:15px;font-weight:650;line-height:1.35}.book-card-title:hover{text-underline-offset:3px;text-decoration:underline}.book-card-head .item-controls{flex:none;margin:-4px -6px 0 0}.book-card-meta{color:var(--text-2);font-size:13px}.book-card-open{align-self:flex-start;margin-top:auto}.example-line-actions{align-items:center;gap:4px;display:flex}.example-line{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-top:24px;padding-top:16px;font-size:14px;display:flex}.button.small{height:32px;padding:0 12px;font-size:13px}.library-search{margin-bottom:28px}.search-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-form .search-field{flex:280px;min-width:0}.search-select{flex:0 180px;min-width:140px;display:block}.search-select select{background-color:var(--bg);min-height:46px;box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-soft);border-radius:12px}.search-submit{height:46px}.search-field{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-soft);color:var(--text-3);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field:focus-within{box-shadow:inset 0 0 0 1px var(--border-strong), 0 0 0 3px var(--ring)}.search-field input{min-width:0;height:46px;box-shadow:none;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:15px}.search-results .view-bar{margin-top:20px}.hit-list{margin:0;padding:0;list-style:none}.hit-path{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.hit-path:hover{color:var(--text)}.hit-list .sheet-row{grid-template-columns:minmax(0,1fr) 116px auto;align-items:center;gap:8px 20px;min-height:0;padding:14px 8px;display:grid}.hit-list .sheet-row:hover,.hit-list .sheet-row:focus-within{background:var(--surface)}.hit-list .sheet-name{justify-items:start;gap:3px;min-width:0;display:grid}.hit-list .sheet-title{font-size:15px;line-height:1.35}.hit-list .hit-path,.hit-list .hit-format{overflow-wrap:anywhere;max-width:100%;font-size:13px;line-height:1.4}.hit-list .hit-format{color:var(--text-2)}.hit-list .tag{justify-self:start}.hit-list .sheet-actions{gap:6px}.hit-list .sheet-open{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:10px;padding:0 12px;font-weight:600}.hit-list .sheet-open:hover{background:var(--surface-2)}.sheet-preview{height:32px;color:var(--text-2);border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:550;display:inline-flex}.sheet-preview:hover{background:var(--surface-2);color:var(--text)}@media (max-width:640px){.hit-list .sheet-row{flex-wrap:wrap;align-items:center;gap:10px 8px;display:flex}.hit-list .sheet-name{flex:100%}.hit-list .tag{margin-right:auto}}.pager{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;display:flex}.view-switch{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;margin:28px 0 6px;padding:4px;display:flex}.view-switch a{height:34px;color:var(--text-2);border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:550;display:inline-flex}.view-switch a[aria-current=page]{background:var(--bg);color:var(--text);box-shadow:var(--shadow-soft)}.view-switch .muted{font-weight:500}.archive-note{margin-top:14px}.archive-note a,.login-switch a{text-underline-offset:3px;text-decoration:underline}.sheet-menu{z-index:80;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);width:232px;box-shadow:var(--shadow-pop);padding:6px;display:grid;position:fixed}.sheet-menu-group{display:grid}.sheet-menu hr{border:0;border-top:1px solid var(--border);margin:4px 6px}.sheet-menu [role=menuitem]{width:100%;height:40px;box-shadow:none;color:var(--text);background:0 0;border-radius:8px;justify-content:flex-start;gap:10px;padding:0 10px;font-size:14px;font-weight:500}.sheet-menu [role=menuitem] span{color:var(--text-2);display:inline-flex}.sheet-menu [role=menuitem]:hover,.sheet-menu [role=menuitem]:focus-visible{background:var(--surface);outline:none}.sheet-menu [role=menuitem]:active{transform:none}.sheet-menu .danger-text,.sheet-menu .danger-text span{color:var(--red-text)}.sheet-menu .danger-text:hover,.sheet-menu .danger-text:focus-visible{background:var(--red-bg)}.sheet-menu.as-sheet{overscroll-behavior:contain;scrollbar-gutter:stable;width:auto;max-width:420px;max-height:calc(100dvh - 24px);margin:0 auto;bottom:12px;right:12px;overflow-y:auto;top:auto!important;left:12px!important}.sheet-menu-button[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.form-dialog,.action-dialog{margin:auto;inset:0}.form-dialog{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);width:min(500px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);color:var(--text);padding:0;overflow:hidden}.form-dialog[open]{display:flex}.form-dialog::backdrop{background:#1018282e}.form-dialog>form{flex-direction:column;flex:1;min-height:0;display:flex}.form-dialog-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px 24px;display:flex}.form-dialog-head h2{font-size:18px}.form-dialog-body{overscroll-behavior:contain;flex:auto;align-content:start;gap:14px;min-height:0;padding:16px 24px;display:grid;overflow-y:auto}.form-dialog-body input,.form-dialog-body textarea,.form-dialog-body select{border-color:var(--border-strong)}.form-dialog-foot{border-top:1px solid var(--border);flex:none;gap:10px;padding:14px 24px 18px;display:grid}.form-dialog-foot .alert{margin:0}.field-error{color:var(--red-text);font-size:13px;font-weight:500}input[aria-invalid=true]{border-color:var(--red-text)}@media (max-width:480px){.form-dialog-head{padding-left:16px}.form-dialog-body,.form-dialog-foot{padding-left:16px;padding-right:16px}.form-dialog .form-grid{grid-template-columns:minmax(0,1fr)}}.action-dialog{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);width:min(420px,100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:var(--shadow-pop);color:var(--text);padding:20px;overflow-y:auto}.action-dialog::backdrop{background:#1018282e}.action-dialog h2{overflow-wrap:anywhere;font-size:17px}.action-dialog input,.action-dialog select{border-color:var(--border-strong)}.toast-slot{position:absolute}.toast a{color:inherit;text-underline-offset:3px;text-decoration:underline}.toast.error{background:var(--red-text)}.menu-section{border-top:1px solid var(--border);gap:6px;padding-top:12px;display:grid}.menu-section>button{justify-self:start}.bank-hint{margin-top:12px}.analytics-note{border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);align-items:flex-start;gap:8px;margin:0 0 14px;padding:12px 14px;font-size:14px;display:flex}.analytics-note svg{flex:none;margin-top:3px}.limit-rules{gap:4px;margin:0;display:grid}.limit-rules dt{margin-top:10px;font-weight:650}.limit-rules dd{color:var(--text-2);margin:0;font-size:14px}.login-switch{margin-top:6px}.library-tree{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-card);gap:14px;padding:24px;display:grid}.example-badge{background:var(--sand-bg);color:var(--sand-text);border-radius:999px;justify-self:start;padding:2px 10px;font-size:12px;font-weight:600}.tree-book{align-items:center;gap:10px;display:flex}.tree-book>div{display:grid}.tree-units,.tree-lessons,.tree-sheets{margin:0;padding:0;list-style:none}.tree-units{gap:12px;display:grid}.tree-unit{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.tree-lessons{border-left:1px solid var(--border-strong);gap:8px;margin-top:6px;padding-left:14px;display:grid}.tree-lesson{color:var(--text-2);font-size:13px}.tree-sheet{background:var(--surface);border-radius:10px;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:14px;display:flex}.tree-sheet>svg{color:var(--text-3);flex:none}.tree-sheet-name{overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.tree-sheet-name a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.example-page h1{letter-spacing:-.02em;margin:18px 0 10px;font-size:clamp(28px,4vw,40px)}.example-note{margin-top:8px}.example-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:28px;margin-top:28px;display:grid}.example-layout aside{gap:16px;display:grid}.example-search{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);gap:8px;padding:18px;display:grid}.example-search .search-field{min-height:42px;color:var(--text);font-size:14px}.example-sheet-wrap{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-card);gap:10px;padding:28px;scroll-margin-top:16px;display:grid}.example-sheet-wrap h2{font-size:24px}.example-sheet{gap:14px;margin-top:8px;display:grid}.example-verdict{border-radius:999px;margin-top:6px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.example-verdict.right{background:var(--green-bg);color:var(--green-text)}.example-verdict.wrong{background:var(--red-bg);color:var(--red-text)}.example-verdict.blank,.example-verdict.teacher{background:var(--gray-bg);color:var(--gray-text)}.example-submit{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.landing-aside{color:var(--text-2);align-items:flex-start;gap:10px;margin-top:20px;display:flex}.landing-aside svg{flex:none;margin-top:4px}.landing-split{gap:24px;display:grid}.landing-split>div:first-child h2{letter-spacing:-.02em;margin-bottom:10px;font-size:clamp(26px,3.4vw,34px)}.landing-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.landing-list{color:var(--text-2);gap:6px;margin:0;padding-left:18px;display:grid}@media (max-width:900px){.landing-plans,.example-layout,.landing-checks{grid-template-columns:minmax(0,1fr)}.example-sheet-wrap{padding:20px}}@media (max-width:640px){.item-controls .popover,.db-row:nth-last-child(-n+2) .item-controls .popover{width:auto;max-height:75vh;position:fixed;inset:auto 12px 12px}.search-select{flex:140px}.search-submit{flex:100%}.library-tree{padding:18px}.tree-sheet{flex-wrap:wrap}}@media print{.match-columns{grid-template-columns:1fr 1fr}.match-item{border-color:#999;min-height:0}.match-hint{display:none}.zone-field,.zone-choice{box-shadow:none;background:0 0;border-color:#0000}.zone-choice:after,.zone-links{display:none}.zone-choice.on{border-color:#111}}.text-link{color:var(--text);text-underline-offset:3px;font-weight:550;text-decoration:underline}.login-page,.center-page{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{border-radius:var(--r-xl);background:var(--bg);width:100%;max-width:420px;box-shadow:var(--shadow-card);text-align:center;justify-items:center;gap:10px;padding:40px 36px;display:grid}.brand-icon{place-items:center;display:inline-grid}.login-card .brand-icon.large{background:var(--primary);width:56px;height:56px;color:var(--on-primary);border-radius:18px}.login-card h1{margin-top:10px;font-size:26px}.login-card>p{margin-bottom:18px;font-size:14px}.login-card form{text-align:left;width:100%}.login-card form button{width:100%;height:46px}.login-card .callout{text-align:left;margin-top:8px}.center-page{text-align:center;align-content:center;justify-items:center;gap:14px;max-width:520px;margin:0 auto}.center-page h1{font-size:28px}@media (max-width:760px){.app-shell{border-radius:0;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100vh;margin:0}.sidebar{border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;height:auto;padding:12px 16px;position:static}.sidebar nav{display:flex}.sidebar nav>*{justify-content:center;width:44px;height:44px;padding:0}.sidebar .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-mark{border-radius:14px;width:44px;height:44px}.topbar{height:auto;padding:14px 16px 0}.crumbs>a,.crumbs>span[aria-current]{max-width:140px}.main-content{padding:16px 16px 80px}.page-head{flex-direction:column;align-items:stretch}.page-title,.title-input{font-size:26px}.editor-toolbar{width:fit-content;margin:0 0 12px auto;position:sticky;top:8px;right:auto}.save-status{display:none}.block-controls{opacity:1}.editor-block{padding:14px}.property,.student-name{grid-template-columns:110px minmax(0,1fr)}.db-row{grid-template-columns:minmax(0,1fr) auto 80px}.db-row>:nth-child(3),.db-row>:nth-child(4){display:none}.stat-tiles{gap:8px}.stat-tile{border-radius:var(--r-md);padding:12px 14px}.stat-tile strong{font-size:22px}.stat-tile .stat-date{font-size:13px}.callout{flex-direction:column;align-items:stretch}.row-date{display:none}.row .tag{flex:none}.chart-tick{font-size:20px}.chart-end-label{font-size:22px}.profile-head .avatar.large{width:48px;height:48px;font-size:17px}.form-grid,.block-menu{grid-template-columns:1fr}.page-grid{grid-template-columns:1fr 1fr}.overlay-body{grid-template-columns:1fr}.image-view-head{flex-direction:column}.callout{flex-wrap:wrap}.interactive-document,.submission-success{border-radius:var(--r-lg);padding:22px 18px}.student-page.wide .interactive-document{padding:16px 10px}.submit-area{flex-direction:column;align-items:stretch}.submission-row summary{flex-wrap:wrap}.submission-row time{display:none}.a4-page{min-height:0;padding:10mm}.preview-toolbar{margin:8px}}@page{size:A4;margin:18mm}@page image-sheet{margin:10mm}@media print{html,body{font-size:11pt;color:#111!important;background:#fff!important;margin:0!important;padding:0!important}.no-print,nav,button,.sidebar,.preview-hint{display:none!important}button.match-item{display:flex!important}.preview-page{background:#fff;padding:0}.a4-page{box-shadow:none;border-radius:0;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important}.print-block{break-inside:avoid}.print-block-text,.print-block-table{break-inside:auto}.document-heading{break-after:avoid}.document-table thead{display:table-header-group}.document-table tr{break-inside:avoid}.worksheet-instructions,.document-instruction,.document-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.image-sheet{page:image-sheet;max-width:none!important;padding:0!important;display:block!important}.image-page{break-after:page;break-inside:avoid}.image-page:last-child{break-after:auto}.image-page img{object-fit:contain;width:100%;max-height:277mm;box-shadow:none!important;border-radius:0!important}.zoom-content{width:100%!important}.student-page,.image-view{max-width:none;box-shadow:none;border-radius:0;margin:0;padding:0}.document-image img{max-height:230mm}}.guide-page{font-size:16px}.guide-page .muted.small,.guide-page .landing-eyebrow{font-size:14px}.guide-crumbs{flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.guide-crumbs a:hover{color:var(--text)}.guide-hero{padding:32px 0 40px}.guide-hero h1{letter-spacing:-.025em;overflow-wrap:break-word;max-width:22em;font-size:clamp(30px,4.4vw,46px);line-height:1.1}.landing-hero.guide-hero{padding:32px 0 56px}@media (min-width:901px){.landing-hero.guide-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.guide-section{padding:40px 0}.guide-section>h2:has(+.guide-lead){margin-bottom:10px}.guide-lead{max-width:40em;color:var(--text-2);margin-bottom:24px;font-size:18px}.guide-note{max-width:46em;color:var(--text-2);margin-top:20px}.guide-note a{color:var(--text);text-underline-offset:3px;align-items:center;gap:4px;font-weight:600;text-decoration:underline;display:inline-flex}.guide-visuals{gap:24px;min-width:0;display:grid}.guide-demo{max-width:760px;margin-top:4px}.guide-group{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;font-size:15px;font-weight:650;display:flex}.guide-visuals>.guide-group~.guide-group{margin-top:8px}.guide-flow{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));counter-reset:none;gap:28px;margin:0;padding:0;list-style:none;display:grid}.guide-flow>li{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);align-content:start;gap:12px;padding:20px;display:grid;position:relative}.guide-flow>li+li:before{content:"";border-top:2.5px solid var(--text-2);border-right:2.5px solid var(--text-2);width:14px;height:14px;position:absolute;top:50%;left:-21px;transform:translateY(-50%)rotate(45deg)}.guide-flow-top{color:var(--text-2);justify-content:space-between;align-items:center;display:flex}.guide-flow p{font-weight:600;line-height:1.35}.guide-chain>li{gap:6px}.guide-chain h3{margin-top:6px;font-size:18px}.guide-chain p{color:var(--text-2);font-weight:400}.guide-chain .icon-chip{background:var(--surface);box-shadow:none}.guide-blocks{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:10px 16px;margin:0;padding:0;list-style:none;display:grid}.guide-blocks>li{border-radius:var(--r-md);background:var(--bg);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.guide-blocks-icon{background:var(--surface);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.guide-blocks-text{min-width:0;line-height:1.3;display:grid}.guide-blocks-text>span{color:var(--text-2);font-size:15px}.guide-blocks .guide-badge{margin-top:0}@media (max-width:480px){.guide-blocks>li{grid-template-columns:auto minmax(0,1fr)}.guide-blocks .guide-badge{grid-column:2}}.guide-badge{white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;gap:5px;margin-top:4px;padding:3px 9px;font-size:14px;font-weight:600;display:inline-flex}.guide-badge.auto{background:var(--green-bg);color:var(--green-text)}.guide-badge.teacher{background:var(--sand-bg);color:var(--sand-text)}.gm-lines{gap:6px;display:grid}.gm-lines>span{background:var(--border-strong);border-radius:4px;height:7px}.gm-lines>span:nth-child(2n){width:82%}.gm-lines>span:last-child:not(:first-child){width:58%}.gm-opts{gap:5px;display:grid}.gm-opt{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border);border-radius:7px;align-items:center;gap:8px;padding:3px 8px;display:flex}.gm-opt.on{box-shadow:inset 0 0 0 1.5px var(--text);font-weight:650}.gm-radio{border:1.5px solid var(--text-2);border-radius:50%;flex:none;width:12px;height:12px}.on .gm-radio{border:4px solid var(--text)}.gm-stage{min-width:0;height:100%;color:var(--text);justify-content:center;align-items:center;gap:12px;font-size:12px;line-height:1.2;display:flex;position:relative}.gm-sheet{background:var(--bg);width:128px;box-shadow:var(--shadow-card);border-radius:6px;align-content:start;gap:7px;padding:12px;display:grid}.gm-sheet.small{width:104px;transform:rotate(-4deg)}.gm-sheet-head{border-bottom:1px solid var(--border-strong);grid-template-columns:14px 1fr;align-items:center;gap:6px;padding-bottom:6px;display:grid}.gm-logo{background:var(--sand-bg);width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--sand-text);border-radius:50%}.gm-phone{background:var(--bg);width:132px;box-shadow:inset 0 0 0 3px var(--text), var(--shadow-card);border-radius:18px;align-content:start;gap:7px;padding:10px 10px 12px;display:grid}.gm-phone-bar{background:var(--text);border-radius:4px;justify-self:center;width:36px;height:4px}.gm-both{transform:scale(.84)}.gm-both .gm-phone{z-index:1;margin-top:26px;margin-left:-28px;position:relative}.guide-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;display:grid}.guide-cards.n1{max-width:640px}.guide-cards.n1 .guide-card{grid-template-columns:auto minmax(0,1fr);gap:4px 16px}.guide-cards.n1 .guide-card .icon-chip{grid-row:1/span 2}.guide-card p{color:var(--text-2)}.guide-card-pic{border-radius:var(--r-md);background:var(--surface);height:176px;margin:-8px -8px 6px;padding:12px;display:block;overflow:hidden}.guide-compare{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:16px;max-width:920px;display:grid}.guide-compare-side{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);align-content:start;gap:14px;padding:24px;display:grid}.guide-compare.change .before{background:var(--surface-2);box-shadow:none}.guide-compare-side.after{box-shadow:inset 0 0 0 2px var(--primary), var(--shadow-card)}.guide-compare-side h3{align-items:center;gap:10px;font-size:18px;display:flex}.guide-compare-side ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-compare-side li,.guide-checks li{align-items:flex-start;gap:10px;font-weight:500;display:flex}.guide-compare-side li svg,.guide-checks li svg{color:var(--green-text);flex:none;margin-top:4px}.guide-compare .before li{color:var(--text-2)}.guide-dot{background:var(--text-2);border-radius:50%;flex:none;width:8px;height:8px;margin:8px 4px 0}.guide-compare-arrow{color:var(--text-2);place-items:center;display:grid}.guide-compare.plans .guide-compare-arrow{visibility:hidden}.guide-chips{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.guide-pill{background:var(--bg);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;padding:8px 16px;font-weight:600;display:inline-flex}.guide-pill.strong,.guide-pill.result{background:var(--primary);color:var(--on-primary)}.guide-pill.result{font-size:18px}.guide-pill.zone{background:var(--chart)}@supports (color:color-mix(in lab, red, red)){.guide-pill.zone{background:color-mix(in srgb, var(--chart) 10%, var(--bg))}}.guide-pill.zone{box-shadow:inset 0 0 0 2px var(--chart)}@supports (color:color-mix(in lab, red, red)){.guide-pill.zone{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--chart) 55%, transparent)}}.guide-formula{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guide-formula-part{align-items:center;gap:10px;display:inline-flex}.guide-op{color:var(--text-2);font-size:22px;font-weight:700}.guide-map{gap:12px;max-width:560px;display:grid}.guide-map-head,.guide-map li{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:12px;display:grid}.guide-map-head{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:600}.guide-map ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-map li svg{color:var(--text-2)}.guide-map .guide-pill{justify-content:center}.guide-overlay{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:36px;max-width:860px;display:grid}.guide-overlay-pic{width:min(380px,42vw);display:block}.guide-overlay-pic img{border-radius:var(--r-lg);width:100%;height:auto;box-shadow:var(--shadow-card);display:block}.guide-overlay>div{gap:18px;display:grid}.guide-overlay h3{font-size:18px}.guide-checks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.guide-facts li{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px 20px;font-weight:500;display:grid}.guide-fact-value{letter-spacing:-.02em;place-items:center;min-width:64px;font-size:28px;font-weight:700;display:grid}.guide-tips{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.guide-tips li{border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:18px 20px;display:grid}.guide-tips .icon-chip{background:var(--surface);box-shadow:none}.guide-duo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:32px;display:grid}.guide-duo .guide-flow,.guide-duo .guide-cards{grid-template-columns:minmax(0,1fr)}.guide-duo .guide-flow>li+li:before{top:-19px;left:50%;transform:translate(-50%)rotate(135deg)}.guide-duo .guide-flow{gap:24px}.guide-duo .guide-flow>li{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:16px;padding:16px 20px}.guide-duo .guide-flow-top{gap:12px}.guide-duo .guide-card.has-mock{grid-template-rows:auto 1fr;grid-template-columns:200px minmax(0,1fr);align-items:start;column-gap:20px}.guide-duo .guide-card.has-mock .guide-card-pic{grid-row:1/span 2;margin:0}.guide-duo .guide-card.has-mock h3{align-self:end}.guide-shot{gap:10px;margin:0;display:grid}.guide-shot img{border-radius:var(--r-lg);width:100%;height:auto;box-shadow:var(--shadow-card)}.guide-shot.wide{max-width:960px}.guide-duo:has(.guide-shot.tall){grid-template-columns:minmax(0,1fr) minmax(0,380px)}.guide-shot.phone{justify-self:center;max-width:300px}.guide-shot.phone img,.guide-hero-shot.phone img{border:6px solid var(--text);border-radius:30px}.guide-card-pic.guide-card-shot{aspect-ratio:16/10;height:auto;box-shadow:inset 0 0 0 1px var(--border);padding:0}.guide-card-shot img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.guide-hero-shot{margin:0}.guide-hero-shot img{border-radius:var(--r-lg);width:100%;height:auto;box-shadow:var(--shadow-card);display:block}.guide-hero-shot.phone{justify-self:center;width:min(300px,100%)}.guide-shot figcaption{color:var(--text-2);font-size:14px}.guide-shot figcaption a{color:var(--text);text-underline-offset:3px;font-weight:600;text-decoration:underline}.guide-links ul{flex-wrap:wrap;gap:10px 14px;margin:0;padding:0;list-style:none;display:flex}.guide-links a{background:var(--bg);box-shadow:var(--shadow-soft);border-radius:999px;padding:10px 16px;font-weight:600;display:inline-block}.guide-links a:hover{color:var(--primary)}.guide-links>h2{margin-bottom:18px}@media (max-width:1000px){:is(.guide-duo,.guide-duo:has(.guide-shot.tall)){grid-template-columns:minmax(0,1fr)}.guide-duo .guide-shot.tall{max-width:420px}}@media (max-width:900px){.guide-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-flow>li+li:before{display:none}}@media (max-width:640px){.guide-hero h1{font-size:30px}.guide-cards.n1 .guide-card{grid-template-columns:minmax(0,1fr)}.guide-cards.n1 .guide-card .icon-chip{grid-row:auto}.guide-lead{font-size:17px}.guide-flow,.guide-duo .guide-flow{grid-template-columns:minmax(0,1fr);gap:24px}.guide-flow>li{grid-template-columns:auto minmax(0,1fr);align-items:center;padding:14px 16px}.guide-chain>li{grid-template-columns:auto minmax(0,1fr);column-gap:14px}.guide-chain>li .icon-chip{grid-row:1/span 2}.guide-chain h3{margin-top:0}.guide-flow-top{gap:12px}.guide-flow>li+li:before{display:block;top:-18px;left:34px;transform:rotate(135deg)}.guide-duo .guide-card.has-mock{grid-template-columns:minmax(0,1fr)}.guide-duo .guide-card.has-mock .guide-card-pic{grid-row:auto}.guide-compare{grid-template-columns:minmax(0,1fr)}.guide-compare-arrow{transform:rotate(90deg)}.guide-compare.plans .guide-compare-arrow{display:none}.guide-overlay{grid-template-columns:minmax(0,1fr);gap:20px}.guide-overlay-pic{width:min(380px,100%)}.guide-hero-shot.phone{width:min(260px,100%)}.guide-map-head,.guide-map li{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px}.guide-pill{padding:8px 12px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
