@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/lms/assets/plus-jakarta-sans-latin-eXO_dkmS.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/lms/assets/plus-jakarta-sans-latin-ext-DmpS2jIq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/lms/assets/plus-jakarta-sans-vietnamese-qRpaaN48.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}:root{--finch-navy: #002060;--finch-navy-deep: #00174b;--finch-navy-abyss: #001f26;--finch-teal: #169c9b;--finch-teal-bright: #18a8a8;--finch-teal-deep: #0c869d;--finch-teal-dark: #006a6a;--finch-teal-pressed: #005a5a;--finch-cover-teal: #0b7a8e;--finch-tint: #d8f0f0;--finch-orange: #f09030;--finch-orange-deep: #dd8120;--finch-orange-ink: #8f4e00;--finch-orange-tint: #ffdcc2;--finch-ink: var(--finch-navy-deep);--finch-body: #3d4949;--finch-body-dim: #5c6a6a;--finch-canvas: #faf8ff;--finch-surface: #ffffff;--finch-surface-tint: #f2f3ff;--finch-surface-violet: #ebedff;--finch-banner-wash: #e8f6ff;--finch-chip-sky: #adecff;--finch-teal-code: #00687a;--finch-muted: #687370;--finch-slate-fill: #95a7ba;--finch-banner-glow-teal: rgb(24 168 168 / .15);--finch-banner-glow-sky: rgb(134 228 254 / .2);--finch-border: #e3e7ff;--finch-border-strong: #c9d2f5;--finch-success: #177245;--finch-success-tint: #e2f4e9;--finch-warning: #9a6200;--finch-warning-tint: #fdf0d3;--finch-danger: #b3261e;--finch-danger-tint: #fbe7e5;--finch-font-sans: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--finch-text-xs: .75rem;--finch-text-sm: .875rem;--finch-text-md: 1rem;--finch-text-hero-sub: 1.125rem;--finch-text-lg: 1.25rem;--finch-text-xl: 1.625rem;--finch-text-2xl: 2.125rem;--finch-weight-regular: 400;--finch-weight-medium: 500;--finch-weight-semibold: 600;--finch-weight-bold: 700;--finch-weight-extrabold: 800;--finch-eyebrow-tracking: .12em;--finch-sidebar-width: 288px;--finch-header-height: 64px;--finch-page-padding: 24px;--finch-content-max: 1180px;--finch-radius-sm: 8px;--finch-radius-md: 12px;--finch-radius-lg: 16px;--finch-radius-xl: 24px;--finch-radius-pill: 999px;--finch-shadow-whisper: 0 1px 1px rgb(0 0 0 / .05), 0 1px 2px rgb(0 23 75 / .05);--finch-shadow-card: 0 1px 2px rgb(0 23 75 / .06), 0 8px 24px rgb(0 23 75 / .07);--finch-shadow-raised: 0 2px 6px rgb(0 23 75 / .08), 0 16px 40px rgb(0 23 75 / .12);--finch-focus-ring: 0 0 0 3px var(--finch-tint), 0 0 0 5px var(--finch-teal-bright)}*{box-sizing:border-box}body{margin:0;font-family:var(--finch-font-sans);font-size:var(--finch-text-md);color:var(--finch-body);background:var(--finch-canvas)}h1,h2,h3{color:var(--finch-ink);margin:0}a{color:var(--finch-teal-dark)}:focus-visible{outline:none;box-shadow:var(--finch-focus-ring);border-radius:var(--finch-radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-64px;z-index:200;padding:10px 18px;border-radius:999px;background:var(--finch-navy);color:#fff;font-weight:var(--finch-weight-bold);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:12px;color:#fff}.shell-main:focus,.shell-main :is(h1,h2)[tabindex="-1"]:focus{outline:none}.shell{display:grid;grid-template-columns:var(--finch-sidebar-width) 1fr;grid-template-rows:var(--finch-header-height) 1fr;grid-template-areas:"sidebar header" "sidebar main";min-height:100vh}.shell-header{grid-area:header;display:flex;align-items:center;gap:24px;padding:0 var(--finch-page-padding);background:var(--finch-surface);border-bottom:1px solid var(--finch-border)}.shell-wordmark{text-decoration:none;font-size:var(--finch-text-lg);white-space:nowrap}.shell-wordmark-finch{color:var(--finch-navy);font-weight:var(--finch-weight-bold)}.shell-wordmark-lms{color:var(--finch-teal-bright);font-weight:var(--finch-weight-regular)}.shell-search{flex:1;max-width:520px}.shell-search input{width:100%;padding:10px 16px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-pill)}.shell-user{margin-left:auto;display:flex;align-items:center;gap:10px}.shell-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--finch-navy);color:var(--finch-tint);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold)}.shell-user-name{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.shell-sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:20px;padding:20px 16px;background:var(--finch-surface);border-right:1px solid var(--finch-border);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.shell-brand{padding:2px 4px 0}.shell-brand .shell-wordmark{display:flex;align-items:center;gap:12px}.shell-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--finch-radius-md);background:var(--finch-navy);color:#fff;font-size:var(--finch-text-lg);font-weight:var(--finch-weight-extrabold)}.shell-brand-text{display:flex;flex-direction:column;line-height:1.15}.shell-brand-portal{font-size:var(--finch-text-xs);font-weight:var(--finch-weight-medium);color:var(--finch-body-dim);white-space:nowrap}.shell-streak{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--finch-radius-pill);background:var(--finch-orange-tint);color:var(--finch-orange-ink);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);white-space:nowrap}.shell-streak-flame{width:15px;height:15px;flex:none;color:var(--finch-orange-deep)}.shell-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:20px}.portal-switcher{display:flex;padding:4px;gap:4px;background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-pill)}.portal-switcher button{flex:1;padding:8px 6px;font:inherit;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body);background:transparent;border:none;border-radius:var(--finch-radius-pill);cursor:pointer}.portal-switcher button.active{background:var(--finch-navy);color:#fff}.shell-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.shell-nav-link{display:block;padding:10px 12px;border-radius:var(--finch-radius-md);color:var(--finch-body);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-medium);text-decoration:none}.shell-nav-link:hover{background:var(--finch-surface-tint)}.shell-nav-link.active{background:var(--finch-teal-dark);color:#fff;font-weight:var(--finch-weight-semibold)}.shell-nav-link.active:hover{background:var(--finch-teal-pressed)}.shell-nav-admin{border-top:1px solid var(--finch-border);padding-top:14px}.shell-nav-heading{margin:0 0 6px 12px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold);letter-spacing:var(--finch-eyebrow-tracking);text-transform:uppercase;color:var(--finch-body-dim)}.shell-main{grid-area:main;padding:var(--finch-page-padding);display:flex;flex-direction:column;gap:20px;max-width:calc(var(--finch-content-max) + 2 * var(--finch-page-padding));width:100%;margin:0 auto}.demo-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 16px;background:var(--finch-warning-tint);border:1px solid var(--finch-orange);border-radius:var(--finch-radius-md);font-size:var(--finch-text-sm);color:var(--finch-ink)}.demo-banner-action{flex:none}.demo-hint{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;padding:12px 16px;background:var(--finch-tint);border:1px solid var(--finch-teal-bright);border-radius:var(--finch-radius-md)}.demo-hint-body{min-width:0}.demo-hint-title{margin:0;font-weight:var(--finch-weight-bold);color:var(--finch-navy)}.demo-hint-text{margin:4px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.demo-hint-dismiss{flex:none}.own-activity{margin:0 0 8px;padding:12px 16px;border:1px solid var(--finch-teal);border-radius:var(--finch-radius-md);background:var(--finch-surface)}.own-activity .demo-hint{margin-bottom:8px}.own-activity-heading{margin:0;font-weight:var(--finch-weight-bold);color:var(--finch-navy)}.chip-own{margin-left:8px;background:var(--finch-tint);color:var(--finch-teal-dark)}.shell-main-narrow{max-width:calc(944px + 2 * var(--finch-page-padding))}.page-header h1{font-size:var(--finch-text-2xl);font-weight:var(--finch-weight-extrabold)}.eyebrow{margin:0 0 6px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold);letter-spacing:var(--finch-eyebrow-tracking);text-transform:uppercase;color:var(--finch-teal-dark)}.page-sub{margin:6px 0 0;color:var(--finch-body-dim)}.card{background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-card);padding:20px 24px}.card-title{font-size:var(--finch-text-lg);font-weight:var(--finch-weight-bold);margin-bottom:12px}.section-title{display:flex;align-items:center;gap:10px}.section-title:before{content:"";flex:none;width:6px;height:22px;border-radius:var(--finch-radius-pill);background:var(--finch-teal-bright)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat-card{background:var(--finch-surface);border:none;border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-whisper);padding:16px}.stat-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stat-icon-chip{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:var(--finch-radius-md)}.stat-icon-chip svg{width:20px;height:20px}.stat-icon-chip.tone-violet{background:var(--finch-surface-violet);color:var(--finch-navy-deep)}.stat-icon-chip.tone-teal{background:var(--finch-tint);color:var(--finch-teal-dark)}.stat-icon-chip.tone-orange{background:var(--finch-orange-tint);color:var(--finch-orange-ink)}.stat-value{margin:10px 0 0;font-size:32px;line-height:1.1;font-weight:var(--finch-weight-extrabold);color:var(--finch-navy)}.stat-label{margin:2px 0 0;font-size:11px;font-weight:var(--finch-weight-bold);letter-spacing:var(--finch-eyebrow-tracking);text-transform:uppercase;color:var(--finch-body)}.stat-sub{margin:4px 0 0;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark)}.featured-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.featured-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--finch-border)}.featured-row:last-child{border-bottom:none}.featured-position{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--finch-surface-tint);color:var(--finch-navy);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold)}.featured-name{flex:1;font-weight:var(--finch-weight-medium);color:var(--finch-ink)}.featured-actions{display:flex;gap:8px;flex:none}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.course-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--finch-border)}.course-list li:last-child{border-bottom:none}.course-name{margin:0;font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.course-meta{margin:2px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.chip{flex:none;padding:4px 10px;border-radius:var(--finch-radius-pill);background:var(--finch-success-tint);color:var(--finch-success);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold)}.chip-progress{background:var(--finch-warning-tint);color:var(--finch-warning)}.chip-todo{background:var(--finch-surface-violet);color:var(--finch-navy-deep)}.chip-overdue{background:var(--finch-danger-tint);color:var(--finch-danger)}.due-overdue{color:var(--finch-danger);font-weight:var(--finch-weight-semibold)}.due-note{margin:8px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.enrolled-list{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--finch-border);display:grid;gap:10px}.enrolled-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.enrolled-name{font-weight:var(--finch-weight-semibold);color:var(--finch-ink);font-size:var(--finch-text-sm)}.enrolled-list .assign-form{margin-top:0}.assign-form input[type=date]{padding:8px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md)}.certificate-sheet{border:2px solid var(--finch-teal);border-radius:var(--finch-radius-md);padding:32px 28px;text-align:center;background:var(--finch-surface)}.certificate-holder{font-size:var(--finch-text-2xl);font-weight:var(--finch-weight-extrabold);color:var(--finch-navy-deep);margin:8px 0 0}.certificate-course{font-size:var(--finch-text-xl);font-weight:var(--finch-weight-bold);color:var(--finch-teal-dark);margin:4px 0}.certificate-line{color:var(--finch-body);margin:4px 0}.certificate-issuer{color:var(--finch-body-dim);font-size:var(--finch-text-sm);margin:12px 0 0}.certificate-revoked{color:var(--finch-danger);font-weight:var(--finch-weight-bold);margin:12px 0 0}.certificate-verify{color:var(--finch-body-dim);font-size:var(--finch-text-xs);margin:16px 0 0;overflow-wrap:anywhere}.certificate-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0}.credential-json{background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:12px 16px;font-size:var(--finch-text-xs);overflow-x:auto;text-align:left}.credential-json-details{margin-top:12px;text-align:left}.credential-json-details summary{cursor:pointer;font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark)}.verify-page{max-width:720px;margin:48px auto;padding:0 16px}.verify-card h2{margin-top:4px}@media print{.shell-header,.shell-sidebar,.shell-backdrop,.data-notice,.certificate-actions,.credential-json-details,.page-header{display:none!important}.shell-main{margin:0!important;padding:0!important}.certificate-sheet{border-width:3px}}.placeholder-note{color:var(--finch-body-dim);font-size:var(--finch-text-sm)}.data-notice{margin:0 0 16px;padding:12px 16px;background:var(--finch-surface-tint);border:1px solid var(--finch-teal);border-radius:var(--finch-radius-md);color:var(--finch-body);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.feed-card{border-color:var(--finch-teal);box-shadow:var(--finch-shadow-raised)}.feed-note{margin:0 0 8px;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.feed-list{list-style:none;margin:0;padding:0}.feed-list li{padding:12px 0;border-bottom:1px solid var(--finch-border);font-size:var(--finch-text-md)}.feed-list li:last-child{border-bottom:none}.feed-row{display:flex;align-items:flex-start;gap:12px}.feed-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold)}.feed-avatar-teal{background:var(--finch-tint);color:var(--finch-teal-dark)}.feed-avatar-navy{background:var(--finch-surface-violet);color:var(--finch-navy)}.feed-avatar-orange{background:var(--finch-orange-tint);color:var(--finch-orange-ink)}.feed-avatar-deep{background:var(--finch-banner-wash);color:var(--finch-teal-deep)}.feed-main{flex:1;min-width:0}.feed-sentence{margin:0;line-height:1.45}.feed-sentence .chip{margin-left:8px;vertical-align:2px}.feed-action{color:var(--finch-teal-dark);font-weight:var(--finch-weight-semibold)}.feed-clause{color:var(--finch-body)}.feed-subline{margin:2px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.feed-actor{font-weight:var(--finch-weight-bold);color:var(--finch-navy)}.feed-time{float:right;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.feed-row .feed-time{float:none;flex:none;padding-top:3px;white-space:nowrap}.feed-xapi-note{margin:12px 0 0;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.feed-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:4px}.export-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.feed-filter{display:flex;flex-direction:column;gap:4px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body-dim)}.feed-filter select{font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-regular);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-sm);padding:6px 8px}.banner-xp,.banner-credential,.banner-membership{background:var(--finch-tint);border-color:var(--finch-teal-bright)}.banner-diagnostic{background:var(--finch-warning-tint);border-color:var(--finch-orange)}.banner-xp p,.banner-credential p,.banner-membership p,.banner-diagnostic p{margin:0}.xp-headline{margin:0 0 10px;font-size:var(--finch-text-lg);color:var(--finch-navy)}.xp-bar{height:10px;border-radius:var(--finch-radius-pill);background:var(--finch-tint);overflow:hidden}.xp-bar-fill{height:100%;border-radius:var(--finch-radius-pill);background:var(--finch-teal-bright)}.xp-progress-note{margin:8px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.xp-rules-title{margin:18px 0 6px;font-size:var(--finch-text-md);color:var(--finch-navy)}.xp-rules{list-style:none;margin:0;padding:0}.xp-rules li{display:flex;gap:12px;padding:4px 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.xp-points{flex:0 0 auto;min-width:64px;font-weight:var(--finch-weight-bold);color:var(--finch-teal-dark)}.xp-note{margin:12px 0 0;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.badge-summary{margin:0 0 14px;font-size:var(--finch-text-sm);color:var(--finch-body)}.badge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.badge-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md)}.badge-mark{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.badge-earned .badge-mark{background:var(--finch-tint);color:var(--finch-teal-dark)}.badge-locked .badge-mark{background:var(--finch-surface-tint);color:var(--finch-body-dim);opacity:.65}.badge-text{display:flex;flex-direction:column;gap:2px}.badge-name{font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.badge-locked .badge-name{color:var(--finch-body-dim)}.badge-meta{font-size:var(--finch-text-xs);color:var(--finch-body)}.badge-earned .badge-meta{font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark)}.gradebook-search{max-width:420px}.grade-table{width:100%;border-collapse:collapse;font-size:var(--finch-text-sm)}.grade-table th{text-align:left;padding:8px 10px;color:var(--finch-body-dim);font-weight:var(--finch-weight-semibold);border-bottom:2px solid var(--finch-border)}.grade-table td{padding:10px;border-bottom:1px solid var(--finch-border);color:var(--finch-ink)}.block-palette{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.block-chip{padding:8px 14px;border:1px dashed var(--finch-border-strong);border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);color:var(--finch-navy-deep);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.flag-group{margin-bottom:0}.flag-list{list-style:none;margin:0;padding:0}.flag-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--finch-border)}.flag-row:last-child{border-bottom:none}.flag-label{margin:0;display:flex;align-items:center;gap:10px;font-weight:var(--finch-weight-bold);color:var(--finch-ink)}.flag-desc{margin:4px 0 0;font-size:var(--finch-text-sm)}.flag-default{margin:4px 0 0;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.switch{flex:none;width:52px;height:30px;border-radius:var(--finch-radius-pill);border:1px solid var(--finch-border-strong);background:var(--finch-surface-violet);position:relative;cursor:pointer;padding:0}.switch .switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--finch-shadow-card);transition:left .15s ease}.switch.on{background:var(--finch-teal);border-color:var(--finch-teal-deep)}.switch.on .switch-thumb{left:25px}.reset-button{align-self:flex-start;padding:10px 18px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);cursor:pointer}.reset-button:disabled{opacity:.45;cursor:default}.feature-off h2{font-size:var(--finch-text-lg);margin-bottom:8px}.gauge-track{margin:10px 0 12px}.gauge-fill{height:100%;border-radius:inherit;background:var(--finch-teal)}.gauge-fill.over{background:var(--finch-danger, #b3261e)}.gauge-table-size{margin:0;flex:none;font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--finch-body-dim)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--finch-page-padding)}.auth-card{width:100%;max-width:420px;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-raised);padding:32px}.auth-card-wide{max-width:520px}.auth-card h1{font-size:var(--finch-text-xl);font-weight:var(--finch-weight-extrabold)}.auth-wordmark{margin:0 0 16px;font-size:var(--finch-text-lg);white-space:nowrap}.auth-sub{margin:8px 0 0;color:var(--finch-body-dim)}.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:24px;padding:11px 18px;font:inherit;font-size:var(--finch-text-md);font-weight:var(--finch-weight-semibold);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);box-shadow:var(--finch-shadow-card);cursor:pointer}.auth-google:disabled{opacity:.55;cursor:default}.auth-google-mark{width:20px;height:20px;flex:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 0;font-size:var(--finch-text-xs);color:var(--finch-body-dim);text-transform:uppercase;letter-spacing:var(--finch-eyebrow-tracking)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--finch-border)}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.auth-google+.auth-divider+.auth-form{margin-top:20px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.auth-optional{font-weight:var(--finch-weight-regular);color:var(--finch-body-dim)}.auth-field input{padding:10px 14px;font:inherit;font-size:var(--finch-text-md);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md)}.auth-error{margin:0;padding:10px 14px;background:var(--finch-danger-tint);color:var(--finch-danger);border-radius:var(--finch-radius-md);font-size:var(--finch-text-sm)}.auth-admin-note{margin:0;padding:10px 14px;background:var(--finch-tint);color:var(--finch-navy-deep);border-radius:var(--finch-radius-md);font-size:var(--finch-text-sm)}.auth-submit{padding:12px 18px;font:inherit;font-size:var(--finch-text-md);font-weight:var(--finch-weight-bold);color:var(--finch-surface);background:var(--finch-navy);border:none;border-radius:var(--finch-radius-pill);cursor:pointer}.auth-submit:disabled{opacity:.55;cursor:default}.auth-toggle{margin:20px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body-dim);text-align:center}.auth-link{padding:0;font:inherit;font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark);background:none;border:none;cursor:pointer;text-decoration:underline}.auth-dev-note{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--finch-border);font-size:var(--finch-text-xs);color:var(--finch-body-dim);text-align:center}.role-fieldset{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:8px}.role-fieldset legend{padding:0;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.role-options{display:flex;flex-direction:column;gap:10px}.role-option{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md);cursor:pointer}.role-option:has(input:checked){border-color:var(--finch-teal);background:var(--finch-tint)}.role-option input{margin-top:3px;accent-color:var(--finch-teal)}.role-option-title{display:block;font-weight:var(--finch-weight-bold);color:var(--finch-ink)}.role-option-desc{display:block;margin-top:2px;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.shell-signout{padding:6px 12px;font:inherit;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);cursor:pointer}.shell-signout:hover{background:var(--finch-surface-tint)}.chip-demo{background:var(--finch-orange-tint);color:var(--finch-orange-ink)}.course-list button,.player-nav button,.library-actions button,.assign-form button,.featured-admin button{min-height:44px;padding:8px 16px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap}.course-list button:hover,.player-nav button:hover:not(:disabled),.library-actions button:hover,.assign-form button:hover:not(:disabled),.featured-admin button:hover:not(:disabled){background:var(--finch-surface-tint)}.course-list button:disabled,.player-nav button:disabled,.assign-form button:disabled,.featured-admin button:disabled{opacity:.45;cursor:default}.library-actions{display:flex;gap:8px;flex:none}.library-actions .danger-button,.danger-button{color:var(--finch-danger);border-color:var(--finch-danger)}.course-cover{position:relative;aspect-ratio:16 / 9;overflow:hidden;flex:none;background:linear-gradient(135deg,var(--finch-cover-teal),color-mix(in srgb,var(--finch-cover-teal) 38%,white))}.course-cover img{display:block;width:100%;height:100%;object-fit:cover}.course-cover-fallback{display:flex;align-items:center;justify-content:center}.course-cover-initial{font-size:44px;font-weight:var(--finch-weight-extrabold);line-height:1;letter-spacing:-.02em;color:#ffffffeb;text-shadow:0 2px 8px rgb(0 0 0 / .18)}.course-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:20px}.course-card-grid li.course-card{display:flex;flex-direction:column;justify-content:flex-start;padding:0;border:1px solid var(--finch-border);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-card);overflow:hidden;background:var(--finch-surface)}.course-card-grid li.course-card .course-cover{margin:10px 10px 0;border-radius:var(--finch-radius-md)}.course-cover-chip{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:var(--finch-radius-pill);background:#ffffffe0;color:var(--finch-navy-deep);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold);letter-spacing:.04em}.course-card-body{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1}.course-card-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-card-subtitle{margin:0;font-size:var(--finch-text-sm);color:var(--finch-body)}.course-progress{margin-top:4px}.course-progress-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.course-progress-head strong{color:var(--finch-teal-dark);font-weight:var(--finch-weight-semibold)}.course-progress-track{height:8px;border-radius:var(--finch-radius-pill);background:var(--finch-tint);overflow:hidden}.course-progress-fill{height:100%;border-radius:inherit;background:var(--finch-teal)}.course-list button.course-card-action{margin-top:auto;width:100%;padding:10px 18px;background:var(--finch-navy);border-color:var(--finch-navy);color:#fff}.course-list button.course-card-action:hover{background:var(--finch-navy-deep)}.course-list button.course-card-secondary{width:100%}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;background:radial-gradient(circle 340px at calc(100% - 96px) -64px,var(--finch-banner-glow-teal),transparent 70%),radial-gradient(circle 300px at -48px calc(100% - 96px),var(--finch-banner-glow-sky),transparent 70%),linear-gradient(var(--finch-banner-wash),var(--finch-banner-wash));border-radius:var(--finch-radius-xl);padding:40px}.dashboard-hero .page-sub{font-size:var(--finch-text-hero-sub);line-height:28px;color:var(--finch-body);max-width:576px}.dashboard-hero .dashboard-side-card{box-shadow:var(--finch-shadow-whisper)}.dashboard-hero:not(:has(.dashboard-hero-rail)){grid-template-columns:minmax(0,1fr)}.dashboard-resume-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.continue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.continue-head .card-title{margin-bottom:0;font-size:1.5rem}.continue-controls{display:flex;flex-direction:column;align-items:flex-end}.continue-arrows{display:flex;gap:4px}.carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:50%;box-shadow:var(--finch-shadow-whisper);cursor:pointer}.carousel-arrow svg{width:18px;height:18px}.carousel-arrow:hover:not(:disabled){background:var(--finch-surface-tint)}.carousel-arrow:disabled{opacity:.45;cursor:default;box-shadow:none}.demo-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:#001f2680}.demo-overlay{width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;padding:28px;background:var(--finch-surface);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-raised)}.demo-overlay-title{font-size:var(--finch-text-xl);font-weight:var(--finch-weight-extrabold);color:var(--finch-navy-deep)}.demo-overlay-text{margin:8px 0 0;color:var(--finch-body)}.demo-overlay-actions{display:flex;flex-direction:column;gap:8px;margin:20px 0 16px}.demo-overlay-actions .demo-overlay-action{width:100%;justify-content:flex-start;white-space:normal;text-align:left}.demo-overlay-dismiss{width:100%}.lead-card-actions{display:flex;gap:8px;width:100%;margin-top:auto}.lead-card-actions .btn-primary,.lead-card-actions .btn-secondary{flex:1}.course-list button.btn-primary{color:#fff;background:var(--finch-teal-dark);border-color:var(--finch-teal-dark)}.course-list button.btn-primary:hover:not(:disabled){background:var(--finch-teal-pressed);border-color:var(--finch-teal-pressed)}.feed-more{margin:12px 0 0}.course-home-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}.course-home-tab{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap}.course-home-tab:hover{background:var(--finch-surface-tint)}.course-home-tab.selected{color:#fff;background:var(--finch-teal-dark);border-color:var(--finch-teal-dark)}.course-home-tab.selected:hover{background:var(--finch-teal-pressed);border-color:var(--finch-teal-pressed)}.course-home-item{display:flex;gap:20px;align-items:flex-start;margin-top:12px}.course-home-item .course-cover{width:240px;border-radius:var(--finch-radius-md)}.course-home-item-main{flex:1;min-width:0}.course-home-item-main .lead-card-actions{margin-top:12px;flex-wrap:wrap}@media(max-width:720px){.course-home-item{flex-direction:column}.course-home-item .course-cover{width:100%}}.hero-action-primary,.hero-action-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap;text-decoration:none}.btn-primary{color:#fff;background:var(--finch-teal-dark);border:1px solid var(--finch-teal-dark)}.btn-primary:hover:not(:disabled){background:var(--finch-teal-pressed);border-color:var(--finch-teal-pressed)}.btn-primary:active:not(:disabled){background:var(--finch-teal-pressed)}.btn-secondary{color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);box-shadow:var(--finch-shadow-whisper)}.btn-secondary:hover:not(:disabled){background:var(--finch-surface-tint)}.btn-secondary:active:not(:disabled){background:var(--finch-surface-tint)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-text{display:inline-flex;align-items:center;min-height:44px;padding:4px 2px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark);background:none;border:none;cursor:pointer;white-space:nowrap}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-text:disabled{opacity:.45;cursor:default;text-decoration:none}.hero-action-primary{color:#fff;background:var(--finch-teal-dark);border:1px solid var(--finch-teal-dark)}.hero-action-primary:hover{background:var(--finch-teal-pressed);border-color:var(--finch-teal-pressed)}.hero-action-secondary{color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border);box-shadow:var(--finch-shadow-whisper)}.hero-action-secondary:hover{background:var(--finch-surface-tint)}.dashboard-hero-rail{display:flex;flex-direction:column;gap:16px}.dashboard-side-card{padding:18px 20px}.dashboard-side-big{margin:6px 0 0;font-size:var(--finch-text-lg);font-weight:var(--finch-weight-extrabold);color:var(--finch-navy)}.dashboard-side-note{margin:6px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.streak-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.streak-card-head .eyebrow,.focus-card-head .eyebrow{margin:0}.chip-active{background:var(--finch-orange-tint);color:var(--finch-orange-ink);text-transform:uppercase;letter-spacing:.06em}.streak-big{display:flex;align-items:center;gap:8px}.streak-flame{width:20px;height:20px;flex:none;color:var(--finch-orange-deep)}.streak-segments{display:flex;gap:5px;margin:14px 0 6px}.streak-segment{flex:1;height:6px;border-radius:var(--finch-radius-pill);background:var(--finch-tint)}.streak-segment.on{background:var(--finch-orange-deep)}.streak-segments-caption{margin:0;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body-dim)}.focus-card-head{display:flex;align-items:center;gap:10px}.dashboard-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.course-card-kindrow{display:flex;gap:8px;align-items:center;margin:0 0 8px}.deadline-panel{min-width:0}.deadline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.deadline-row{display:flex;align-items:center;gap:14px;padding:16px;background:var(--finch-surface);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-whisper)}.deadline-date{flex:none;min-width:64px;padding:6px 8px;text-align:center;border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);color:var(--finch-navy);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold)}.deadline-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.deadline-main a{color:var(--finch-ink);font-weight:var(--finch-weight-semibold);text-decoration:none}.deadline-main a:hover{text-decoration:underline}.deadline-when{font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.deadline-open{flex:none;min-height:44px;padding:8px 16px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap}.deadline-open:hover{background:var(--finch-surface-tint)}.week-dots{display:flex;justify-content:space-between;gap:6px;margin:4px 0 12px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px}.week-dot{width:9px;height:9px;border-radius:50%;background:var(--finch-border-strong)}.week-dot.filled{background:var(--finch-teal)}.week-dot.today{outline:2px solid var(--finch-navy);outline-offset:2px}.week-day-label{font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body-dim)}.weekly-total{margin:0;font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.weekly-note{margin:4px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.overview-back{margin:0 0 8px}.overview-back a{color:var(--finch-teal-dark);font-weight:var(--finch-weight-semibold);text-decoration:none}.overview-back a:hover{text-decoration:underline}.overview-title{margin:0;font-size:var(--finch-text-2xl);color:var(--finch-navy-deep)}.overview-enrolled-count{margin:8px 0 0;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-body)}.overview-progress-panel{margin-top:16px;max-width:520px}.overview-progress-note{margin:10px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body)}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.overview-rail{display:flex;flex-direction:column;gap:20px}.module-block{padding:14px 0;border-bottom:1px solid var(--finch-border)}.module-block:first-of-type{padding-top:2px}.module-block:last-child{border-bottom:none;padding-bottom:2px}.module-block.current{background:var(--finch-surface-tint);border-radius:var(--finch-radius-md);padding-left:12px;padding-right:12px}.module-head{display:flex;align-items:center;gap:10px}.module-head h3{margin:4px 0}.module-meta{margin:0 0 10px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold);letter-spacing:var(--finch-eyebrow-tracking);text-transform:uppercase;color:var(--finch-body-dim)}.lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lesson-row{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:var(--finch-radius-md)}.lesson-row.current{background:var(--finch-tint)}.lesson-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--finch-surface-tint);color:var(--finch-navy);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold)}.lesson-row.current .lesson-number{background:var(--finch-navy);color:#fff}.lesson-title{flex:1;min-width:0;font-weight:var(--finch-weight-medium);color:var(--finch-ink)}.lesson-play{flex:none;padding:7px 14px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:#fff;background:var(--finch-navy);border:1px solid var(--finch-navy);border-radius:var(--finch-radius-pill);cursor:pointer;white-space:nowrap}.lesson-play:hover{background:var(--finch-navy-deep)}.grade-value{margin:4px 0 0;font-size:var(--finch-text-2xl);font-weight:var(--finch-weight-extrabold);color:var(--finch-navy)}.grade-lines{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--finch-text-sm);color:var(--finch-body)}.peer-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.peer-row{display:flex;align-items:center;gap:10px;font-weight:var(--finch-weight-medium);color:var(--finch-ink)}.peer-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--finch-teal-dark);color:#fff;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold)}.course-list-cards li.catalog-course{display:block;padding:16px 0}.catalog-course .course-cover{aspect-ratio:auto;height:150px;border-radius:var(--finch-radius-md);margin-bottom:12px}.catalog-course-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.course-rename-form{margin-top:12px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.course-rename-field{display:flex;flex-direction:column;gap:4px;flex:1 1 260px;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.course-rename-field input{padding:8px 10px;font:inherit;font-weight:var(--finch-weight-regular)}.course-rename-actions{display:flex;gap:8px}.course-rename-note{flex-basis:100%;margin:0;font-size:var(--finch-text-sm)}.course-rename-form .auth-error{flex-basis:100%;margin:0}.course-player-form{margin-top:12px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.course-player-field{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:none;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.course-player-field legend{padding:0;margin-bottom:6px;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.course-player-field select{padding:8px 10px;font:inherit;font-weight:var(--finch-weight-regular)}.course-player-option{display:flex;align-items:center;gap:8px;font-weight:var(--finch-weight-regular);cursor:pointer}.course-player-option input{margin:0}.course-player-actions{display:flex;gap:8px}.course-player-form .auth-error{flex-basis:100%;margin:0}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.import-option h3{font-size:var(--finch-text-md);margin-bottom:6px}.import-option p{font-size:var(--finch-text-sm);margin:0 0 12px}.import-button{display:inline-block;padding:10px 18px;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-tint);border:1px solid var(--finch-teal);border-radius:var(--finch-radius-pill);cursor:pointer}.import-button:hover{background:var(--finch-surface-tint)}.import-notice{margin-top:16px;padding:12px 16px;background:var(--finch-success-tint);color:var(--finch-success);border-radius:var(--finch-radius-md);font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold)}.assign-form{display:flex;gap:8px;margin-top:10px;align-items:center}.assign-form select{padding:8px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md)}.structure-section{margin-bottom:20px}.structure-section h3{font-size:var(--finch-text-md);margin-bottom:4px}.activity-days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.activity-days li{display:flex;align-items:center;gap:12px;font-size:var(--finch-text-sm)}.activity-day-label{flex:none;width:64px;color:var(--finch-body-dim)}.activity-day-bar{display:block;height:10px;min-width:2px;border-radius:var(--finch-radius-pill);background:var(--finch-teal)}.activity-day-count{color:var(--finch-ink);font-weight:var(--finch-weight-semibold)}.player-back{margin:0 0 16px}.player-page-card{margin-bottom:16px}.player-flow-card{display:flex;flex-direction:column;flex:1 0 auto}.player-flow-card .player-blocks{flex:1 0 auto}.player-progress{height:8px;margin:12px 0 20px;background:var(--finch-surface-violet);border-radius:var(--finch-radius-pill);overflow:hidden}.player-progress-bar{height:100%;background:var(--finch-teal);border-radius:var(--finch-radius-pill);transition:width .2s ease}.player-blocks{display:flex;flex-direction:column;gap:24px}.player-blocks-contained{width:100%;max-width:var(--player-content-width, 1024px);margin-inline:auto}.player-blocks-full>.player-text,.player-blocks-full>.player-question,.player-blocks-full>.player-process,.player-blocks-full>.player-flipgrid,.player-blocks-full>.player-timeline{width:100%;max-width:var(--player-content-width, 1024px);margin-inline:auto}.player-group{display:flex;flex-direction:column;gap:24px}.player-band,.player-band-nested{padding-block:32px}.player-blocks>.player-band+.player-band{margin-top:-24px}.player-blocks-full>.player-band>:first-child{max-width:var(--player-content-width, 1024px);margin-inline:auto;padding-left:24px;padding-right:24px}@keyframes finch-block-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.player-blocks.player-reveal-on [data-entrance-reveal]{opacity:0;transform:translateY(16px)}.player-blocks.player-reveal-on [data-entrance-reveal].player-revealed{animation:finch-block-reveal .45s ease-out both}}@media print{.player-blocks [data-entrance-reveal]{opacity:1!important;transform:none!important;animation:none!important}}.player-blocks-full>.player-block-wrap{width:100%}.player-blocks-full>.player-block-wrap>.player-text,.player-blocks-full>.player-block-wrap>.player-question,.player-blocks-full>.player-block-wrap>.player-process,.player-blocks-full>.player-block-wrap>.player-flipgrid,.player-blocks-full>.player-block-wrap>.player-timeline{width:100%;max-width:var(--player-content-width, 1024px);margin-inline:auto}.player-text{font-size:17px;line-height:1.9;color:var(--finch-body)}.player-text p{margin:0 0 34px}.player-text p:last-child{margin-bottom:0}.player-text ul,.player-text ol{margin:0 0 34px;padding-left:1.4em}.player-text li{margin-bottom:12px}.player-text li:last-child{margin-bottom:0}.player-text h1,.player-text h2,.player-text h3,.player-text h4{color:var(--finch-ink);line-height:1.25}.player-text h1{font-size:2rem;margin:40px 0 20px}.player-text h2{font-size:1.75rem;margin:48px 0 20px}.player-text h3{font-size:1.375rem;margin:32px 0 12px}.player-text h4{font-size:1.125rem;margin:24px 0 8px}.player-text h1:first-child,.player-text h2:first-child,.player-text h3:first-child,.player-text h4:first-child{margin-top:0}.player-text blockquote{margin:0 0 34px;padding:4px 0 4px 20px;border-left:4px solid var(--finch-teal);font-size:1.25rem;font-style:italic;line-height:1.5;color:var(--finch-ink)}.player-text blockquote p{margin:0 0 8px}.player-text blockquote p:last-child{margin-bottom:0}.player-text.ocf-stmt-a{display:flex;gap:.9em;align-items:flex-start;padding:1em 1.1em;border:1px solid var(--finch-teal);border-radius:var(--finch-radius-md)}.ocf-stmt-icon{flex:0 0 auto;width:1.55em;height:1.55em;margin-top:.1em;border:2px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-style:italic;font-size:.95em;line-height:1}.player-text.ocf-stmt .ocf-text-body{flex:1 1 auto;min-width:0}.player-text.ocf-stmt-b:before,.player-text.ocf-stmt-d:before,.player-text.ocf-quote-b:before,.player-text.ocf-quote-d:before{content:"";display:block;width:3rem;height:4px;border-radius:2px;background:var(--finch-teal);margin-bottom:.6em}.player-text.ocf-stmt-d:before,.player-text.ocf-quote-d:before{margin-inline:auto}.player-text.ocf-stmt-b{font-size:calc(17px * 1.35);font-weight:700;line-height:1.35}.player-text.ocf-stmt-c{font-size:25.5px;font-weight:300;line-height:1.35}.player-text.ocf-stmt-d{font-size:25.5px;font-weight:300;line-height:1.35;text-align:center}.player-text.ocf-stmt-note{text-align:center;font-weight:500;border-top:1px solid var(--finch-border);border-bottom:1px solid var(--finch-border);padding:.9em 1em}.player-text.ocf-quote blockquote{font-size:1.5rem;line-height:1.4;border-left:none;padding-left:0;font-style:normal;margin:0 0 .5em}.player-text.ocf-quote blockquote+p,.ocf-quote-attr{font-size:var(--finch-text-sm)}.ocf-quote-attr p{margin:0}.player-text.ocf-quote-a{display:flex;gap:1em;align-items:flex-start;padding:1.1em 1.2em;border-radius:var(--finch-radius-md)}.player-text.ocf-quote-a .ocf-text-body{flex:1 1 auto;min-width:0}.ocf-quote-avatar{flex:0 0 auto;width:56px;height:56px;border-radius:50%;object-fit:cover}.player-text.ocf-quote-b blockquote{font-weight:600}.player-text.ocf-quote-c blockquote{font-weight:300;font-size:calc(1.5rem * 1.15)}.player-text.ocf-quote-d{text-align:center}.player-text.ocf-quote-d blockquote{font-weight:300}.player-text.ocf-quote-background{padding:2.2em 1.6em;border-radius:var(--finch-radius-md);min-height:8em;display:flex;flex-direction:column;justify-content:center}.player-text.ocf-quote-background blockquote{font-weight:600}.player-text.ocf-quote-carousel{display:flex;flex-wrap:wrap;align-items:center;gap:.75em}.ocf-quote-slide{flex:1 1 12rem;margin:0;text-align:center}.ocf-quote-slide .ocf-quote-avatar{display:block;margin:0 auto .6em}.ocf-quote-slide blockquote{border-left:none;padding-left:0;font-style:normal;font-size:1.5rem;line-height:1.4;margin:0 0 .5em}.ocf-quote-slide .ocf-quote-attr{font-size:var(--finch-text-sm)}.ocf-quote-nav{flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--finch-border);background:var(--finch-surface);color:var(--finch-ink);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.ocf-quote-nav:disabled{opacity:.35;cursor:default}.ocf-quote-nav:focus-visible{outline:2px solid var(--finch-teal);outline-offset:2px}.ocf-quote-pos{flex:1 0 100%;text-align:center;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.ocf-cols-2{column-count:2;column-gap:2.5rem}.ocf-cols-3{column-count:3;column-gap:2.5rem}.ocf-cols-4{column-count:4;column-gap:2.5rem}.ocf-cols :is(p,li,blockquote,h1,h2,h3,h4,h5,h6){break-inside:avoid}.player-process{width:100%}.player-proc-stage{display:flex;align-items:center;gap:.75rem}.player-proc-card{position:relative;flex:1 1 auto;min-width:0;margin-top:1.1rem;padding:1.75rem 1.5rem 1.5rem;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);text-align:center}.player-proc-card.anim-next{animation:finch-proc-in-next .35s ease}.player-proc-card.anim-prev{animation:finch-proc-in-prev .35s ease}@keyframes finch-proc-in-next{0%{transform:translate(3rem);opacity:0}to{transform:translate(0);opacity:1}}@keyframes finch-proc-in-prev{0%{transform:translate(-3rem);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.player-proc-card.anim-next,.player-proc-card.anim-prev{animation:none}}.player-proc-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);padding:.3rem .9rem;border-radius:var(--finch-radius-pill);font-size:var(--finch-text-sm);font-weight:600;letter-spacing:.02em;white-space:nowrap}.player-proc-media{max-width:100%;max-height:300px;border-radius:var(--finch-radius-md);margin-bottom:1rem}.player-proc-title{font-size:1.375rem;font-weight:600;line-height:1.3;color:var(--finch-ink)}.player-proc-title p{margin:0}.player-proc-body{margin-top:.5rem;font-size:17px;line-height:1.9;color:var(--finch-body)}.player-proc-body :is(p,ul,ol){margin:.25em 0}.player-proc-action{margin-top:1.1rem;padding:.6rem 1.75rem;border:none;border-radius:var(--finch-radius-pill);font-size:1rem;font-weight:600;cursor:pointer}.player-proc-action:focus-visible{outline:2px solid var(--finch-teal);outline-offset:2px}.player-proc-nav{flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--finch-border);background:var(--finch-surface);color:var(--finch-ink);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.player-proc-nav:disabled{opacity:.35;cursor:default}.player-proc-nav:focus-visible{outline:2px solid var(--finch-teal);outline-offset:2px}.player-proc-progress{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:1rem}.player-proc-strip-item{min-width:2rem;height:2rem;padding:0 .4rem;border-radius:var(--finch-radius-pill);border:1px solid transparent;background:transparent;color:var(--finch-body-dim);font-size:var(--finch-text-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.player-proc-strip-item.done{color:var(--finch-ink)}.player-proc-strip-item.current{border-color:var(--finch-teal);color:var(--finch-ink);font-weight:700}.player-proc-strip-item:focus-visible{outline:2px solid var(--finch-teal);outline-offset:2px}.player-flipgrid{container-type:inline-size;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;width:100%}.player-flipcard{flex:0 1 min(300px,100%)}@container (min-width: 616px){.player-flipcard{flex-basis:calc((100% - 1rem)/2)}}@container (min-width: 932px){.player-flipcard{flex-basis:calc((100% - 2 * 1rem) / 3)}}@container (min-width: 1248px){.player-flipcard{flex-basis:calc((100% - 3rem)/4)}}.player-flipcard{perspective:600px;background:none;border:none;padding:0;cursor:pointer;min-height:180px;font:inherit;color:inherit;text-align:center}.player-flipcard:focus-visible{outline:2px solid var(--finch-teal);outline-offset:2px}.player-flip-inner{position:relative;display:block;width:100%;height:100%;min-height:180px;transition:transform .45s;transform-style:preserve-3d}.player-flipcard.flipped .player-flip-inner{transform:rotateY(180deg)}@media(prefers-reduced-motion:reduce){.player-flip-inner{transition:none}}.player-flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:var(--finch-surface);color:var(--finch-ink);font-size:1.125rem;line-height:1.5;overflow:hidden}.player-flip-face.back{transform:rotateY(180deg)}.player-flip-face img{max-width:100%;max-height:96px;border-radius:var(--finch-radius-sm)}.player-flip-face p{margin:0}.player-timeline{width:100%}.player-tl-event{display:flex;gap:1rem}.player-tl-rail{flex:0 0 auto;display:flex;flex-direction:column;align-items:center}.player-tl-dot{flex:0 0 auto;width:.8rem;height:.8rem;margin-top:.45rem;border-radius:50%;background:var(--finch-teal)}.player-tl-line{flex:1 1 auto;width:2px;margin-top:.3rem;background:var(--finch-border)}.player-tl-card{flex:1 1 auto;min-width:0;padding-bottom:1.75rem}.player-tl-event:last-child .player-tl-card{padding-bottom:0}.player-tl-date{font-size:var(--finch-text-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--finch-body-dim)}.player-tl-title{margin-top:.2rem;font-size:1.375rem;font-weight:600;line-height:1.3;color:var(--finch-ink)}.player-tl-title p{margin:0}.player-tl-body{margin-top:.4rem;font-size:17px;line-height:1.9;color:var(--finch-body)}.player-tl-body :is(p,ul,ol){margin:.25em 0}.player-tl-media{max-width:100%;max-height:300px;margin-top:.75rem;border-radius:var(--finch-radius-md)}.player-cb{width:100%}.player-cb-frame{position:relative;overflow:hidden;width:100%}.player-cb-stage{position:absolute;left:0;top:0;transform-origin:0 0}.player-cb-child{position:absolute}.player-cb-child>*,.player-cb-stack-child>*{max-width:100%}.player-cb-child .player-text,.player-cb-child .player-shape,.player-cb-child .player-video,.player-cb-child .player-audio,.player-cb-child .player-cb-button,.player-cb-child .player-image{width:100%;height:100%}.player-cb-stack{display:flex;flex-direction:column;gap:12px;padding:12px}.player-cb-stack-child,.player-cb-stack-child .player-video,.player-cb-stack-child .player-audio{width:100%}.player-shape{width:100%;height:100%;box-sizing:border-box}.player-audio{max-width:100%}.player-cb-button{background:var(--finch-teal-deep);color:#fff;border:none;border-radius:var(--finch-radius-md);font:inherit;cursor:pointer;padding:10px 20px}.player-cb-button:focus-visible{outline:2px solid var(--finch-teal-deep);outline-offset:2px}.player-cb-button p{margin:0}.player-image{max-width:100%;height:auto;border-radius:var(--finch-radius-md)}.player-image-wrap{position:relative;display:block;max-width:100%}.player-cb-child .player-image-wrap{width:100%;height:100%}.player-img-centered{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}.player-img-centered .player-image{width:auto;max-width:100%;height:auto}.player-img-banner{aspect-ratio:7 / 2;overflow:hidden;border-radius:var(--finch-radius-md)}.player-img-banner .player-image{width:100%;height:100%;border-radius:0}.player-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:var(--finch-radius-md);overflow:hidden}.player-image-scrim{position:absolute;top:0;right:0;bottom:0;left:0}.player-image-overlay-text{position:relative;padding:24px;color:#fff;text-align:center;font-size:1.25em;font-weight:600;line-height:1.5}.player-image-overlay-text>:first-child{margin-top:0}.player-image-overlay-text>:last-child{margin-bottom:0}.player-image-zoom-btn{position:absolute;top:8px;right:8px;z-index:3;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgb(0 0 0 / .25);background:#ffffffeb;color:#1a1a1a;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 4px #0000004d}.player-image-zoom-btn:hover{background:#fff}.player-imgzoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a0c10d1;display:flex;align-items:center;justify-content:center;padding:24px}.player-imgzoom-dialog{position:relative;max-width:92vw;max-height:88vh;outline:none}.player-imgzoom-img{display:block;width:auto;height:auto;max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 8px 40px #00000080}.player-imgzoom-close{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgb(0 0 0 / .25);background:#ffffffeb;color:#1a1a1a;font-size:16px;line-height:1;cursor:pointer}.player-imgzoom-close:hover{background:#fff}.player-video{width:100%;max-height:480px;border-radius:var(--finch-radius-md);background:var(--finch-navy-abyss)}.player-frame{width:100%;min-height:560px;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);background:var(--finch-surface)}.player-media-placeholder{padding:16px;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);font-size:var(--finch-text-sm)}.player-media-placeholder p{margin:0}.player-unsupported{padding:16px 20px;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);color:var(--finch-body-dim);font-size:var(--finch-text-sm);text-align:center}.player-unsupported p{margin:0}.player-question{border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:16px 20px;margin:0;background:var(--finch-surface)}.player-prompt{font-size:1.125rem;line-height:1.5;font-weight:var(--finch-weight-semibold);color:var(--finch-ink);margin-bottom:12px}.player-prompt p{margin:0}.player-choices{display:flex;flex-direction:column;gap:8px}.player-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);cursor:pointer}.player-choice:hover{background:var(--finch-surface-tint)}.player-choice input{width:18px;height:18px;accent-color:var(--finch-teal);flex:none}.player-choice-label{font-size:1rem;line-height:1.45}.player-choice-label p{margin:0}.player-blanks{display:flex;flex-direction:column;gap:10px}.player-blank{display:flex;flex-direction:column;gap:4px}.player-blank label{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.player-blank input,.player-blank select{padding:10px 12px;font:inherit;color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md);max-width:420px}.player-matching{display:flex;flex-direction:column;gap:8px}.player-match-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.player-match-source{font-size:1rem;line-height:1.45}.player-match-source p{margin:0}.player-match-row select{padding:10px 12px;font:inherit;color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md);max-width:420px;min-height:44px;flex:none}.player-sorting{display:flex;flex-direction:column;gap:10px}.player-sort-progress{font-size:var(--finch-text-sm);color:var(--finch-body-dim);font-weight:var(--finch-weight-semibold)}.player-sort-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.player-sort-card{background:var(--finch-surface);border:2px solid var(--finch-teal);border-radius:var(--finch-radius-md);padding:14px 16px;cursor:grab;color:var(--finch-ink);font-size:1rem;line-height:1.45;touch-action:none;user-select:none;-webkit-user-select:none;max-width:480px}.player-sort-card:focus-visible{outline:3px solid var(--finch-teal-dark);outline-offset:2px}.player-sort-card.dragging{opacity:.4;cursor:grabbing}.player-sort-card.done{border-style:dashed;border-color:var(--finch-border-strong);cursor:default;color:var(--finch-body-dim)}.player-sort-bins{display:flex;flex-wrap:wrap;gap:8px}.player-sort-bin{min-width:140px;min-height:72px;border:2px dashed var(--finch-border-strong);border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.player-sort-bin.selected{border-color:var(--finch-teal-dark);box-shadow:0 0 0 1px var(--finch-teal-dark)}.player-sort-bin-label{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-body-dim)}.player-sort-bin-fill{display:flex;flex-wrap:wrap}.player-sort-chip{display:inline-flex;align-items:center;gap:4px;background:var(--finch-surface-violet);color:var(--finch-ink);border:1px solid var(--finch-teal-dark);border-radius:var(--finch-radius-pill);padding:2px 6px 2px 10px;margin:2px;font-size:var(--finch-text-sm);cursor:grab;touch-action:none}.player-chip-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;width:24px;height:24px;padding:0}.player-sort-hint{color:var(--finch-body-dim);font-size:var(--finch-text-sm)}.player-drag-ghost{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:60;background:var(--finch-surface);border:2px solid var(--finch-teal);border-radius:var(--finch-radius-md);padding:10px 14px;color:var(--finch-ink);box-shadow:0 6px 18px #00174b40;max-width:320px}.player-question-actions{margin-top:14px}button.player-primary,.player-nav button.player-primary{min-height:44px;padding:10px 20px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold);color:var(--finch-navy-deep);background:var(--finch-orange);border:1px solid var(--finch-orange-deep);border-radius:var(--finch-radius-pill);cursor:pointer}button.player-primary:hover:not(:disabled){background:var(--finch-orange-deep)}button.player-primary:disabled{opacity:.45;cursor:default}.player-feedback{margin-top:14px;padding:12px 16px;border-radius:var(--finch-radius-md);background:var(--finch-surface-tint);font-size:1rem;line-height:1.5}.player-feedback p{margin:0}.player-feedback.correct{background:var(--finch-success-tint);color:var(--finch-success)}.player-feedback.incorrect{background:var(--finch-danger-tint);color:var(--finch-danger)}.player-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.player-nav-note{color:var(--finch-body-dim);font-size:var(--finch-text-sm);margin-left:auto}.player-finish-note{font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.player-results .player-score{font-size:var(--finch-text-2xl);font-weight:var(--finch-weight-extrabold);color:var(--finch-navy);margin:0 0 8px}.assistant{margin-top:16px}.assistant-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-navy);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-pill);box-shadow:var(--finch-shadow-whisper);cursor:pointer}.assistant-toggle:hover{background:var(--finch-surface-tint)}.assistant-toggle-icon{width:18px;height:18px;color:var(--finch-teal-dark)}.assistant-panel{margin-top:10px;display:flex;flex-direction:column;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-lg);box-shadow:var(--finch-shadow-raised);overflow:hidden}.assistant-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--finch-surface-tint);border-bottom:1px solid var(--finch-border)}.assistant-title{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-bold);color:var(--finch-navy)}.assistant-remaining{font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.assistant-spacer{flex:1}.assistant-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px -8px -8px 0;font:inherit;font-size:var(--finch-text-md);color:var(--finch-body);background:transparent;border:none;border-radius:var(--finch-radius-pill);cursor:pointer}.assistant-close:hover{background:var(--finch-tint)}.assistant-thread{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow-y:auto;padding:14px}.assistant-intro,.assistant-status,.assistant-note{margin:0;font-size:var(--finch-text-sm);color:var(--finch-body)}.assistant-turn{max-width:92%;padding:9px 12px;border-radius:var(--finch-radius-md)}.assistant-turn-learner{align-self:flex-end;background:var(--finch-tint);color:var(--finch-navy-deep)}.assistant-turn-assistant{align-self:flex-start;background:var(--finch-surface-tint);color:var(--finch-body)}.assistant-text{margin:0;font-size:var(--finch-text-sm);line-height:1.5;white-space:pre-wrap}.assistant-cites{display:flex;align-items:baseline;gap:6px;margin-top:8px;font-size:var(--finch-text-xs)}.assistant-cites-label{color:var(--finch-body-dim)}.assistant-cites-list{display:flex;flex-wrap:wrap;gap:4px 10px;list-style:none;margin:0;padding:0}.assistant-cite{padding:2px 0;font:inherit;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-teal-dark);background:none;border:none;cursor:pointer;text-decoration:underline}.assistant-retry{padding:0 14px 6px}.assistant-lockout,.assistant-blocked{margin:0;padding:12px 14px;font-size:var(--finch-text-sm);color:var(--finch-body);background:var(--finch-warning-tint);border-top:1px solid var(--finch-border)}.assistant-disclosure{padding:12px 14px;font-size:var(--finch-text-sm);color:var(--finch-body);background:var(--finch-surface-tint);border-top:1px solid var(--finch-border)}.assistant-disclosure p{margin:0 0 8px}.assistant-disclosure button{margin-top:2px}.assistant-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--finch-border)}.assistant-input{flex:1;min-height:44px;padding:10px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md)}.assistant-send{flex:none}.assistant-foot{margin:0;padding:8px 14px 12px;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}@media(prefers-reduced-motion:reduce){.assistant-panel{transition:none}}.shell-menu-button,.shell-backdrop{display:none}.global-search{position:relative}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;list-style:none;margin:0;padding:6px;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);box-shadow:var(--finch-shadow-raised);max-height:60vh;overflow-y:auto}.search-option{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--finch-radius-md);cursor:pointer}.search-option.active{background:var(--finch-tint)}.search-option-title{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.search-option-detail{font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.search-empty{padding:10px;font-size:var(--finch-text-sm);color:var(--finch-body-dim)}.table-scroll{overflow-x:auto}.builder-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.builder-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.builder-field label{font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.builder-field input,.builder-field textarea,.builder-field select{padding:10px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md)}.builder-field-row{display:flex;gap:12px;flex-wrap:wrap}.builder-field-grow{flex:1;min-width:200px}.builder-hint{margin:0;font-size:var(--finch-text-xs);color:var(--finch-body-dim)}.field-error{margin:4px 0 0;font-size:var(--finch-text-sm);color:var(--finch-danger)}.builder-page-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.builder-page-tab{width:100%;text-align:left;padding:9px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-body);background:transparent;border:1px solid transparent;border-radius:var(--finch-radius-md);cursor:pointer}.builder-page-tab.active{background:var(--finch-tint);color:var(--finch-navy-deep);font-weight:var(--finch-weight-semibold)}.builder-page-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.builder-block{border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:14px;margin-bottom:14px;background:var(--finch-surface)}.builder-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.builder-block-actions{display:inline-flex;gap:4px}.builder-choices{border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:12px;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.builder-choice-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.builder-choice-row input[type=text]{flex:1;min-width:160px;padding:8px 10px;font:inherit;font-size:var(--finch-text-sm);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md)}.builder-radio-row{display:flex;align-items:center;gap:8px;font-size:var(--finch-text-sm)}.builder-image-preview{max-width:100%;max-height:220px;border-radius:var(--finch-radius-md);border:1px solid var(--finch-border)}.builder-palette{margin-top:6px}.builder-palette-label{margin:0 0 8px;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-semibold);color:var(--finch-ink)}.block-chip-button{padding:8px 12px;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-navy-deep);background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-pill);cursor:pointer}.builder-issue-summary{border:1px solid var(--finch-danger);background:var(--finch-danger-tint);border-radius:var(--finch-radius-md);padding:12px 16px;margin-bottom:14px}.builder-issue-summary ul{margin:6px 0 0;padding-left:20px}.builder-json{overflow-x:auto;font-size:var(--finch-text-xs);background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);padding:12px;max-height:480px;overflow-y:auto}.builder-reasons{margin:8px 0;padding-left:20px}.structure-section{margin-bottom:16px}@media(max-width:880px){.shell{grid-template-columns:1fr;grid-template-rows:var(--finch-header-height) 1fr;grid-template-areas:"header" "main"}.dashboard-hero,.dashboard-split,.overview-grid{grid-template-columns:minmax(0,1fr)}.dashboard-hero{padding:24px 20px}.shell-header{gap:12px;padding:0 12px}.shell-menu-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;font-size:20px;color:var(--finch-navy-deep);background:var(--finch-surface-tint);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);cursor:pointer}.shell-search{flex:1 1 auto;min-width:0;max-width:none}.shell-user-name{display:none}.shell-user{gap:6px;flex:none}.shell-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:80;width:min(300px,85vw);overflow-y:auto;border-right:1px solid var(--finch-border);box-shadow:var(--finch-shadow-raised);transform:translate(-105%);visibility:hidden;transition:transform .22s ease,visibility .22s}.shell-sidebar.open{transform:translate(0);visibility:visible}.shell-sidebar:focus{outline:none}.shell-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00103073}.shell-main{padding:16px 12px;max-width:none}.builder-layout{grid-template-columns:1fr}.course-list li,.player-nav{flex-wrap:wrap}.player-choice{width:100%;min-height:44px}.search-results{max-height:50vh}}.ia-backlink{margin:0 0 16px}.ia-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}.ia-filter{display:flex;flex-direction:column;gap:4px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);color:var(--finch-body-dim)}.ia-filter-note{color:var(--finch-body-dim);margin:12px 0 0}.ia-summary{color:var(--finch-body);margin:0 0 16px}.ia-picker-meta{color:var(--finch-body-dim);font-size:.9em}.ia-finchlearn-note{color:var(--finch-body);margin:0 0 16px}.ia-section-title{margin:24px 0 12px}.ia-question{padding:16px 0;border-top:1px solid var(--finch-border)}.ia-question:first-child{padding-top:0;border-top:none}.ia-question-title{margin:0 0 4px;font-size:1.05rem;color:var(--finch-ink)}.ia-question-meta{margin:0 0 8px;color:var(--finch-body-dim);font-size:.92em}.ia-flags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.chip-flag{background:var(--finch-surface-tint);color:var(--finch-body)}.chip-flag-warn{background:var(--finch-warning-tint);color:var(--finch-warning);font-weight:600}.chip-flag-soft{border:1px dashed var(--finch-border-strong);opacity:.78}.ia-flag-evidence{margin:0 0 10px;font-size:var(--finch-text-sm);color:var(--finch-body)}.chip-correct{background:var(--finch-success-tint);color:var(--finch-success);font-weight:600}.ia-rate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}.ia-rate-label{font-weight:600;color:var(--finch-body);min-width:11rem}.ia-bar{display:block;flex:1 1 160px;max-width:420px;height:10px;border-radius:var(--finch-radius-pill);background:var(--finch-surface-tint);overflow:hidden}.ia-bar-fill{display:block;height:100%;min-width:2px;border-radius:var(--finch-radius-pill);background:var(--finch-teal)}.ia-bar-fill.ia-bar-correct{background:var(--finch-success)}.ia-rate-value{color:var(--finch-body);font-variant-numeric:tabular-nums}.ia-expander{min-height:44px}.ia-breakdown{margin-top:12px}.ia-choices{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.ia-choices li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ia-choice-label{flex:1 1 220px;display:flex;align-items:center;gap:8px;color:var(--finch-body)}.ia-choice-value{color:var(--finch-body-dim);font-variant-numeric:tabular-nums;min-width:8rem}.ia-table{width:100%;border-collapse:collapse;font-size:.95em}.ia-table th,.ia-table td{text-align:left;padding:6px 10px;border-top:1px solid var(--finch-border)}.ia-table thead th{border-top:none;color:var(--finch-body-dim);font-weight:600}.offering-list{list-style:none;margin:0 0 16px;padding:0}.offering-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--finch-border);flex-wrap:wrap}.offering-row:first-child{border-top:none;padding-top:0}.offering-row-main{flex:1 1 320px;min-width:0}.offering-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.offering-form-grid{display:flex;flex-wrap:wrap;gap:14px 20px;margin:8px 0 4px}.offering-field{display:flex;flex-direction:column;gap:6px;font-size:.92em;color:var(--finch-body);flex:0 1 260px}.offering-field input[type=text],.offering-field input[type=number],.offering-field input[type=date],.offering-field select{padding:8px 10px;border:1px solid var(--finch-border);border-radius:8px;background:var(--finch-surface, #fff);color:var(--finch-body);font:inherit}.offering-field-check{flex-direction:row;align-items:center;gap:8px;flex-basis:auto;padding-top:22px}.offering-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.offering-create{border-top:1px solid var(--finch-border);padding-top:14px;margin-top:6px}.offering-publish-panel{border:1px solid var(--finch-border);border-radius:10px;padding:14px 16px;margin-top:14px}.offering-status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px}.offering-update-banner{border:1px solid var(--finch-border);border-left:4px solid var(--finch-teal, #169c9b);border-radius:8px;padding:12px 14px;margin:12px 0}.offering-outline-section{margin-top:14px}.offering-outline-title{margin:0 0 6px;font-size:1em}.offering-outline-list{list-style:none;margin:0;padding:0}.offering-outline-page{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--finch-border)}.offering-outline-page:first-child{border-top:none}.offering-page-hidden{color:var(--finch-body-dim);font-style:italic}.offering-roster{list-style:none;margin:0;padding:0}.offering-roster-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--finch-border);flex-wrap:wrap}.offering-roster-row:first-child{border-top:none;padding-top:0}.offering-roster-row .enrolled-name{flex:0 1 220px}.offering-key-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.offering-key-form .offering-field{flex-basis:200px}.roster-select-box{width:18px;height:18px;flex:0 0 auto}.roster-bulk-bar{margin-top:12px;padding-top:12px;border-top:1px solid var(--finch-border)}.bulk-outcome{margin-top:10px}.bulk-outcome-failures{margin:4px 0 0;padding-left:20px;color:var(--finch-body-dim);font-size:.92em}.bulk-message-box,.group-members{margin-top:10px}.group-import-label{cursor:pointer;display:inline-flex;align-items:center}.exception-learners{border:1px solid var(--finch-border);border-radius:8px;margin:10px 0;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.ia-question-edit{margin:4px 0 0;font-size:.92em}.discussion-prompt{white-space:pre-wrap;margin:0 0 8px}.discussion-posts{list-style:none;margin:0;padding:0}.discussion-post{padding:14px 0;border-top:1px solid var(--border, #d8dee9)}.discussion-post:first-child{border-top:none;padding-top:4px}.discussion-body{white-space:pre-wrap;margin:4px 0 8px}.discussion-tombstone{margin:4px 0 8px;padding:10px 12px;border:1px dashed var(--border, #d8dee9);border-radius:8px;color:var(--text-muted, #5b6472);font-style:italic}.discussion-masked{margin:4px 0 8px;padding:10px 12px;border-radius:8px;background:var(--surface-raised, #eef3f6);color:var(--text-muted, #5b6472)}.discussion-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.discussion-actions input[type=text]{min-width:220px;flex:1 1 220px}.discussion-grade-note,.attendance-preview{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--surface-raised, #eef3f6)}.attendance-preview p{margin:0 0 6px}.attendance-preview summary{cursor:pointer;font-weight:var(--finch-weight-semibold)}.forum-contract{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--surface-raised, #eef3f6)}.forum-contract p{margin:0 0 6px}.forum-contract-progress{list-style:none;margin:6px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}.forum-contract-progress li{display:inline-flex;align-items:center;gap:8px}.discussion-grade-entry{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.discussion-grade-entry input[type=number]{width:84px}.discussion-course-heading{margin:18px 0 8px;font-size:1rem}.discussion-course-heading:first-child{margin-top:0}.chat-home,.chat-thread{display:flex;flex-direction:column;gap:16px}.chat-refresh-note{margin:0}.chat-notice{margin:0;padding:10px 12px;border-radius:8px;background:var(--surface-raised, #eef3f6)}.chat-list{list-style:none;margin:0;padding:0}.chat-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border, #d8dee9)}.chat-row:first-child{border-top:none;padding-top:4px}.chat-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}.chat-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-unread-badge{display:inline-block;min-width:22px;margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--finch-teal-dark, #006a6a);color:#fff;font-size:.78rem;font-weight:600;line-height:1.5;text-align:center;vertical-align:middle}.chat-flag{color:var(--finch-teal-dark, #006a6a);font-weight:600}.chat-toggle{display:flex;gap:8px;align-items:center;font-weight:600;cursor:pointer;min-height:44px}.chat-message-list{list-style:none;margin:0;padding:0}.chat-message{padding:12px 0;border-top:1px solid var(--border, #d8dee9)}.chat-message:first-child{border-top:none;padding-top:4px}.chat-message-head{margin:0 0 2px}.chat-message-body{white-space:pre-wrap;margin:0 0 6px}.chat-message-actions{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-tombstone{margin:0;padding:10px 12px;border:1px dashed var(--border, #d8dee9);border-radius:8px;font-style:italic}.chat-report-form{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-report-form .input{min-width:220px;flex:1 1 220px}.rubric-editor{display:flex;flex-direction:column;gap:14px;margin-top:10px}.rubric-criterion{border:1px solid var(--border, #d8dee9);border-radius:8px;padding:12px;margin:0;display:flex;flex-direction:column;gap:10px}.rubric-criterion-legend{font-weight:600;padding:0 6px}.rubric-levels{display:flex;flex-direction:column;gap:8px}.rubric-level-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.rubric-level-row .offering-field{flex:1 1 160px}.rubric-level-row .rubric-points-field{flex:0 1 110px}.rubric-level-choices{display:flex;flex-wrap:wrap;gap:8px}.rubric-level-btn{text-align:left}.assignment-grading{display:flex;flex-direction:column;gap:12px;padding:12px 0 4px;width:100%}.assignment-learner{padding:12px 0;border-top:1px solid var(--border, #d8dee9)}.assignment-learner:first-child{border-top:none;padding-top:4px}.assignment-grade-detail{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--surface-raised, #eef3f6)}.assignment-rubric-edit{margin-top:14px;display:flex;flex-direction:column;gap:10px}.competency-course{color:var(--muted, #5b6472);font-size:.9rem}.competency-evidence-title{font-size:.95rem;margin:14px 0 6px}.competency-field{display:flex;flex-direction:column;gap:4px;font-size:.9rem;margin-bottom:10px;max-width:420px}.competency-grant-form{display:flex;flex-direction:column;gap:2px;margin-top:10px}.competency-matrix-wrap{overflow-x:auto}.competency-matrix{border-collapse:collapse;width:100%;font-size:.92rem}.competency-matrix th,.competency-matrix td{border-bottom:1px solid var(--line, #e3e7ee);padding:8px 10px;text-align:left;vertical-align:middle}.competency-cell-score{color:var(--muted, #5b6472);font-size:.85rem}.competency-uri{font-size:.8rem;word-break:break-all}.competency-note{color:var(--muted, #5b6472);font-size:.88rem}.competency-unassessed{color:var(--warning-text, #8a5a00);font-size:.88rem}.competency-revoke{display:inline-flex;gap:8px;align-items:center}.competency-scorm-row{border-top:1px solid var(--line, #e3e7ee);padding:12px 0 4px}.competency-registry-list li{align-items:flex-start}@media(max-width:560px){body{overflow-x:clip}.shell-main,.shell-main>*,.card,.stat-card,.course-card{min-width:0}.card{padding:16px}.page-header h1{font-size:1.75rem;line-height:1.15;overflow-wrap:break-word}.stat-row,.course-card-grid{grid-template-columns:minmax(0,1fr)}.course-cover{width:100%;min-height:120px}.course-name{overflow-wrap:anywhere}.lead-card-actions{flex-wrap:wrap}.lead-card-actions .btn-primary,.lead-card-actions .btn-secondary{flex:1 1 150px;white-space:normal;text-align:center}.dashboard-resume-actions{flex-direction:column;align-items:stretch}.grade-table th,.grade-table td{padding:8px}}.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.library-head-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:4px}.library-kpis{margin-bottom:16px}.library-catalog{margin-top:16px}.library-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.library-panel-title{font-size:var(--finch-text-lg);font-weight:var(--finch-weight-semibold)}.library-panel-sub{margin:4px 0 0;color:var(--finch-body-dim);font-size:var(--finch-text-sm)}.library-count{margin:0;padding:4px 10px;border-radius:var(--finch-radius-pill);background:var(--finch-surface-tint);color:var(--finch-body);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);letter-spacing:var(--finch-eyebrow-tracking);white-space:nowrap}.library-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:18px;padding:4px;border-radius:var(--finch-radius-md);background:var(--finch-surface-tint)}.library-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:none;border-radius:var(--finch-radius-sm);background:transparent;color:var(--finch-body);font:inherit;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-medium);cursor:pointer}.library-tab:hover{color:var(--finch-ink)}.library-tab-active{background:var(--finch-surface);color:var(--finch-ink);font-weight:var(--finch-weight-semibold);box-shadow:var(--finch-shadow-whisper)}.library-tab-count{padding:1px 8px;border-radius:var(--finch-radius-pill);background:var(--finch-border);color:var(--finch-body);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold)}.library-tab-active .library-tab-count{background:var(--finch-tint);color:var(--finch-teal-dark)}.library-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.library-search{display:flex;align-items:center;gap:8px;flex:1 1 260px;padding:0 12px;border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md);background:var(--finch-surface);color:var(--finch-body-dim)}.library-search svg{width:18px;height:18px;flex:none}.library-search input{flex:1;min-width:0;padding:10px 0;border:none;background:transparent;font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink)}.library-search input:focus{outline:none}.library-search:focus-within{box-shadow:var(--finch-focus-ring)}.library-sort select{padding:10px 12px;border:1px solid var(--finch-border-strong);border-radius:var(--finch-radius-md);background:var(--finch-surface);font:inherit;font-size:var(--finch-text-sm);color:var(--finch-ink);cursor:pointer}.library-view-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:var(--finch-radius-md);background:var(--finch-surface-tint)}.library-view-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;border:none;border-radius:var(--finch-radius-sm);background:transparent;color:var(--finch-body-dim);cursor:pointer}.library-view-btn svg{width:18px;height:18px}.library-view-btn-active{background:var(--finch-surface);color:var(--finch-ink);box-shadow:var(--finch-shadow-whisper)}.library-grid,.library-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:20px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr))}.library-list{grid-template-columns:1fr;gap:14px}.library-item{min-width:0}.lib-card{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:20px;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-lg)}.lib-card:hover{border-color:var(--finch-border-strong);box-shadow:var(--finch-shadow-card)}.lib-card-list{display:grid;grid-template-columns:190px 1fr;column-gap:20px}.lib-card-list>.course-player-form,.lib-card-list>.course-rename-form{grid-column:1 / -1}.lib-card-cover .course-cover{height:100%;min-height:150px;aspect-ratio:auto;border-radius:var(--finch-radius-md)}.lib-card-main{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1}.lib-card-identity{display:flex;align-items:flex-start;gap:12px}.lib-card-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:var(--finch-radius-md);background:var(--finch-tint);color:var(--finch-teal-dark)}.lib-card-symbol svg{width:22px;height:22px}.lib-card-status-draft .lib-card-symbol{background:var(--finch-warning-tint);color:var(--finch-warning)}.lib-card-classification{flex:1;min-width:0}.lib-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lib-kind-badge{padding:3px 8px;border-radius:6px;background:var(--finch-chip-sky);color:var(--finch-teal-code);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-bold);letter-spacing:.04em}.lib-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold)}.lib-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.lib-status-published{color:var(--finch-teal-dark)}.lib-status-draft{color:var(--finch-warning)}.lib-status-archived{color:var(--finch-body-dim)}.lib-card-context{margin:3px 0 0;color:var(--finch-muted);font-size:var(--finch-text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-menu-wrap{position:relative;flex:none}.lib-menu-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--finch-radius-sm);background:transparent;color:var(--finch-body-dim);cursor:pointer}.lib-menu-button:hover{background:var(--finch-surface-tint);color:var(--finch-ink)}.lib-menu-button svg{width:18px;height:18px}.lib-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:230px;padding:6px;background:var(--finch-surface);border:1px solid var(--finch-border);border-radius:var(--finch-radius-md);box-shadow:var(--finch-shadow-raised)}.lib-menu-label{margin:0;padding:6px 10px 2px;color:var(--finch-body-dim);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-semibold);letter-spacing:var(--finch-eyebrow-tracking);text-transform:uppercase}.lib-menu-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:var(--finch-radius-sm);background:transparent;color:var(--finch-ink);font:inherit;font-size:var(--finch-text-sm);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-menu-item:hover{background:var(--finch-surface-tint)}.lib-menu-item.danger{color:var(--finch-danger)}.lib-menu-divider{height:1px;margin:4px 0;background:var(--finch-border)}.lib-card-title{font-size:var(--finch-text-md);font-weight:var(--finch-weight-semibold);line-height:1.35}.lib-card-distinguisher{margin:2px 0 0;color:var(--finch-muted);font-size:var(--finch-text-xs);font-weight:var(--finch-weight-medium)}.lib-card-activity{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--finch-body);font-size:var(--finch-text-sm)}.lib-students,.lib-tograde{display:inline-flex;align-items:center;gap:7px}.lib-students svg,.lib-tograde svg{width:16px;height:16px;color:var(--finch-body-dim)}.lib-tograde svg{color:var(--finch-teal-dark)}.lib-not-published{color:var(--finch-body-dim)}.lib-card-progress{display:flex;flex-direction:column;gap:6px}.lib-progress-head{display:flex;align-items:baseline;justify-content:space-between;color:var(--finch-body);font-size:var(--finch-text-xs)}.lib-progress-head strong{color:var(--finch-ink);font-size:var(--finch-text-sm)}.lib-progress-track{height:7px;border-radius:var(--finch-radius-pill);background:#00174b14;overflow:hidden}.lib-progress-fill{height:100%;border-radius:var(--finch-radius-pill);background:var(--finch-teal-bright)}.lib-milestone{margin:0;color:var(--finch-muted);font-size:var(--finch-text-xs)}.lib-nextstep-line{margin:0;color:var(--finch-body);font-size:var(--finch-text-sm)}.lib-card-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.lib-card-actions{display:flex;gap:10px;flex-wrap:wrap}.lib-primary,.lib-secondary{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--finch-radius-md);font:inherit;font-size:var(--finch-text-sm);cursor:pointer;white-space:nowrap}.lib-primary{border:1.5px solid var(--finch-teal-bright);background:var(--finch-surface);color:var(--finch-teal-dark);font-weight:var(--finch-weight-semibold)}.lib-primary:hover{background:var(--finch-tint)}.lib-primary svg{width:16px;height:16px}.lib-primary-filled{background:var(--finch-teal-dark);border-color:var(--finch-teal-dark);color:#fff}.lib-primary-filled:hover{background:var(--finch-teal-pressed)}.lib-secondary{border:1px solid var(--finch-border-strong);background:var(--finch-surface);color:var(--finch-ink);font-weight:var(--finch-weight-medium)}.lib-secondary:hover{border-color:var(--finch-body-dim)}.lib-delete-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--finch-text-sm);font-weight:var(--finch-weight-medium)}.lib-card-updated{margin:0 0 0 auto;color:var(--finch-muted);font-size:var(--finch-text-xs);white-space:nowrap}.library-footer{margin:18px 0 0;color:var(--finch-body-dim);font-size:var(--finch-text-sm)}.legal-page{max-width:760px;margin:48px auto;padding:0 16px 64px}.legal-back{margin:16px 0 20px}.legal-doc h1{margin:0 0 4px}.legal-updated{margin:0;color:var(--finch-body-dim);font-size:var(--finch-text-sm)}.legal-doc h2{margin-top:28px}.legal-doc p,.legal-doc li{line-height:1.9}.legal-doc a{color:var(--finch-teal-dark);font-weight:var(--finch-weight-semibold)}.legal-contact{margin-top:36px;padding-top:16px;border-top:1px solid var(--finch-border)}.auth-legal{margin:20px 0 0;font-size:var(--finch-text-sm);color:var(--finch-body-dim);text-align:center}.shell-legal{display:flex;gap:16px;margin:0;padding:0 12px;font-size:var(--finch-text-xs)}.shell-legal a{color:var(--finch-body-dim)}
