:root{--app-bg: #f4f5f7;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--border: #e5e7eb;--border-strong: #d1d5db;--text: #0f172a;--text-2: #475569;--text-3: #58677a;--brand: #364a51;--brand-600: #25363c;--brand-50: #eef3f3;--brand-100: #d7e2e3;--danger: #dc2626;--success: #15803d;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--sh-1: 0 1px 2px rgba(15,23,42,.06);--sh-2: 0 2px 8px rgba(15,23,42,.08);--sh-3: 0 8px 24px rgba(15,23,42,.12);--ring: 0 0 0 3px #2f6f7a;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--app-bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:1000;left:12px;top:12px;transform:translateY(-160%);padding:9px 12px;border-radius:8px;background:var(--brand);color:#fff;text-decoration:none}.skip-link:focus{transform:none}::selection{background:var(--brand-100)}button{font-family:inherit;font-size:14px;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--brand)}input,select,textarea{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:8px 14px;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s,transform .04s}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--sh-1)}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-3)}.btn-icon{padding:6px;border-radius:var(--r-md)}.btn:disabled{opacity:.55;cursor:default;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full);border:2px solid var(--app-bg)}*::-webkit-scrollbar-thumb:hover{background:var(--text-3)}app-root .course-settings-action{display:inline-flex;align-items:center;gap:7px;border-color:var(--border-strong);color:var(--text-2);font-weight:700;background:var(--surface)}app-root .course-settings-action:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}@media(max-width:1100px){app-root .cols{position:relative;grid-template-columns:38px minmax(0,1fr) 38px!important}app-root .cols.welcome{grid-template-columns:38px minmax(0,1fr) 0!important}app-root .left{grid-column:1}app-root .center{grid-column:2;min-width:0}app-root .right{grid-column:3}app-root .left.open,app-root .right.open{position:absolute;top:0;bottom:0;z-index:70;width:min(320px,calc(100% - 46px));box-shadow:0 18px 48px #0f172a2e}app-root .left.open{left:0}app-root .right.open{right:0}}@media(max-width:900px){app-root .course-settings-action{width:36px;justify-content:center;padding-inline:0}app-root .course-settings-action span{display:none}}@media(max-width:620px){app-root .course-identity{display:none}app-root .workbench{grid-template-columns:54px minmax(0,1fr)}app-root .cols{grid-template-columns:34px minmax(0,1fr) 34px!important}app-root .cols.welcome{grid-template-columns:34px minmax(0,1fr) 0!important}app-root .left.open,app-root .right.open{width:min(310px,calc(100% - 34px))}}
