.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}.cx-card{display:grid;grid-template-rows:120px auto;border-radius:14px;overflow:hidden;border:1px solid var(--s-line,var(--ws-line));background:var(--s-card,var(--ws-card,var(--surface)));color:var(--s-text,var(--on-surface));text-decoration:none;transition:border-color .15s,background .15s}.cx-card:hover{background:var(--s-subtle,var(--ws-hover));border-color:var(--s-line-strong,var(--ws-line-strong))}.cx-cover{position:relative;background:var(--cx-cover,linear-gradient(135deg,#5cbfa6,#7c3aed));background-size:cover;background-position:50%}.cx-cover__badge{position:absolute;top:10px;inset-inline-start:10px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(6px)}.cx-body{padding:14px 16px 16px;display:grid;gap:4px}.cx-title{font-weight:700;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.cx-meta{font-size:13px;color:var(--s-soft,var(--on-surface-variant))}.cx-new{display:grid;place-items:center;gap:8px;min-height:200px;border:1.5px dashed var(--ws-line-strong,rgba(127,127,127,.35));border-radius:14px;background:transparent;color:var(--on-surface-variant);cursor:pointer;font:inherit}.cx-new:hover{color:var(--primary);border-color:var(--primary)}.cb{max-width:860px;margin:0 auto;padding:8px 4px 80px;display:grid;gap:22px}.cb-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cb-top__spacer{flex:1}.cb-status{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--ws-active,rgba(127,127,127,.15))}.cb-status[data-live=true]{background:color-mix(in srgb,#16a34a 18%,transparent);color:#16a34a}.cb-hero{border-radius:18px;overflow:hidden;border:1px solid var(--ws-line,rgba(127,127,127,.2))}.cb-hero .cx-cover{height:160px}.cb-hero__body{padding:18px 22px 22px;display:grid;gap:8px}.cb-title{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:inherit}.cb-desc,.cb-title{font-family:inherit;border:0;background:transparent;width:100%;outline:none;padding:0}.cb-desc{font-size:15px;color:var(--on-surface-variant);resize:none;line-height:1.5}.cb-desc:focus-visible,.cb-title:focus-visible{box-shadow:0 2px 0 var(--primary)}.cb-section h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);margin:0 0 10px}.cb-lessons{display:grid;gap:8px;list-style:none;margin:0;padding:0}.cb-lesson{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:12px;border:1px solid var(--ws-line,rgba(127,127,127,.2));background:var(--surface,transparent)}.cb-lesson__no{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--ws-active,rgba(127,127,127,.15))}.cb-lesson__title{font-weight:600;color:inherit;text-decoration:none;display:block}.cb-lesson__title:hover{color:var(--primary)}.cb-lesson__meta{font-size:12px;color:var(--on-surface-variant)}.cb-lesson__actions{display:flex;gap:2px}.cb-add{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;border:1.5px dashed var(--ws-line-strong,rgba(127,127,127,.35));background:transparent;color:var(--on-surface-variant);cursor:pointer;font:inherit;font-weight:600}.cb-add:hover{color:var(--primary);border-color:var(--primary)}.cb-row{display:grid;gap:6px}.cb-row label{font-size:13px;font-weight:600}.cb-note{font-size:13px;color:var(--on-surface-variant)}.cb-problems{border-radius:12px;padding:12px 14px;background:color-mix(in srgb,#dc2626 12%,transparent);font-size:14px}.cb-vis{display:grid;gap:8px}.cb-vis label{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--ws-line,rgba(127,127,127,.2));cursor:pointer}.cb-vis label[data-disabled=true]{opacity:.55;cursor:not-allowed}.cx-state{padding:20px;border:1px solid var(--s-line,var(--ws-line));border-radius:12px;background:var(--s-subtle,var(--surface-container));color:var(--s-soft,var(--on-surface-variant));font-size:14px;line-height:1.65}.cx-card:focus-visible{outline:2px solid var(--s-accent,var(--primary));outline-offset:4px}.cx-body{min-width:0;overflow-wrap:anywhere}.cp{background:var(--s-bg);color:var(--s-text);padding-block-end:40px}.cp-hero,.cp-main{max-width:916px;margin-inline:auto;padding-inline:28px}.cp-hero{padding-block:40px 32px}.cp-kicker{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:500;color:var(--s-soft);text-decoration:none}.cp-kicker:hover{color:var(--s-accent)}.cp-cover{height:clamp(120px,23vw,220px);margin-block:16px 28px;border-radius:14px;background:var(--cx-cover,var(--s-subtle));background-size:cover;background-position:50%;border:1px solid var(--s-line)}.cp-cover--image{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.cp-hero h1{font-family:inherit;font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1.17;letter-spacing:-.035em;margin-block:0 16px;overflow-wrap:anywhere;text-wrap:balance}.cp-hero p{font-size:17px;line-height:1.7;max-width:65ch;margin:0}.cp-by,.cp-hero p{color:var(--s-soft);overflow-wrap:anywhere}.cp-by{margin-block-start:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}.cp-by a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.cp-by a:hover{color:var(--s-accent)}.cp-main{padding-block:0 48px}.cp-start{margin-block:0 32px}.cp-outline-title{margin-block:0 16px;font-size:18px;font-weight:600}.cp-lessons{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cp-lesson{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border-radius:14px;background:var(--s-card);border:1px solid var(--s-line);color:inherit;text-decoration:none;transition:border-color .15s,background .15s}.cp-lesson:hover{border-color:var(--s-line-strong);background:var(--s-subtle)}.cp-lesson__no{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--s-subtle);font-size:13px;font-weight:600;color:var(--s-soft)}.cp-lesson__title{font-size:16px;font-weight:600;line-height:1.5}.cp-lesson__desc,.cp-lesson__title{display:block;overflow-wrap:anywhere}.cp-lesson__desc{font-size:14px;line-height:1.65;color:var(--s-soft);margin-block-start:4px}.cp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:16px}.cp-tags span{max-width:100%;font-size:12px;padding:4px 10px;border-radius:6px;background:var(--s-subtle);color:var(--s-soft);overflow-wrap:anywhere}.cp a:focus-visible{outline:2px solid var(--s-accent);outline-offset:4px}.cb-arrow:dir(rtl),.cp-arrow:dir(rtl){transform:rotate(180deg)}@media (max-width:480px){.cp-hero,.cp-main{padding-inline:20px}.cp-hero{padding-block-start:24px}.cp-lesson{padding:14px;gap:10px;grid-template-columns:28px minmax(0,1fr) auto}.cp-lesson__no{width:28px;height:28px}.cp-start{width:100%}}@media (prefers-reduced-motion:reduce){.cp .cp-start,.cp-lesson,.cx-card{transition:none}}.cb-page{max-width:none;padding-top:0;gap:0}.cb-page>:not(.vb,.ws-overlay){width:100%;max-width:860px;margin-inline:auto}.cb-page>.lx-cover>img{border-radius:12px}.cb-page>.lx-cover>.lx-cover-picker{max-width:calc(100% - 32px)}.cb-page>.cb-hero{margin-top:40px;border:0;border-radius:0;overflow:visible}.cb-page>.lx-cover+.cb-hero{margin-top:0}.cb-page .cb-hero__body{padding:4px 0 0;gap:6px}.cb-page .cb-title{font-size:clamp(32px,5vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.35}.cb-page .cb-desc:focus-visible,.cb-page .cb-title:focus-visible{box-shadow:none}.cb-page .cb-desc{font-size:16px;field-sizing:content;min-height:1.5lh;overflow:hidden}.cb-page>.cb-section{margin-top:32px}.cb-page .cb-section h2{margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--ws-line,rgba(127,127,127,.2));font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}.cb-page .cb-lessons{gap:1px}.cb-page .cb-lesson{grid-template-columns:24px 1fr auto;gap:10px;padding:6px 8px;border:0;border-radius:6px;background:transparent}.cb-page .cb-lesson:hover{background:var(--ws-hover,rgba(55,53,47,.06))}.cb-page .cb-lesson__no{width:22px;height:22px;border-radius:5px;font-size:12px;font-weight:600}.cb-page .cb-lesson__actions{opacity:0;transition:opacity .12s ease}.cb-page .cb-lesson:focus-within .cb-lesson__actions,.cb-page .cb-lesson:hover .cb-lesson__actions{opacity:1}.cb-page .cb-add{justify-content:flex-start;padding:8px;border:0;border-radius:6px;font-weight:500}.cb-page .cb-add:hover{background:var(--ws-hover,rgba(55,53,47,.06));color:var(--on-background)}@media (hover:none){.cb-page .cb-lesson__actions{opacity:1}}.cb-desc,.cb-title,.cp-lesson__desc,.cp-lesson__title,.cx-title{text-align:start}.cb-title:dir(rtl),.cp-hero:dir(rtl) h1{letter-spacing:normal;line-height:1.5}.cb-modules{display:grid;gap:16px}.cb-module-assignments{display:grid;gap:12px}.cb-module-assignments label{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:12px;align-items:center}.cp-modules{display:grid;gap:32px}.cp-module header{margin-bottom:12px}.cp-module header p{color:var(--on-surface-variant);font-size:13px}@media(max-width:560px){.cb-module-assignments label{grid-template-columns:minmax(0,1fr)}}.cp-continue{display:grid;gap:12px;margin-bottom:32px;max-width:480px}.cp-continue .cp-start{margin-bottom:0;width:fit-content}.cp-continue p,.cp-facts{color:var(--on-surface-variant);font-size:14px}.cp-lesson[data-locked]{cursor:default}.cp-lesson[data-locked]:hover{border-color:var(--s-line);background:var(--s-card)}.cp-lesson[data-locked] .cp-lesson__desc,.cp-lesson[data-locked] .cp-lesson__title{opacity:.6}.cp-lesson__lock{color:var(--s-soft)}.cp-enroll{max-width:520px}.cp-enroll__name{display:grid;gap:6px;font-size:14px;font-weight:600}.cp-enroll__name input{font-weight:400}.cp-enroll__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.cp-enroll__signin{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.cp-outcomes{margin-block:32px}.cp-outcomes ul{display:grid;gap:10px;padding-inline-start:22px;margin-top:16px}.cs-students{display:grid;gap:10px;min-width:0}.cs-students__scroll{overflow-x:auto;border:1px solid var(--ws-line);border-radius:12px;background:var(--ws-card)}.cs-table th{position:static;background:transparent}.cs-table tbody tr:last-child td{border-bottom:0}.cs-who{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}a.cs-who:hover strong{text-decoration:underline;text-underline-offset:3px}.cs-avatar{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:999px;overflow:hidden}.cs-name{display:grid;line-height:1.25}.cs-name strong{font-weight:600}.cs-name small{font-size:12px;color:var(--on-surface-variant)}.cs-progress{display:inline-grid;grid-template-columns:96px auto;align-items:center;gap:10px;font-size:13px;font-variant-numeric:tabular-nums}.cs-progress .ws-bars__track{grid-column:auto;height:6px}.cs-muted{color:var(--on-surface-variant);font-size:13.5px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.cb-outline__head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--ws-line,rgba(127,127,127,.2));margin-bottom:6px}.cb-page .cb-outline__head h2{border-bottom:0;margin:0}.cb-module{margin-top:14px}.cb-module__head{display:flex;align-items:center;gap:8px;padding:2px 8px}.cb-module__title{flex:1;min-width:0;font:inherit;font-weight:650;font-size:15px;background:transparent;border:0;border-radius:6px;padding:4px 6px;margin-inline-start:-6px;color:inherit}.cb-module__title:focus,.cb-module__title:hover{background:var(--ws-hover,rgba(55,53,47,.06));outline:none}.cb-module__head .cb-lesson__actions{opacity:.6}.cb-module__quiz{padding:4px 8px;font-size:13px;color:var(--on-surface-variant)}.cb-module__quiz summary{cursor:pointer}.cb-module__ungrouped{margin:16px 8px 4px;font-size:13px;font-weight:600;color:var(--on-surface-variant)}.cb-lesson__actions .ws-select{min-width:120px}.cp-back{display:flex;width:fit-content;align-items:center;gap:6px;min-height:44px;padding-inline:8px;margin-block-end:16px;border-radius:8px;color:var(--s-soft);text-decoration:none;font-size:14px}.cp-back:hover{color:var(--s-text);background:var(--s-bg)}.cp-back:focus-visible{outline:2px solid currentColor;outline-offset:2px}.cp-back:dir(rtl) svg{transform:rotate(180deg)}