:root{--color-bg:#eef2ff;--color-bg-deep:#e0e7ff;--color-surface:#fff;--color-surface-alt:#f5f3ff;--color-surface-raised:#eef2ff;--color-border:#d8dcf5;--color-border-strong:#c2c8ef;--color-text:#2b2a66;--color-text-strong:#1b1a45;--color-muted:#595596;--color-muted-soft:#605f93;--color-primary:#4f46e5;--color-primary-soft:#818cf8;--color-primary-strong:#4338ca;--color-accent:#f59e0b;--color-pink:#db2777;--color-success:#166534;--color-success-soft:#dcfce7;--color-warning:#b45309;--color-warning-soft:#fef3c7;--color-danger:#dc2626;--color-danger-soft:#fee2e2;--gradient-primary:linear-gradient(135deg,#6d28d9,#be185d);--gradient-primary-soft:linear-gradient(135deg,rgba(79,70,229,.12),rgba(219,39,119,.12));--gradient-header:linear-gradient(135deg,#6d28d9,#4f46e5 55%,#be185d);--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--shadow-sm:0 1px 2px rgba(49,46,129,.06),0 2px 6px rgba(49,46,129,.05);--shadow-md:inset 0 2px 0 hsla(0,0%,100%,.6),0 8px 22px rgba(79,70,229,.12);--shadow-lg:0 22px 48px rgba(79,70,229,.16);--motion-fast:120ms;--motion-base:180ms;--easing-out:cubic-bezier(0.16,1,0.3,1);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv02","cv03","cv04","ss01";color-scheme:light}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-bg);background-image:radial-gradient(circle at 0 0,rgba(167,139,250,.15),transparent 35%),radial-gradient(circle at 100% 0,rgba(236,72,153,.08),transparent 40%);background-attachment:fixed;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}h1,h2,h3{letter-spacing:-.02em;line-height:1.2}h1{font-size:1.75rem;font-weight:800;margin-top:0}h2{font-size:1.25rem;font-weight:700}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}.shell{max-width:1100px;margin:0 auto;padding:32px 24px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:box-shadow var(--motion-base) var(--easing-out),transform var(--motion-base) var(--easing-out)}.card:hover,nav.shell{box-shadow:var(--shadow-md)}nav.shell{background:var(--color-surface);border:1px solid var(--color-border);margin-top:24px;margin-bottom:12px;padding:10px 18px!important;flex-wrap:wrap;row-gap:8px}nav a,nav.shell{border-radius:var(--radius-full)}nav a{margin-right:4px;color:var(--color-text);text-decoration:none;font-weight:600;font-size:14px;padding:6px 12px;transition:background var(--motion-base) var(--easing-out),color var(--motion-base) var(--easing-out);white-space:nowrap}@media (max-width:640px){nav.shell{border-radius:var(--radius-xl);padding:10px 14px!important}nav.shell>span{margin-left:0!important;width:100%;justify-content:flex-start!important;flex-wrap:wrap}nav.shell [data-testid=admin-auth-email],nav.shell [data-testid=admin-auth-status]{overflow:hidden;text-overflow:ellipsis;max-width:60vw}}nav a:hover{background:var(--color-surface-raised);color:var(--color-primary-strong);text-decoration:none}.error{color:var(--color-danger)}.success{color:var(--color-success)}.muted{color:var(--color-muted-soft)}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #e5e7eb;padding:10px 8px;text-align:left;font-size:14px}th{color:var(--color-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}tbody tr{transition:background var(--motion-base) var(--easing-out)}tbody tr:hover{background:var(--color-surface-alt)}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:16px;gap:16px;align-items:start}.content-course{border-top:1px solid #ede9fe;padding-top:12px;margin-top:12px}.content-unit{margin:12px 0 0 12px}.inline-create-form{align-items:end;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:14px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(160px,1fr) minmax(120px,.8fr) minmax(92px,.45fr) auto;margin:10px 0;padding:12px}.inline-create-form label{display:grid;grid-gap:4px;gap:4px;font-size:13px;font-weight:700}.inline-create-form input,.inline-create-form select{border:1px solid var(--color-border);border-radius:8px;font:inherit;padding:9px;width:100%;background:var(--color-surface);transition:border-color var(--motion-base) var(--easing-out),box-shadow var(--motion-base) var(--easing-out)}.inline-create-form input:focus,.inline-create-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(124,58,237,.18)}.inline-create-form button,.lesson-actions button{border:0;border-radius:999px;background:var(--gradient-primary);color:#fff;cursor:pointer;font-weight:700;padding:9px 14px;font-size:13px;transition:transform var(--motion-fast) var(--easing-out),box-shadow var(--motion-base) var(--easing-out),filter var(--motion-base) var(--easing-out)}.inline-create-form button:hover:not(:disabled),.lesson-actions button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 8px 18px rgba(124,58,237,.25);transform:translateY(-1px)}.inline-create-form button:disabled,.lesson-actions button:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.4)}.lesson-list{display:grid;grid-gap:6px;gap:6px;list-style:none;margin:8px 0 0;padding:0}.lesson-row{align-items:center;border-bottom:1px solid #f3e8ff;display:flex;gap:8px;justify-content:space-between;padding:8px 0}.lesson-actions{display:flex;gap:6px}.status-pill{display:inline-block;border-radius:999px;background:var(--color-surface-raised);color:var(--color-primary-strong);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;vertical-align:middle}.link-button{border:0;background:transparent;color:var(--color-primary);cursor:pointer;padding:4px 0;text-align:left;font:inherit}.link-button.selected,.link-button:hover{text-decoration:underline;color:var(--color-primary-strong)}.content-form{display:grid;grid-gap:12px;gap:12px}.content-form label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.content-form input,.content-form select,.content-form textarea{width:100%;border:1px solid var(--color-border);border-radius:8px;font:inherit;padding:10px 12px;background:var(--color-surface);transition:border-color var(--motion-base) var(--easing-out),box-shadow var(--motion-base) var(--easing-out)}.content-form input:focus,.content-form select:focus,.content-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(124,58,237,.18)}.content-form textarea{min-height:96px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.content-form button{border:0;border-radius:999px;background:var(--gradient-primary);color:#fff;cursor:pointer;font-weight:700;padding:12px 22px;transition:transform var(--motion-fast) var(--easing-out),box-shadow var(--motion-base) var(--easing-out),filter var(--motion-base) var(--easing-out)}.content-form button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 10px 22px rgba(124,58,237,.25);transform:translateY(-1px)}.content-form button:disabled{cursor:wait;opacity:.7}.wide-card{grid-column:1/-1}.exercise-editor-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);grid-gap:16px;gap:16px;align-items:start}.exercise-list{margin:0;padding-left:18px}.options-fieldset{border:1px solid var(--color-border);border-radius:12px;display:grid;grid-gap:10px;gap:10px;padding:12px;background:var(--color-surface-alt)}.option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:end}.checkbox-label{align-items:center;display:flex!important;gap:8px!important;white-space:nowrap}.checkbox-label input{width:auto}.asset-result{border:1px dashed var(--color-primary-soft);border-radius:12px;margin-top:16px;padding:12px;background:var(--color-surface-alt)}.asset-result code{word-break:break-all}.asset-result textarea{width:100%;min-height:88px;border:1px solid var(--color-border);border-radius:8px;padding:10px}.asset-inline-preview,.asset-library-entry{align-items:flex-start;display:flex;gap:12px}.asset-thumbnail{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;display:inline-flex;flex:0 0 96px;height:96px;justify-content:center;overflow:hidden;width:96px}.asset-thumbnail img{height:100%;object-fit:cover;width:100%}.asset-metadata{display:grid;grid-gap:4px;gap:4px;margin:6px 0 0}.asset-metadata div{display:flex;flex-wrap:wrap;gap:4px}.asset-metadata dt{color:var(--color-muted-soft);font-size:12px;font-weight:800}.asset-metadata dd{font-size:12px;margin:0;overflow-wrap:anywhere}.asset-library{border-top:1px solid #ede9fe;margin-top:18px;padding-top:16px}.asset-library-list{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:12px 0 0;padding:0}.asset-library-list li{align-items:center;border:1px solid var(--color-border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px;background:var(--color-surface);transition:box-shadow var(--motion-base) var(--easing-out)}.asset-library-list li:hover{box-shadow:var(--shadow-sm)}.asset-associations button,.asset-library-list button{border:0;border-radius:999px;background:var(--gradient-primary);color:#fff;cursor:pointer;font-weight:700;padding:10px 16px;transition:filter var(--motion-base) var(--easing-out),transform var(--motion-fast) var(--easing-out)}.asset-associations button:hover:not(:disabled),.asset-library-list button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.asset-associations button:disabled,.asset-library-list button:disabled{cursor:not-allowed;opacity:.55}button.cta,button[type=submit]:not([class]){border:0;border-radius:999px;background:var(--gradient-primary);color:#fff;cursor:pointer;font-weight:700;padding:10px 20px;font-size:14px;transition:transform var(--motion-fast) var(--easing-out),filter var(--motion-base) var(--easing-out)}button.cta:hover:not(:disabled),button[type=submit]:not([class]):hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}button.secondary{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-primary-strong);cursor:pointer;font-weight:700;padding:10px 18px;font-size:14px;transition:transform var(--motion-fast) var(--easing-out),background var(--motion-base) var(--easing-out)}button.secondary:hover:not(:disabled){background:var(--color-surface-raised);transform:translateY(-1px)}button.cta:disabled,button.secondary:disabled{cursor:not-allowed;opacity:.6}.inline-create-form button.danger,.lesson-actions button.danger,button.danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.inline-create-form button.danger:hover:not(:disabled),.lesson-actions button.danger:hover:not(:disabled),button.danger:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 8px 18px rgba(220,38,38,.28)}.confirm-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9000;padding:24px}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-width:480px;width:100%;padding:24px;display:grid;grid-gap:14px;gap:14px}.confirm-dialog h3{margin:0}.confirm-dialog .confirm-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.confirm-dialog input[type=text]{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font:inherit}.confirm-dialog .confirm-warning{color:#b91c1c;font-size:13px;margin:0}@media (max-width:820px){.content-grid,.exercise-editor-grid,.form-row,.inline-create-form,.option-row{grid-template-columns:1fr}.asset-library-list li,.lesson-row{align-items:stretch;flex-direction:column}.lesson-actions{flex-wrap:wrap}}