:root{--surface-primary: var(--cosmic-latte);--surface-primary-rgb: var(--cosmic-latte);--surface-secondary: var(--cornsilk);--surface-tertiary: var(--lemon-chiffon);--surface-inset: var(--vanilla);--border-primary: var(--cornsilk);--border-interactive: #cbc9c3;--text-primary: var(--jet);--text-secondary: var(--walnut-brown);--text-tertiary: var(--drab-dark-brown);--accent-primary: #fad643;--accent-primary-rgb: #fad643;--accent-primary-darker: #e6c239;--accent-secondary: #8b5cf6;--success: #10b981;--success-darker: #059669;--error: #ef4444;--warning: #f59e0b;--cosmic-latte: #FDF7E3;--cornsilk: #FDF5D9;--lemon-chiffon: #FDF1C5;--vanilla: #FCE99D;--old-gold: #E0BF3D;--walnut-brown: #64573C;--drab-dark-brown: #4A4130;--jet: #302A24;--font-sans: var(--font-serif);--font-serif: "Merriweather", Georgia, serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--space-1x: 4px;--space-2x: 8px;--space-3x: 12px;--space-4x: 16px;--space-5x: 20px;--space-6x: 24px;--space-8x: 32px;--space-10x: 40px;--space-12x: 48px;--space-16x: 64px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-curve: cubic-bezier(.4, 0, .2, 1);--transition-duration: .25s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--surface-primary);color:var(--text-secondary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:var(--surface-secondary)}body::-webkit-scrollbar-thumb{background-color:var(--border-primary);border-radius:4px}body::-webkit-scrollbar-thumb:hover{background-color:var(--border-interactive)}@media (max-width: 900px){body::-webkit-scrollbar{width:0px;height:0px;background:transparent;display:none}body::-webkit-scrollbar-track{background:transparent;display:none}body::-webkit-scrollbar-thumb{background:transparent;display:none}body{scrollbar-width:none;scrollbar-color:transparent transparent}body{-ms-overflow-style:none}html,body{overflow-x:hidden}.main-content::-webkit-scrollbar{display:none}.course-content-area::-webkit-scrollbar{display:none}*::-webkit-scrollbar{width:0px!important;height:0px!important;background:transparent!important}*{scrollbar-width:none!important;-ms-overflow-style:none!important}.course-content-area p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;word-break:break-word}}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-primary);font-weight:600;line-height:1.2;letter-spacing:-.025em}h1{font-size:2.5rem;font-weight:700;margin-bottom:var(--space-6x)}h2{font-size:1.875rem;margin-bottom:var(--space-4x)}h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin-bottom:var(--space-3x)}h4{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2x);text-transform:uppercase;letter-spacing:.05em}p{margin-bottom:var(--space-4x);max-width:65ch;line-height:1.7;color:var(--text-secondary)}.course-content-area p{max-width:85ch;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphenate-limit-chars:6 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:8%;word-wrap:break-word;overflow-wrap:break-word;orphans:3;widows:3;text-wrap:pretty;-webkit-text-wrap:pretty}ul,ol{margin:0 0 var(--space-3x) 0;padding-left:1.25rem;list-style-position:outside}li{margin:.25em 0}ul ul,ol ol{margin:.25em 0;padding-left:1.25rem}a{color:var(--text-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--text-secondary)}code{font-family:var(--font-mono);background-color:var(--surface-inset);padding:2px 6px;border-radius:4px;font-size:.875em;color:var(--text-primary)}pre{background-color:var(--surface-inset);border:1px solid var(--border-primary);border-radius:8px;padding:var(--space-4x);margin-bottom:var(--space-4x);overflow-x:auto;font-size:.875rem;width:100%;max-width:65ch;box-sizing:border-box}.course-content-area pre{max-width:85ch}.course-content-area h1,.course-content-area h2,.course-content-area h3,.course-content-area h4{text-wrap:balance;text-balance:balance}.course-content-area li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;orphans:2;widows:2;text-wrap:pretty;-webkit-text-wrap:pretty}.course-content-area{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty;-webkit-text-wrap:pretty}.course-content-area *{orphans:2;widows:2}.placeholder-text{color:var(--text-tertiary);font-style:italic}.loading-spinner{border:4px solid var(--surface-tertiary);border-top:4px solid var(--accent-primary);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:var(--space-10x) auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:var(--space-4x);margin:var(--space-4x) 0;color:#c33}.error-message h3{margin:0 0 var(--space-2x) 0;color:#c33}.error-message button{background:#c33;color:#faf8f0;border:none;padding:var(--space-2x) var(--space-4x);border-radius:8px;cursor:pointer;margin-top:var(--space-2x)}.error-message button:hover{background:#a22}.card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:12px;padding:var(--space-6x);box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-interactive)}.course-sidebar .card{padding:10px 8px;background:color-mix(in srgb,var(--surface-primary) 85%,var(--vanilla))}.card ul,.card ol{margin:0 0 var(--space-3x) 0;padding-left:1.25rem;list-style-position:outside}.card li{margin:.25em 0}.card ul ul,.card ol ol{margin-top:.25em;margin-bottom:.25em;padding-left:1.25rem}.card p+ul,.card p+ol{margin-top:.5em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2x);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 20px;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){background:var(--surface-secondary);border-color:var(--border-interactive);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#000;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-primary-darker);border-color:var(--accent-primary-darker)}.btn-danger{background:var(--error);border-color:var(--error);color:#faf8f0}.btn-sm{padding:6px 10px;font-size:.8rem;border-radius:6px}.btn-xs{padding:4px 8px;font-size:.75rem;border-radius:6px}.btn-outline{background:var(--surface-secondary)}.sidebar-row{position:relative;display:flex;align-items:center;width:100%;overflow:visible;min-height:24px}.sidebar-row .progress-item{display:block;width:100%}.course-sidebar{font-family:var(--font-sans);--chevron-space: 24px}.course-sidebar .progress-item{font-weight:500;font-family:inherit}.sidebar-label{display:inline-flex;align-items:center;gap:8px}.sidebar-toolbar{display:inline-flex;gap:6px;align-items:center;opacity:0;visibility:hidden;transition:opacity .12s ease;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3;justify-content:flex-end;pointer-events:none}.sidebar-toolbar .btn,.sidebar-toolbar .btn-sm,.sidebar-toolbar .btn-xs{pointer-events:auto}.sidebar-toolbar .btn{padding:4px 8px;font-size:12px}.sidebar-toolbar .btn-danger{padding:4px 10px}.sidebar-toolbar .spacer{width:6px}.sidebar-toolbar .drag-hint{color:var(--text-tertiary);font-size:11px}.course-nav-list .has-drag>.sidebar-row .drag-handle,.course-nav-list .element-level.has-drag .drag-handle{position:absolute;left:0;top:0;width:20px;height:100%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);opacity:.3;cursor:grab;z-index:2;background:transparent;transition:all .2s ease;border-radius:4px 0 0 4px}.course-nav-list .has-drag>.sidebar-row .drag-handle:hover,.course-nav-list .element-level.has-drag .drag-handle:hover{opacity:.7;background:rgba(var(--accent-rgb),.1)}.course-nav-list .has-drag>.sidebar-row .drag-handle:active{cursor:grabbing;background:rgba(var(--accent-rgb),.2)}.course-nav-list .has-drag>.sidebar-row .progress-item,.course-nav-list .element-level.has-drag .progress-item{padding-left:24px}.course-nav-list .element-level.has-drag{position:relative}.course-nav-list .has-drag:hover{background:rgba(var(--accent-rgb),.05);border-radius:6px}.course-nav-container.is-dragging .course-nav-list>li:not(.insert-between):hover{outline:2px dashed var(--accent-primary);outline-offset:2px}.course-nav-list li.drag-over-target{background:rgba(var(--accent-primary-rgb, 250, 214, 67),.12)}.course-nav-list .module-level>.sidebar-row:hover>.sidebar-toolbar,.course-nav-list .section-level>.sidebar-row:hover>.sidebar-toolbar,.course-nav-list .element-level:hover>.sidebar-toolbar{opacity:1;visibility:visible}.course-nav-list .module-level,.course-nav-list .section-level,.course-nav-list .element-level{position:relative;display:block;min-width:0}.course-nav-list .module-level{border-left:3px solid color-mix(in srgb,var(--vanilla) 65%,var(--old-gold))}.course-nav-list .section-level{border-left:2px solid color-mix(in srgb,var(--vanilla) 45%,var(--old-gold))}.course-nav-list .element-level{border-left:2px dashed color-mix(in srgb,var(--border-primary) 70%,transparent)}.course-nav-list .module-level>.sidebar-row>.sidebar-toolbar,.course-nav-list .section-level>.sidebar-row>.sidebar-toolbar,.course-nav-list .element-level>.sidebar-toolbar{position:absolute;right:var(--chevron-space);top:50%;transform:translateY(-50%);margin-left:0!important}.course-sidebar .sidebar-toolbar{right:var(--chevron-space);left:auto;gap:4px;transform:translateY(-50%)}.course-sidebar .sidebar-toolbar .btn,.course-sidebar .sidebar-toolbar .btn-sm,.course-sidebar .sidebar-toolbar .btn-xs{width:20px;height:auto;min-width:20px}.course-sidebar .module-level>.sidebar-row .section-title-button{padding-right:0}.course-sidebar .section-level>.sidebar-row .section-title-button{padding-right:0}.course-sidebar .element-level>.progress-item{padding-right:0}.course-sidebar .sidebar-toolbar:hover{opacity:1!important;visibility:visible!important}.sidebar-toolbar .btn,.sidebar-toolbar .btn-sm,.sidebar-toolbar .btn-xs{width:28px;height:28px;min-width:28px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.course-nav-list{list-style:none;margin:0;padding:6px;display:grid;gap:2px;grid-template-columns:1fr;justify-items:stretch;min-width:0}.course-nav-list .course-nav-list{padding:0;gap:0px}.course-nav-list>li{width:100%}.course-nav-list .module-level,.course-nav-list .section-level,.course-nav-list .element-level{padding:1px 6px;border-radius:8px;border:1px solid transparent;transition:background .16s ease,transform .16s ease,box-shadow .16s ease,border-color .16s ease}.course-nav-list .module-level:hover,.course-nav-list .section-level:hover,.course-nav-list .element-level:hover{background:transparent;border-color:color-mix(in srgb,var(--border-primary) 60%,transparent)}.course-nav-list .module-level.active,.course-nav-list .section-level.active,.course-nav-list .element-level.active{background:linear-gradient(180deg,var(--surface-secondary),transparent 120%);border-color:var(--border-interactive);box-shadow:0 2px 10px #0000000f,inset 0 0 0 1px #00000005}.course-nav-list .module-level.active{border-left-color:var(--old-gold)}.course-nav-list .section-level.active{border-left-color:color-mix(in srgb,var(--vanilla) 55%,var(--old-gold))}.course-nav-list .element-level.active{border-left-color:var(--border-interactive)}.course-nav-list li.drop-before{box-shadow:inset 0 3px 0 0 var(--accent-primary)}.course-nav-list li.drop-after{box-shadow:inset 0 -3px 0 0 var(--accent-primary)}.mode-student .course-nav-list .element-level.active{box-shadow:0 0 12px 2px #ffffc899}.course-nav-list>li{border-bottom:1px dashed color-mix(in srgb,var(--border-primary) 35%,transparent);padding-bottom:0;min-width:0}.course-nav-list>li:last-child{border-bottom:none}.course-nav-list>li.insert-between{border-bottom:none;padding-bottom:0}.progress-item{background:none;border:none;cursor:pointer;color:var(--text-primary);padding:2px 6px;border-radius:6px;text-align:left;display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1;line-height:1.15;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform 80ms ease;background-image:none}.progress-item.active{background:var(--surface-primary);box-shadow:var(--shadow-sm)}.progress-item:hover{background:color-mix(in srgb,var(--vanilla) 22%,transparent)}.progress-item:active{transform:translateY(.5px)}.progress-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.hk-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:6px;border-radius:50%;font-size:.65rem;font-weight:600;flex-shrink:0;transition:all .2s ease;cursor:default}.hk-badge{box-shadow:0 0 0 1px #0000000d,0 2px 4px #00000014}.course-sidebar .element-level .hk-badge{background:#d1d5db!important;color:#374151!important}.course-sidebar .module-level .hk-badge{width:18px;height:18px;font-size:.7rem}.course-sidebar .section-level .hk-badge{width:16px;height:16px;font-size:.65rem}.course-sidebar .element-level .hk-badge{width:14px;height:14px;font-size:.6rem}.hk-badge[data-count="1"]{background:#22c55e;color:#fff}.hk-badge[data-count="2"],.hk-badge[data-count="3"]{background:#86efac;color:#166534}.hk-badge[data-count="4"],.hk-badge[data-count="5"]{background:#facc15;color:#a16207}.hk-badge[data-count="6"],.hk-badge[data-count="7"]{background:#fb923c;color:#fff}.hk-badge[data-count="8"],.hk-badge[data-count="9"],.hk-badge[data-count="10"],.hk-badge[data-count="11"],.hk-badge[data-count="12"],.hk-badge[data-count="13"],.hk-badge[data-count="14"],.hk-badge[data-count="15"],.hk-badge[data-count="16"],.hk-badge[data-count="17"],.hk-badge[data-count="18"],.hk-badge[data-count="19"],.hk-badge[data-count="20"]{background:#d1d5db;color:#374151}.hk-badge[data-completed=true]{background:#22c55e;color:#fff}.course-sidebar .hk-badge[data-completed=true]{box-shadow:0 0 0 1px #22c55e59,0 0 10px #22c55e40}.hk-badge:not([data-count]):not([data-completed]){background:var(--border-primary);color:var(--text-primary)}.hk-badge svg{width:10px;height:10px}.hk-badge:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.course-progress-header{position:sticky;top:0;z-index:2;margin:-2px -2px 6px;padding:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--vanilla) 30%,var(--surface-primary)),var(--surface-primary));border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;justify-items:center;row-gap:6px}.course-progress-title-row{display:inline-flex;align-items:center;gap:8px;justify-content:center}.course-progress-header .progress-bar-container{width:100%}.section-title-button{display:flex;align-items:center;gap:6px;width:100%;padding:0 6px;border:none;background:none;cursor:pointer;color:var(--text-primary);text-align:left;border-radius:6px;transition:background var(--transition-duration) var(--transition-curve);min-height:24px}.progress-item.section-title-button{display:flex!important;flex-wrap:nowrap;align-items:center}.progress-item.section-title-button .hk-badge{flex:0 0 auto}.progress-item.section-title-button .section-title-text{flex:1 1 auto;min-width:0}.progress-item.section-title-button .section-chevron{flex:0 0 auto}.section-title-button:hover{background:var(--surface-primary)}.section-title-button.active{background:var(--surface-primary);box-shadow:var(--shadow-sm)}.section-title-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1;display:inline-flex;align-items:center}.section-chevron{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:auto;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:all .2s ease;flex-shrink:0;z-index:4;position:relative}.section-chevron:hover{background:var(--surface-secondary);color:var(--text-primary)}.section-chevron:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.progress-item.locked{opacity:.45;cursor:not-allowed}.course-nav-list .element-level.completed>.progress-item{color:var(--text-secondary);text-decoration:line-through}.course-nav-list .element-level.completed>.progress-item:hover{text-decoration:none;color:var(--text-primary)}.course-nav-list .element-level.completed{border-left:3px solid var(--border-primary)}.course-nav-list .element-level.locked>.progress-item{filter:blur(2px);opacity:.45;pointer-events:none;cursor:not-allowed}.course-nav-list .element-level.viewing>.progress-item{position:relative}.course-nav-list .element-level.viewing>.progress-item:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--text-primary);opacity:.5;transform:scaleX(0);transform-origin:left;animation:sidebar-underline-in 3s ease forwards;animation-delay:1s}@keyframes sidebar-underline-in{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.5}}.course-nav-list .module-level.locked>.sidebar-row>.progress-item{filter:blur(1px);opacity:.7;pointer-events:none;cursor:not-allowed}.course-nav-list .section-level.locked>.sidebar-row>.progress-item{filter:blur(3px);opacity:.4;pointer-events:none;cursor:not-allowed}.course-nav-list .module-level.completed>.progress-item,.course-nav-list .section-level.completed>.progress-item{color:var(--text-secondary)}.sidebar-progress{display:flex;align-items:center;gap:6px;margin:0 6px}.sidebar-progress-bar{flex:1;height:3px;background:color-mix(in srgb,var(--vanilla) 45%,var(--border-primary));border-radius:4px;overflow:hidden}.sidebar-progress-inner{height:100%;background:linear-gradient(90deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 60%,var(--vanilla)));position:relative}.sidebar-progress-inner:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);mix-blend-mode:screen;animation:progress-sheen 2.2s linear infinite}@keyframes progress-sheen{0%{transform:translate(0)}to{transform:translate(250%)}}@media (prefers-reduced-motion: reduce){.sidebar-progress-inner:after{display:none;animation:none}}.sidebar-progress .progress-percent{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.mode-sme .course-sidebar .sidebar-progress,.mode-sme .course-sidebar .progress-percent{display:none}.app-header.sme-user .progress-item{background:var(--surface-primary, #fdfbf7);color:var(--text-primary, #222);border:1px solid var(--border-primary, #e0ded8)}.app-header.sme-user .progress-item:hover{background:var(--surface-secondary, #f9f8f3);border-color:var(--accent-primary, #FACC15)}.app-header.sme-user .progress-item.active{background:var(--surface-secondary, #f9f8f3);box-shadow:var(--shadow-sm);border-color:var(--accent-primary, #FACC15)}.app-header.sme-user .hk-badge{background:var(--accent-primary, #FACC15);color:var(--jet, #000);border:1px solid var(--accent-primary, #FACC15)}.app-header.sme-user .hk-badge[data-completed=true]{background:var(--accent-primary, #FACC15);color:var(--jet, #000);border-color:var(--accent-primary, #FACC15)}.app-header.sme-user .hk-badge:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.insert-between,.insert-between.element-insert,.insert-between.section-insert,.insert-between.module-insert{list-style:none;margin:2px 0;padding:0;height:8px;min-height:8px;position:relative}.course-nav-container.is-dragging .insert-between{height:30px;min-height:30px;margin:8px 0}.insert-between:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:3px;background:transparent;transform:translateY(-50%);pointer-events:none;border-radius:2px}.insert-between:hover:before{background:var(--accent-primary);opacity:.7}.insert-between.drag-over:before{background:var(--accent-primary);opacity:1}.course-nav-container.is-dragging .insert-between:before{background:var(--accent-primary);opacity:.35}.course-nav-container.is-dragging .insert-between:after{content:"Drop here";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-secondary);opacity:.9}.insert-button{position:absolute;left:8px;top:50%;transform:translateY(-50%);opacity:0;visibility:hidden;pointer-events:none}.insert-between:hover .insert-button{opacity:1;visibility:visible;pointer-events:auto}.course-nav-container.is-dragging .insert-button{display:none}.course-nav-list li.drop-before{border-top:3px solid var(--border-interactive)}.course-nav-list li.drop-after{border-bottom:3px solid var(--border-interactive)}.insert-between.drag-over .insert-button{opacity:1;visibility:visible}.insert-hints{position:relative}.insert-edge{position:absolute;left:8px;right:auto;padding:2px 6px;font-size:11px;line-height:1;border-radius:6px;background:var(--surface-secondary);border:1px dashed var(--border-primary);color:var(--text-secondary);opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none}.insert-edge svg{width:10px;height:10px}.course-nav-list .module-level:hover .insert-edge,.course-nav-list .section-level:hover .insert-edge,.course-nav-list .element-level:hover .insert-edge{opacity:.9;visibility:visible;pointer-events:auto}.insert-edge.top{top:-6px}.insert-edge.bottom{bottom:-6px}.input,.textarea{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:8px;padding:12px 16px;font-size:.875rem;color:var(--text-primary);width:100%;box-shadow:var(--shadow-sm)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #fad6431a}.app-header{position:sticky;top:0;width:100%;z-index:11000;background:rgba(var(--surface-primary-rgb),.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm)}.header-content{display:grid;grid-template-columns:auto 1fr;align-items:center;width:100%;padding:0 24px;height:64px;position:relative}@media (min-width: 1024px){.app-container .app-header .header-content{padding-left:24px}}@media (max-width: 900px){.header-content{padding:0 16px}}.mode-toggle{justify-self:start}.main-nav{display:flex;position:relative;z-index:2147483647;align-items:center;gap:1px;background:var(--surface-inset);border:1px solid var(--border-primary);border-radius:8px;padding:2px;justify-self:start}.main-nav .nav-button:first-child{font-size:1rem;padding:10px 20px}.header-actions{justify-self:end}.nav-button{background:none;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:8px 16px;cursor:pointer;border-radius:6px;min-width:90px;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;line-height:1;height:40px;gap:8px}.nav-button:hover{color:var(--text-primary);background:#0000000a}.nav-button.active{color:var(--text-primary);background:var(--surface-primary);font-weight:600;box-shadow:var(--shadow-sm)}.nav-button.icon{min-width:44px;padding:8px}.nav-button svg{width:18px;height:18px;stroke-width:2}.mode-student .course-sidebar .course-nav-list{gap:0}.mode-student .course-sidebar .course-nav-list>li{padding-bottom:0}.mode-student .course-sidebar .module-level,.mode-student .course-sidebar .section-level,.mode-student .course-sidebar .element-level{padding-top:0;padding-bottom:0}.mode-student .course-sidebar .sidebar-row{min-height:0}.mode-student .course-sidebar .section-title-button{padding-top:0;padding-bottom:0;min-height:0}.mode-student .course-sidebar .progress-item{padding-top:0;padding-bottom:0;line-height:1}.mode-student .course-sidebar .section-title-text{line-height:1}.mode-student .course-sidebar .section-chevron{width:16px;height:16px}.mode-student .course-sidebar .sidebar-toolbar{display:none!important}.segmented{display:inline-flex;align-items:stretch;overflow:hidden;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm);transition:box-shadow .12s ease,border-color .12s ease,transform .12s ease}.segmented:hover{border-color:var(--border-interactive);box-shadow:var(--shadow-md);transform:translateY(-1px)}.segmented:active{transform:translateY(0)}.segmented .seg-label{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font:inherit;color:var(--text-primary);height:36px;line-height:1}.segmented .seg-icon{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;color:var(--text-primary);border-left:1px solid var(--border-primary);transition:background .12s ease,color .12s ease,border-color .12s ease}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--surface-primary);border-radius:12px;padding:var(--space-6x);width:90%;max-width:1080px;border:1px solid var(--border-primary);box-shadow:var(--shadow-xl)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4x)}.modal-body{max-height:60vh;overflow:auto}.modal-footer{display:flex;gap:var(--space-3x);justify-content:flex-end;margin-top:var(--space-4x)}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-tertiary)}.knowledge-table th{background:var(--surface-secondary);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-primary)}.knowledge-table td+td,.knowledge-table th+th{border-left:1px solid var(--border-primary)}.knowledge-table tr+tr td{border-top:1px dashed var(--border-primary)}.knowledge-modal{width:min(95vw,1400px);max-width:1400px}.knowledge-modal .modal-body{max-height:78vh}.knowledge-table textarea.textarea{min-height:120px;resize:vertical;overflow:hidden}.knowledge-table .input,.knowledge-table .textarea{background:var(--surface-primary)}.course-bottom-controls{position:fixed;bottom:0;left:0;right:0;background:rgba(var(--surface-primary-rgb),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-primary);padding:16px;display:grid;grid-template-rows:auto auto;row-gap:16px;z-index:100;box-shadow:0 -2px 8px #0000000d}.sme-row.top{display:grid;grid-template-columns:1fr max-content max-content;align-items:center;column-gap:18px}.sme-row.bottom{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;column-gap:18px;justify-content:space-between;margin-top:0}.selection-status{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:12px;font-size:.8rem;color:var(--text-secondary);background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:6px 10px}.selection-item span{font-weight:600;color:var(--text-primary);margin-left:4px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-bottom-controls .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:var(--accent-primary);color:#faf8f0;border-radius:999px;font-size:11px;padding:0 6px}.sme-row.top .context-input-section{display:grid;grid-template-columns:max-content max-content 1fr;column-gap:10px;align-items:center}.sme-row.top .context-input{min-height:36px;line-height:22px;padding-top:8px;padding-bottom:8px}.sme-row.top .context-label{display:inline-flex;align-items:center;height:100%}.main-content{flex-grow:1;width:100%;padding:var(--space-6x) 16px var(--space-6x) 16px}.has-course-sidebar .main-content{margin-left:360px;width:calc(100% - 360px)}.tab-content{display:block}.course-layout{display:grid;grid-template-columns:1fr;gap:0;align-items:start}.course-sidebar{position:fixed;top:0;left:0;bottom:0;width:360px;padding:72px 6px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--vanilla) 30%,rgba(var(--surface-primary-rgb),.92)),rgba(var(--surface-primary-rgb),.98)),rgba(var(--surface-primary-rgb),.98);-webkit-backdrop-filter:saturate(120%) blur(12px);backdrop-filter:saturate(120%) blur(12px);border-right:1px solid var(--border-primary);box-shadow:inset -1px 0 0 0 var(--border-primary),6px 0 18px #0000000f;z-index:350;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:flex;flex-direction:column}.course-sidebar::-webkit-scrollbar{width:8px;height:8px;background:transparent}.course-sidebar::-webkit-scrollbar-thumb{background:#00000014;border-radius:8px;opacity:0;transition:background .2s ease,opacity .2s ease}.course-sidebar:hover::-webkit-scrollbar-thumb{background:#00000038;opacity:1}.course-sidebar:hover::-webkit-scrollbar{background:transparent}.course-sidebar:after{content:"";position:sticky;top:0;left:0;right:0;height:10px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.06),transparent);opacity:0;transition:opacity .2s ease}.course-sidebar:hover:after{opacity:1}.course-sidebar{scrollbar-width:thin;scrollbar-color:transparent transparent}.course-sidebar:hover{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.course-nav-container,.course-nav-list{min-width:0}.course-content-area{flex-grow:1;min-width:0;overflow:hidden;padding:0 8px}.course-selection-info{position:fixed;top:80px;right:20px;z-index:90;max-width:400px}.course-layout{padding-bottom:100px}.course-bottom-controls{position:fixed;bottom:0;left:0;right:0;background:rgba(var(--surface-primary-rgb),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-primary);padding:var(--space-3x) 16px;padding-left:16px;display:grid;grid-template-columns:1fr 2fr;gap:var(--space-4x);align-items:center;z-index:100;box-shadow:0 -2px 8px #0000000d}.course-bottom-controls.with-sidebar{padding-left:376px}.edit-mode-toggle{display:inline-flex;align-items:center;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.edit-mode-toggle .btn{border:none;border-radius:0}.edit-mode-toggle .btn+.btn{border-left:1px solid var(--border-primary)}.course-bottom-controls .selection-status{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:8px 16px;font-size:.8rem;color:var(--text-secondary);background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:8px 12px;min-width:520px}.course-bottom-controls .selection-item span{font-weight:600;color:var(--text-primary);margin-left:4px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-bottom-controls .action-controls{display:grid;grid-auto-flow:column;grid-template-columns:max-content minmax(340px,1fr) max-content max-content max-content;align-items:center;gap:var(--space-3x);margin-right:60px}.course-bottom-controls .context-input-section{display:grid;grid-template-columns:max-content max-content 1fr;column-gap:10px;align-items:center}.course-bottom-controls .context-label{font-weight:600;color:var(--text-secondary);white-space:nowrap}.course-bottom-controls .context-input{padding:var(--space-2x) var(--space-3x);border:1px solid var(--border-primary);border-radius:6px;background:var(--surface-primary);color:var(--text-primary);font-size:.875rem;width:100%}.course-bottom-controls .context-input-wrap .context-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px}.course-bottom-controls .context-action-btn{padding:4px 6px;height:28px;font-size:.75rem}.course-bottom-controls .action-label{font-weight:600;color:var(--text-secondary);white-space:nowrap}.course-bottom-controls .buttons-grid,.course-bottom-controls .button-group{display:contents}.course-bottom-controls .btn svg{display:block}@media (max-width: 1100px) and (min-width: 901px){.course-sidebar{width:320px}.has-course-sidebar .main-content{margin-left:320px!important;width:calc(100% - 320px)!important}.course-bottom-controls.with-sidebar{padding-left:336px!important}.course-content-area{padding:0 32px 0 8px;max-width:calc(100vw - 352px)}}@media (max-width: 900px){.has-course-sidebar .main-content{margin-left:0!important}.course-sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.course-bottom-controls.with-sidebar{padding-left:16px!important}.main-content{padding:var(--space-8x) 16px var(--space-8x) 16px}.course-content-area{padding:0 16px 0 8px}}@media (min-width: 1101px){.course-content-area{padding:0 56px 0 8px;max-width:calc(100vw - 416px)}}@media (min-width: 1101px) and (max-width: 1350px){.course-content-area{padding:0 32px 0 8px;max-width:calc(100vw - 392px)}}:root{--viz-primary: var(--old-gold);--viz-secondary: var(--accent-secondary, #8b5cf6);--viz-success: var(--success, #10b981);--viz-warning: var(--warning, #f59e0b);--viz-danger: var(--error, #ef4444);--viz-muted: #64748b;--viz-surface: #ffffff;--viz-border: var(--border-primary, #FDF5D9);--viz-cat-1: #0348D0;--viz-cat-2: #0BD043;--viz-cat-3: #F37500;--viz-cat-4: #b80000;--viz-cat-5: #FF5454;--viz-cat-6: #14b8a6;--viz-cat-7: #5454FF;--viz-cat-8: #eab308;--viz-cat-9: #45C400;--viz-cat-10: #37DAA7;--viz-heat-1: #fecaca;--viz-heat-2: #fed7aa;--viz-heat-3: #fef3c7;--viz-heat-4: #bfe7cb;--viz-heat-5: #80ce9b}.jsonviz-container{gap:8px}.jsonviz-container h3{margin:0}.jsonviz-timeline{position:relative;max-width:800px;margin:0 auto}.jsonviz-timeline .jsonviz-timeline-line{position:absolute;left:16px;top:0;bottom:0;width:2px;background:var(--walnut-brown)}.jsonviz-timeline .jsonviz-timeline-dot{position:absolute;left:-34px;top:6px;width:10px;height:10px;background:var(--old-gold);border-radius:50%;border:2px solid var(--vanilla)}.jsonviz-timeline .jsonviz-timeline-card{background:var(--vanilla);border:1px solid var(--walnut-brown);border-radius:6px;padding:10px}.jsonviz-flow svg{background:var(--vanilla);border:1px solid var(--walnut-brown);border-radius:6px}.jsonviz-matrix table{min-width:480px}.course-content-area .jsonviz-host,.course-content-area .jsonviz-container,.course-content-area .markdown-content .jsonviz-host,.course-content-area .markdown-content .jsonviz-container,.course-content-area canvas,.course-content-area svg,.course-content-area .markdown-content canvas,.course-content-area .markdown-content svg,.course-content-area .markdown-content img,.course-content-area .markdown-content video,.course-content-area .markdown-content iframe{width:100%;max-width:85ch;height:auto;display:block;margin-left:auto;margin-right:auto}.mode-sme .sme-only{display:block!important}.mode-student .sme-only{display:none!important}*{scrollbar-width:none}*::-webkit-scrollbar{width:0!important;height:0!important}::selection{background-color:var(--accent-primary, #fad643);color:var(--text-primary, #302A24)}::-moz-selection{background-color:var(--accent-primary, #fad643);color:var(--text-primary, #302A24)}.chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--surface-2, #f3f4f6);border:1px solid var(--border, #e5e7eb);font-size:12px}.link{background:none;border:none;padding:0;color:var(--text-primary);cursor:pointer}.markdown-content img{max-width:100%;height:auto;display:block;border-radius:8px;margin:.5rem auto}.insertion-card{position:relative}.insertion-card .icon-btn{position:absolute;top:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border, #e5e7eb);border-radius:4px;background:var(--surface-1, #faf8f0);color:var(--text-muted, #6b7280);font-size:12px;cursor:pointer;transition:background .2s,color .2s}.insertion-card .icon-btn:hover{background:var(--surface-2, #f3f4f6);color:var(--text-primary, #111827)}.insertion-card .collapse-btn{left:4px}.insertion-card .delete-btn{right:4px;display:none}.insertion-card:hover .delete-btn{display:flex}.chain-hover{box-shadow:0 0 0 2px #facc1540;border-radius:10px}.chain-selected{box-shadow:0 0 0 2px #facc1580;border-radius:10px}.chain-part-hover{box-shadow:inset 0 0 0 2px #eab308a6;border-radius:10px}.student-dropdown{position:relative}.student-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-primary);font-family:var(--font-serif);font-weight:700;font-size:16px;cursor:pointer;padding:4px 10px;border-radius:4px;transition:background .15s}.student-dropdown-trigger:hover{background:var(--surface-secondary, #f9f8f3)}.student-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:var(--surface-primary, #fdfbf7);border:1px solid var(--border-primary, #e0ded8);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1000;padding:4px}.sme-dropdown{position:relative}.sme-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-primary);font-family:var(--font-serif);font-weight:700;font-size:16px;cursor:pointer;padding:4px 10px;border-radius:4px;transition:background .15s}.sme-dropdown-trigger:hover{background:var(--surface-secondary, #f9f8f3)}.user-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name.admin{color:var(--old-gold);font-weight:700}.user-name.sme{font-weight:700}.role-badge.admin{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background:var(--old-gold);color:var(--jet);border:1px solid var(--old-gold);border-radius:3px;font-size:10px;font-weight:700}.role-badge.sme{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background:var(--accent-primary, #FACC15);color:#000;border:1px solid var(--accent-primary, #FACC15);border-radius:3px;font-size:10px;font-weight:700}.dropdown-arrow{transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.sme-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:var(--surface-primary, #fdfbf7);border:1px solid var(--border-primary, #e0ded8);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1000;padding:4px}.sme-dropdown-submenu{position:absolute;right:100%;top:0;min-width:280px;max-height:320px;overflow:auto;background:var(--surface-primary, #fdfbf7);border:1px solid var(--border-primary, #e0ded8);border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:6px;pointer-events:auto}.sme-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px}.sme-list-item:hover{background:var(--surface-secondary, #f9f8f3)}.sme-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sme-actions{display:inline-flex;gap:6px;opacity:.85}.sme-list-item:hover .sme-actions{opacity:1}.sme-chip{font-size:11px;opacity:.7}.sme-selected{outline:2px solid var(--accent-primary, #FACC15);outline-offset:2px}.sme-subtitle{font-size:12px;color:var(--muted, #6b7280);padding:4px 8px}.sme-submenu-busy{position:absolute;top:6px;right:8px;width:14px;height:14px;border:2px solid var(--border-primary, #e0ded8);border-top-color:var(--text-primary, #222);border-radius:50%;animation:smeSpin .8s linear infinite}@keyframes smeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-secondary, #525252);font-size:13px;text-align:left;cursor:pointer;border-radius:4px;transition:background .15s}.dropdown-item:hover{background:var(--surface-secondary, #f9f8f3)}.dropdown-item svg{flex-shrink:0;opacity:.7}.toggle-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:13px;color:var(--text-secondary, #525252)}.dropdown-divider{height:1px;background:var(--border-primary, #e0ded8);margin:4px 0}.logout-item{color:var(--error)}.logout-item:hover{background:var(--error-light)}.app-header.sme-edit .sme-dropdown-trigger{color:var(--vanilla);background:color-mix(in srgb,var(--vanilla) 5%,transparent);border:1px solid color-mix(in srgb,var(--old-gold) 20%,transparent)}.app-header.sme-edit .sme-dropdown-trigger:hover{background:color-mix(in srgb,var(--old-gold) 15%,transparent);color:var(--vanilla)}.app-header.sme-edit .sme-dropdown-menu{background:var(--drab-dark-brown);border:1px solid var(--old-gold)}.app-header.sme-edit .sme-dropdown-menu .dropdown-item{color:var(--vanilla)}.app-header.sme-edit .sme-dropdown-menu .dropdown-item:hover{background:color-mix(in srgb,var(--vanilla) 12%,transparent)}.app-header.sme-edit .sme-dropdown-menu .dropdown-divider{background:color-mix(in srgb,var(--vanilla) 20%,transparent)}.app-header.sme-edit .user-name.admin{color:var(--old-gold)}.app-header.sme-edit .role-badge.admin{background:var(--old-gold);color:var(--jet);border-color:var(--old-gold)}.app-header{position:fixed!important;top:0!important;left:0;right:0;width:100%;z-index:11000;overflow:visible;background:transparent;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px)}.app-header.sme-edit{background:linear-gradient(180deg,var(--drab-dark-brown) 0%,var(--jet) 100%);color:var(--vanilla);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:2px solid var(--old-gold);box-shadow:0 8px 32px #0006}.app-header.sme-edit .header-content{opacity:1;visibility:visible}.app-header.sme-edit .nav-button,.app-header.sme-edit .nav-button.icon,.app-header.sme-edit .segmented .seg-label,.app-header.sme-edit .segmented .seg-icon{color:var(--walnut-brown);background:var(--vanilla);padding:8px 12px;border-radius:6px;transition:all .2s ease;opacity:1;visibility:visible}.app-header.sme-edit .main-nav .nav-button{color:var(--walnut-brown);background:var(--vanilla);font-weight:600;opacity:1;visibility:visible}.app-header.sme-edit .nav-button.icon{color:var(--walnut-brown);background:var(--vanilla)}.app-header.sme-edit .nav-button svg,.app-header.sme-edit .nav-button.icon svg{stroke:currentColor;fill:none;opacity:1}.app-header.sme-edit .nav-button:hover,.app-header.sme-edit .segmented .seg-label:hover,.app-header.sme-edit .segmented .seg-icon:hover{background:color-mix(in srgb,var(--vanilla) 10%,transparent);color:var(--walnut-brown);border-radius:6px}.app-header.sme-edit .selection-item{color:var(--walnut-brown);background:var(--vanilla);opacity:1;visibility:visible;font-weight:500;border:1px solid color-mix(in srgb,var(--walnut-brown) 15%,transparent);outline:none;box-shadow:var(--shadow-sm);padding:6px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:6px}.app-header.sme-edit .selection-item span{color:var(--walnut-brown);font-weight:600}.app-header.sme-edit .action-group svg{stroke:var(--walnut-brown);opacity:1;visibility:visible}.app-header.sme-edit .btn,.app-header.sme-edit .btn-outline{border-color:var(--old-gold);color:var(--vanilla);background:transparent}.app-header.sme-edit .btn:hover,.app-header.sme-edit .btn-outline:hover{background:var(--old-gold);color:var(--jet)}.app-header.sme-edit .btn-primary{background:var(--old-gold);color:var(--jet);border-color:var(--old-gold)}.app-header.sme-edit .btn-primary:hover{background:var(--old-gold);opacity:.9}.app-header.sme-edit:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:24px;pointer-events:none;background:radial-gradient(50% 80% at 50% 0%,color-mix(in srgb,var(--old-gold) 40%,transparent),transparent 70%);filter:blur(8px)}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:100%;background:inherit;z-index:-1}.app-header .header-content{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;height:64px;gap:8px;padding-left:6px!important;position:relative}.app-header .course-logo{justify-self:start}.app-header .main-nav{justify-self:start;min-width:0}.app-header .header-actions{justify-self:end}.app-header .header-actions{white-space:nowrap}.app-header .selection-status{justify-self:start;margin-left:8px}.app-header .selection-status{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-header .selection-status .selection-item{max-width:100%}.app-header .selection-status .selection-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block}.app-header .selection-status>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block}.app-header.sme-edit .selection-status{display:inline-flex;align-items:center;gap:4px;color:var(--walnut-brown);background:var(--vanilla);font-weight:500;border:1px solid color-mix(in srgb,var(--walnut-brown) 15%,transparent);outline:none;box-shadow:var(--shadow-sm);padding:6px 12px;border-radius:12px}.nav-button{text-decoration:none}.action-group{display:inline-flex;align-items:center;gap:12px}.app-container .main-content{padding-top:76px!important}@media (max-width: 1100px){.app-container .main-content{padding-top:88px!important}}.segmented{display:inline-flex;align-items:stretch;overflow:hidden;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm)}.segmented:hover{border-color:var(--border-interactive);box-shadow:var(--shadow-md)}.segmented .seg-label{appearance:none;border:0;background:transparent;cursor:pointer;padding:8px 14px;font:inherit;color:var(--text-primary)}.segmented .seg-label:hover{background:var(--surface-secondary)}.segmented .seg-icon{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;color:var(--text-primary);border-left:1px solid var(--border-primary)}.segmented .seg-icon:hover{background:var(--accent-primary);color:#000;border-left-color:var(--accent-primary)}.segmented .seg-icon svg{stroke:currentColor}.course-logo{width:48px;height:48px;cursor:pointer;transition:transform .2s ease}.course-logo:hover{transform:scale(1.05)}@media (min-width: 1024px){.app-header .header-content{padding-left:8px!important}}.segmented .seg-label:focus-visible,.segmented .seg-icon:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:6px}.course-title-tab,.nav-button:not(.icon):first-child,a[href="/course"],a[href="/student/course"],a[href="/sme/course"]{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;max-width:none;min-width:0;flex:1;line-height:1.3;overflow:visible;height:auto}.app-header .main-nav .nav-button:first-child{padding:4px 10px!important;min-width:0!important;height:auto;line-height:1.2}@media (min-width: 600px) and (max-width: 840px){.app-header .main-nav .nav-button:first-child{padding:2px 8px!important}}.header-title-text{display:inline-block;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:inherit;will-change:font-size}.header-title-text.sme-title{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media (max-width: 599px){.app-header .header-content{height:auto;min-height:64px}.app-header .main-nav .nav-button:not(.icon){height:auto;align-items:center}.header-title-text{font-size:inherit!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}@media (max-width: 1100px){.app-header.sme-edit .selection-status{position:fixed;right:0;top:64px;background:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);border-top:none;border-right:none;border-radius:12px 0 0 12px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;-webkit-clip-path:inset(15% 0 0 0 round 12px 0 0 12px);clip-path:inset(15% 0 0 0 round 12px 0 0 12px);background-clip:padding-box;padding:4px 12px;box-shadow:none;z-index:10900;width:fit-content;max-width:calc(100vw - 8px);margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;direction:ltr}.app-header.sme-edit .selection-status{background:var(--vanilla);color:var(--walnut-brown);border-color:color-mix(in srgb,var(--walnut-brown) 35%,var(--vanilla))}}@media (max-width: 700px){.app-header.sme-edit .selection-status{top:64px;padding:3px 8px;max-width:60vw}}@media (min-width: 1191px){.course-title-tab,.nav-button:not(.icon):first-child,a[href="/course"],a[href="/student/course"],a[href="/sme/course"]{font-size:calc(1rem - 1px)}}@media (min-width: 1101px){.app-header.sme-edit .selection-status{min-width:0;max-width:26vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.app-header:not(.sme-edit) .selection-status{display:none!important;right:-10px!important}@media (max-width: 1190px){.course-title-tab,.nav-button:not(.icon):first-child,a[href="/course"],a[href="/student/course"],a[href="/sme/course"]{font-size:.875rem;overflow:visible;text-overflow:unset;white-space:normal;max-height:none}}.app-header .main-nav .course-title-tab,.app-header .main-nav .course-title-tab.active,.app-header .main-nav a[href="/course"],.app-header .main-nav a[href="/course"].active,.app-header .main-nav a[href="/student/course"],.app-header .main-nav a[href="/student/course"].active,.app-header .main-nav a[href="/sme/course"],.app-header .main-nav a[href="/sme/course"].active,.app-header .main-nav .nav-button:not(.icon):first-child{background:transparent!important;box-shadow:none!important}.header-title-wrap{display:inline-flex;align-items:center;gap:3px}.app-header .main-nav .nav-button:not(.icon) .header-title-wrap .hk-badge{width:0;height:22px;font-size:.8rem;opacity:0;transform:scale(.9);transition:opacity .12s ease,transform .12s ease,width .14s ease,margin .14s ease;overflow:hidden;margin:0;color:var(--jet, #000)}.app-header .main-nav .nav-button:not(.icon):hover .header-title-wrap .hk-badge,.app-header .main-nav .nav-button:not(.icon):focus .header-title-wrap .hk-badge,.app-header .main-nav .nav-button:not(.icon):focus-visible .header-title-wrap .hk-badge,.app-header .main-nav .nav-button:not(.icon):focus-within .header-title-wrap .hk-badge,.app-header .main-nav:hover .nav-button:not(.icon) .header-title-wrap .hk-badge{opacity:1;transform:scale(1);width:22px;margin-right:4px}.app-header .main-nav .nav-button:not(.icon) .header-title-wrap .hk-badge svg{width:12px;height:12px}.app-header:not(.sme-edit) .main-nav a[href="/course"].active,.app-header:not(.sme-edit) .main-nav a[href="/student/course"].active,.app-header:not(.sme-edit) .main-nav a[href="/sme/course"].active,.app-header:not(.sme-edit) .main-nav .course-title-tab.active{color:var(--text-secondary)!important}.app-header.sme-edit .main-nav a[href="/course"],.app-header.sme-edit .main-nav a[href="/course"].active,.app-header.sme-edit .main-nav a[href="/student/course"],.app-header.sme-edit .main-nav a[href="/student/course"].active,.app-header.sme-edit .main-nav a[href="/sme/course"],.app-header.sme-edit .main-nav a[href="/sme/course"].active,.app-header.sme-edit .main-nav .course-title-tab,.app-header.sme-edit .main-nav .course-title-tab.active{color:var(--walnut-brown)!important}.app-header .main-nav a[href="/course"]:hover,.app-header .main-nav a[href="/student/course"]:hover,.app-header .main-nav a[href="/sme/course"]:hover,.app-header .main-nav .course-title-tab:hover,.app-header .main-nav .nav-button:not(.icon):first-child:hover{background:transparent!important}.svt-wrap{position:relative;display:inline-flex;align-items:center;gap:8px}.svt-circle{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-secondary, #f3f4f6);color:var(--text-primary, #111827);border:1px solid var(--border-primary, #e5e7eb);cursor:pointer}.svt-circle svg{width:16px;height:16px}.svt-circle:hover{background:var(--surface-tertiary, #e5e7eb)}.svt-clone{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--surface-secondary, #f3f4f6);border:1px solid var(--border-primary, #e5e7eb);animation:svtShoot .42s cubic-bezier(.2,.6,.2,1);pointer-events:none}@keyframes svtShoot{0%{opacity:1;transform:translate(0) scale(1)}70%{opacity:1;transform:translate(-70px,-120px) scale(.95)}to{opacity:0;transform:translate(-70px,-120px) scale(.9)}}.svt-bar{position:relative}.svt-bar-track{position:relative;width:220px;height:8px;background:var(--vanilla);border-radius:999px;box-shadow:inset 0 0 0 1px var(--border-primary, #e5e7eb)}.svt-notch{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:12px;background:color-mix(in srgb,var(--walnut-brown, #3f3f46) 70%,transparent);pointer-events:none}.svt-bar-knob{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:var(--cosmic-latte);border:2px solid var(--jet);cursor:grab}.svt-bar-knob:active{cursor:grabbing}.svt-bar-labels{position:absolute;top:10px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;color:var(--text-tertiary, #6b7280)}.app-header.sme-edit .svt-circle{background:var(--vanilla);color:var(--walnut-brown);border:1px solid color-mix(in srgb,var(--walnut-brown) 15%,transparent)}.app-header.sme-edit .svt-circle:hover{background:color-mix(in srgb,var(--vanilla) 90%,transparent);color:var(--walnut-brown)}.app-header.sme-edit .svt-clone{background:var(--vanilla);border:1px solid color-mix(in srgb,var(--walnut-brown) 15%,transparent)}.app-header.sme-edit .svt-bar-labels{color:var(--walnut-brown)}.app-header.sme-edit .svt-circle svg{stroke:currentColor}.auth-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--surface-secondary) 75%,rgba(0,0,0,.25));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.auth-container{width:100%;max-width:400px;padding:2rem}.auth-card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-xl);padding:2.5rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-header{text-align:center;margin-bottom:2rem}.auth-brand{display:flex;align-items:center;justify-content:center;gap:2px;font-size:2rem;line-height:1}.auth-brand h1{margin:0;line-height:1}.auth-logo{height:1.5em;width:auto;display:block;transform:translateY(-3px)}.auth-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.auth-header p{color:var(--text-secondary);margin:0;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.875rem}.form-group input{padding:.75rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;background:var(--surface-secondary);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.15);background:var(--surface-primary)}.error-message{background:#fff5f5;border:1px solid #ffd9d9;color:#b42318;padding:.75rem;border-radius:8px;font-size:.875rem;text-align:center}.auth-button{background:var(--text-primary);color:#fff;border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:2rem;text-align:center}.auth-footer p{color:var(--text-secondary);margin:0;font-size:.875rem}.toggle-button{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#000;font-weight:700;cursor:pointer;margin-left:.5rem;text-decoration:none;font-size:.875rem;border-radius:6px;padding:2px 8px}.toggle-button:hover{background:transparent;color:var(--text-primary)}@media (max-width: 480px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}.auth-header h1{font-size:1.5rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-primary)}.modal-header h2{font-family:var(--font-serif);font-size:28px;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:var(--surface-secondary);color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1}.courses-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.course-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--surface-secondary);border-radius:12px;transition:all .2s}.course-item:hover{background:var(--surface-tertiary);transform:translate(4px)}.course-info{flex:1;margin-right:16px}.course-info h3{font-family:var(--font-serif);font-size:20px;color:var(--text-primary);margin:0 0 8px}.course-description{color:var(--text-secondary);font-size:14px;margin:0 0 8px;line-height:1.5}.course-enrolled{color:var(--text-tertiary);font-size:12px;margin:0}.no-courses{text-align:center;padding:40px 20px;color:var(--text-secondary);background:var(--surface-secondary);border-radius:12px;margin-bottom:24px}.no-courses p{margin:0;font-size:16px}.add-course-button-container{display:flex;justify-content:center;padding-top:16px;border-top:1px solid var(--border-primary)}.add-course-btn{display:flex;align-items:center;gap:8px}.add-course-form{padding:24px;background:var(--surface-secondary);border-radius:12px;margin-top:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.form-group input{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;background:#fff;color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1)}.message{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;animation:slideIn .3s ease}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-actions{display:flex;gap:12px;justify-content:flex-end}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.course-item{flex-direction:column;align-items:flex-start;gap:12px}.course-item .btn{width:100%}}.fbx-menu{background:var(--surface-primary, #fff);border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #0000002e;min-width:280px;max-width:360px}.fbx-inner{padding:12px;display:grid;gap:10px}.fbx-title{font-weight:700;font-size:14px}.fbx-row{display:grid;gap:6px}.fbx-label{font-size:12px;color:var(--text-secondary, #6b7280)}.fbx-input,.fbx-textarea{width:100%;font:inherit;border:1px solid var(--border-primary, #e5e7eb);border-radius:6px;padding:6px 8px;background:var(--surface-secondary, #fafaf9)}.fbx-textarea{min-height:72px;resize:vertical}.fbx-actions{display:flex;gap:8px;justify-content:end}.fbx-bubble-controls{opacity:0;transition:opacity .12s ease;position:absolute;top:-10px;right:8px;display:inline-flex;gap:6px;background:color-mix(in srgb,var(--surface-primary, #fff) 92%,transparent);border:1px solid var(--border-primary, #e5e7eb);border-radius:16px;padding:2px 4px;box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,0,0,.08))}.scw-bubble:hover .fbx-bubble-controls{opacity:1}.fbx-ctrl-btn{appearance:none;border:0;background:transparent;cursor:pointer;padding:4px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280)}.fbx-ctrl-btn:hover{background:var(--surface-secondary, #f3f4f6);color:var(--text-primary, #111827)}.fbx-explain{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.fbx-explain input{width:160px;font:inherit;padding:4px 8px;border-radius:12px;border:1px solid var(--border-primary, #e5e7eb);background:var(--surface-secondary, #fafafa)}.fbx-send{appearance:none;border:0;border-radius:12px;padding:4px 8px;cursor:pointer;background:var(--accent-primary, #fde68a);color:#000}.fbx-anchor{position:absolute;inset:0;pointer-events:none}.fbx-tip{position:absolute;top:-22px;right:10px;opacity:0;transition:opacity .12s ease;font-size:11px;color:var(--text-secondary, #6b7280);pointer-events:none;background:color-mix(in srgb,var(--surface-primary, #fff) 88%,transparent);padding:2px 6px;border-radius:8px;border:1px solid var(--border-primary, #e5e7eb)}.scw-bubble:hover .fbx-tip{opacity:1}.fbx-capture{position:absolute;inset:0;background:transparent}.fbx-ctx{background:var(--surface-primary, #fff);border:1px solid var(--border-primary, #e5e7eb);border-radius:10px;box-shadow:0 14px 40px #0003;width:320px;max-width:calc(100vw - 24px)}.fbx-rate-row{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center;gap:2px;padding:2px}.fbx-rate{appearance:none;border:0;background:transparent;padding:6px;cursor:pointer;border-radius:10px;transition:transform .08s ease,background .12s ease}.fbx-rate:hover{background:var(--surface-secondary, #f3f4f6)}.fbx-rate.active{outline:2px solid var(--accent-primary, #fde68a);outline-offset:2px}.fbx-cat{display:grid;gap:6px}.fbx-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border-primary, #e5e7eb);background:var(--surface-secondary, #fafafa);border-radius:999px;padding:4px 8px;font-size:12px;cursor:pointer}.chip-on{background:var(--accent-primary, #fde68a);color:#000;border-color:var(--accent-primary, #fde68a)}img,video,canvas,svg,iframe{max-width:100%;height:auto}pre,code,kbd,samp{white-space:pre-wrap;word-break:break-word}*{overflow-wrap:anywhere}.app-header .sidebar-tab{display:none!important}@media (max-width: 900px){.header-content,.app-header .header-content{padding-left:12px!important;padding-right:12px!important}.main-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px}.main-nav::-webkit-scrollbar{display:none}}@media (max-width: 1100px){body:not(.sidebar-open) .app-header .sidebar-tab{display:inline-flex!important}body.sidebar-open .app-header .sidebar-tab{display:none!important}.app-header .sidebar-tab{position:fixed!important;right:0!important;top:69px!important;z-index:10900;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--vanilla);color:var(--walnut-brown);border:1px solid color-mix(in srgb,var(--walnut-brown) 35%,var(--vanilla));border-radius:12px 0 0 12px;font-weight:600;font-size:12px;line-height:1.1}.app-header .sidebar-tab span{font-weight:600;font-size:12px}.app-header .sidebar-tab svg{stroke:currentColor}.app-header.sme-edit .sidebar-tab{top:102px!important}.app-header .header-content{grid-template-columns:auto 1fr auto!important;gap:6px!important;min-width:0}.app-header .main-nav{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px}.app-header .main-nav::-webkit-scrollbar{display:none}.app-header .header-actions{min-width:max-content}}@media (max-width: 600px){.app-header .header-content{height:auto!important;min-height:56px;display:grid!important;grid-template-columns:auto 1fr auto!important;grid-template-rows:auto auto!important;column-gap:8px;row-gap:4px;align-items:center;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px}.course-logo{width:32px;height:32px}.nav-button{min-width:0;padding:4px 8px;height:32px;font-size:12px}.nav-button.icon{min-width:32px;height:32px}.nav-button svg,.action-group svg{width:14px;height:14px}.app-header .main-nav .nav-button:first-child{max-width:100%;font-size:.95rem}.header-title-text{font-size:.95rem!important;line-height:1.2}.app-header .header-actions{gap:6px}.user-name{max-width:50vw!important}.student-dropdown-trigger,.sme-dropdown-trigger{padding:4px 6px;font-size:14px}.course-logo{grid-column:1;grid-row:1;justify-self:start}.header-actions{grid-column:3;grid-row:1;justify-self:end}.main-nav{grid-column:2;grid-row:1 / span 2}.main-nav{display:flex!important;flex-wrap:wrap!important;align-content:start;overflow:visible;position:relative}.main-nav .nav-button:first-child{flex:1 1 100%!important;order:-1}.main-nav .nav-button.icon,.main-nav .nav-button:not(:first-child){flex:0 0 auto}.main-nav .nav-button.icon{padding:6px}.main-nav .nav-button:not(:first-child){display:none!important}body.icons-open .main-nav .nav-button:not(:first-child){display:inline-flex!important}.main-nav:after{content:"";position:absolute;right:-2px;top:calc(100% - 28px);width:24px;height:28px;pointer-events:none;background:linear-gradient(270deg,color-mix(in srgb,var(--surface-primary) 85%,transparent),transparent);border-radius:0 6px 6px 0}.main-nav .nav-button.icon{background:var(--surface-inset);border:1px solid var(--border-primary);border-radius:8px}.app-header.sme-edit .selection-status{position:fixed!important;right:0!important;top:64px!important;background:var(--vanilla);color:var(--walnut-brown);border:1px solid color-mix(in srgb,var(--walnut-brown) 35%,var(--vanilla));border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-radius:12px 0 0 12px;-webkit-clip-path:inset(15% 0 0 0 round 12px 0 0 12px);clip-path:inset(15% 0 0 0 round 12px 0 0 12px);padding:4px 12px;z-index:10900}.app-header.sme-user .svt-circle{position:fixed!important;left:0!important;top:64px!important;z-index:10900;display:inline-flex;align-items:center;padding:0 1px;height:32px;border-radius:0 12px 12px 0;-webkit-clip-path:inset(15% 0 0 0 round 0 12px 12px 0);clip-path:inset(15% 0 0 0 round 0 12px 12px 0);background:var(--vanilla);color:var(--walnut-brown);border:1px solid color-mix(in srgb,var(--walnut-brown) 35%,var(--vanilla))}.app-header.sme-user .svt-circle svg{stroke:currentColor}}@media (max-width: 1100px){.has-course-sidebar .main-content{margin-left:0!important}.has-course-sidebar .main-content{width:100%!important}.course-sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.course-content-area{padding:0 12px;max-width:100%!important}}@media (min-width: 600px) and (max-width: 1200px){.course-content-area{max-width:100%!important}.course-content-area .card{max-width:100%}.course-content-area pre,.course-content-area code{max-width:100%;overflow-x:auto}}@media (max-width: 900px){.course-bottom-controls{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:12px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.course-bottom-controls .selection-status{min-width:0!important;width:100%}.course-bottom-controls .action-controls{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:auto;gap:8px;margin-right:0}.course-bottom-controls .context-input-section{grid-template-columns:1fr;row-gap:6px}.course-bottom-controls .context-label{justify-self:start}.course-bottom-controls .buttons-grid,.course-bottom-controls .button-group{display:grid;grid-auto-flow:row}}@media (max-width: 600px){.main-content{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))!important}}@media (max-width: 600px){.svt-bar-track{width:min(56vw,220px)!important}.svt-circle{width:28px;height:28px;padding:0;gap:0}.app-header.sme-edit .svt-circle:after,.app-header.sme-user:not(.sme-edit) .svt-circle:after{content:none!important}.app-header.sme-edit .svt-circle{outline:2px solid var(--old-gold);background:var(--vanilla);color:var(--walnut-brown)}.app-header.sme-user:not(.sme-edit) .svt-circle{outline:2px solid color-mix(in srgb,var(--text-primary) 60%,transparent);background:var(--cosmic-latte);color:var(--text-primary)}}@media (max-width: 900px){.modal-content{width:96vw!important;max-width:96vw!important;border-radius:12px}.modal-body{max-height:calc(90vh - 120px)}.students-modal{min-width:0!important;width:96vw!important;max-width:96vw!important}}@media (max-width: 900px){table{display:block;width:100%!important;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}thead,tbody,tr{width:100%}}@media (max-width: 900px){h1{font-size:clamp(1.5rem,5.5vw,2rem)}h2{font-size:clamp(1.25rem,4.5vw,1.5rem)}h3{font-size:clamp(1.05rem,4vw,1.25rem)}p,.course-content-area p,.course-content-area pre{max-width:100%!important}}@media (max-width: 480px){pre{padding:12px}}@media (max-width: 900px){.ai-terminal{width:calc(100vw - 32px)!important;left:16px;right:16px}.scw-right{width:min(92vw,400px)}}@media (max-width: 600px){.scw-container.scw-float,.scw-container.scw-right,.scw-container.scw-window{inset:auto 0 0!important}.scw-float{left:0!important;right:0!important;bottom:0!important}.scw-container.scw-float .scw-surface,.scw-container.scw-right .scw-surface,.scw-container.scw-window .scw-surface{width:100vw!important;max-width:100vw!important;height:min(70svh,calc(100svh - 64px));border-radius:12px 12px 0 0}.scw-container.scw-float .scw-resize-top,.scw-container.scw-right .scw-resize-top,.scw-container.scw-window .scw-resize-top{display:block!important;height:6px;cursor:ns-resize}.scw-container.scw-float .scw-resize-right,.scw-container.scw-float .scw-resize-left,.scw-container.scw-float .scw-resize-bottom,.scw-container.scw-right .scw-resize-right,.scw-container.scw-right .scw-resize-left,.scw-container.scw-right .scw-resize-bottom,.scw-container.scw-window .scw-resize-right,.scw-container.scw-window .scw-resize-left,.scw-container.scw-window .scw-resize-bottom{display:none!important}.scw-right .scw-header{margin-top:0!important}.scw-actions .scw-actions-horizontal>.scw-btn-wrapper:nth-of-type(3){display:none!important}}@media (max-width: 520px){.scm-submenu,.scm-menu,.fbx-menu,.fbx-ctx{min-width:0!important;width:min(92vw,320px)}}@media (max-width: 600px){.app-header .main-nav .nav-button:first-child{min-width:0;max-width:75vw}}@media (max-width: 900px){.container{padding-left:max(12px,3vw);padding-right:max(12px,3vw)}}.markdown-content img,.markdown-content video,.markdown-content iframe{max-width:100%;height:auto}@media (max-width: 900px){.progress-item{-webkit-line-clamp:unset}.progress-item:not(.section-title-button){display:block}.course-sidebar .section-title-button{display:flex}}@media (max-width: 600px){.student-dropdown-menu,.sme-dropdown-menu,.sme-dropdown-submenu{min-width:0!important;width:min(92vw,320px)!important}.user-name{max-width:50vw}}.chip,.badge,.hk-badge{min-width:0}@media (max-width: 600px){.course-selection-info{left:8px;right:8px;max-width:calc(100vw - 16px)}}@media (max-width: 600px){.hero{min-height:100svh}.milestones-container{width:100%!important;height:auto!important}.milestone-panel{width:100%!important;height:auto;min-height:100svh;padding:24px}}@media (max-width: 600px){.jsonviz-matrix table{min-width:0!important;width:100%!important}}@media (max-width: 600px){.pillars-image-container{position:static!important;height:auto!important}.image-wrapper{width:100%!important}}@media (max-width: 1100px){body.sidebar-open .course-sidebar{transform:translate(0)!important;opacity:1!important;pointer-events:auto!important;position:fixed!important;top:0!important;left:0!important;height:100vh!important;z-index:1000!important;background:var(--surface-primary, #fff)!important;box-shadow:2px 0 8px #00000026!important}body.sidebar-open:before{content:"";position:fixed;inset:0;background:#0000004d;z-index:999;pointer-events:auto}}
