@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-font:"Segoe UI Variable Text", "Aptos", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-surface:#f4f6f8;--app-card:#fff;--card-elevated:#fff;--border-color:#e4e7ec;--border-focus:color-mix(in srgb, var(--accent-color) 55%, transparent);--accent-color:#c0202a;--accent-glow:color-mix(in srgb, var(--accent-color) 15%, transparent);--accent-soft:#fdf2f2;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--text-sm:12px;--text-base:13px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:26px;--text-display:clamp(30px, 4vw, 42px);--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-label:.02em;--shadow-raised:0 4px 18px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-inset:inset 1px 1px 3px #0000000d;--shadow-glow:0 0 15px color-mix(in srgb, var(--accent-color) 20%, transparent);--motion-instant:.18s;--motion-fast:.28s;--motion-state:.36s;--motion-content:.52s;--motion-travel:.72s;--motion-data:.95s;--motion-loop:1.5s;--motion-loop-slow:1.6s;--motion-breathe:2.6s;--motion-breathe-slow:3.4s;--motion-wave:5.2s;--motion-stagger:80ms;--motion-dot-stagger:.16s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.7, 0, .84, 0);--ease-flow:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.22, 1, .36, 1);--ease-glide:cubic-bezier(.33, 1, .68, 1)}*{box-sizing:border-box}html,body,#root{background-color:var(--app-surface);height:100%;color:var(--text-primary);font-family:var(--app-font);margin:0}body{overflow:hidden}button,input,select,textarea{font-family:var(--app-font)}button{cursor:pointer}.skip-link{z-index:200;background:var(--accent-color);color:#fff;font-weight:700;font-size:var(--text-base);box-shadow:var(--shadow-raised);transition:transform var(--motion-fast) var(--ease-enter);border-radius:10px;padding:10px 16px;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{outline-offset:2px;outline:2px solid #fff;transform:translateY(0)}#main-content:focus{outline:none}button:disabled,select:disabled{cursor:not-allowed;opacity:.58}*{scrollbar-width:thin;scrollbar-color:var(--accent-color) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, #d78d90, var(--accent-color));background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#e4a1a3,#e0322f) padding-box padding-box;border:2px solid #0000;border-radius:10px}@keyframes spin{to{transform:rotate(360deg)}}.main-container{background:var(--app-surface);height:100vh;display:flex}.sidebar{border-right:1px solid var(--border-color);z-index:10;background:linear-gradient(#fff 0%,#f5f6f8 100%);flex-direction:column;gap:12px;width:clamp(320px,22vw,440px);height:100%;padding:20px 18px;display:flex;overflow:hidden;box-shadow:6px 0 24px #0f172a14}.sidebar-top{z-index:2;background:#fff;padding-bottom:8px;position:sticky;top:0}.logo-container{border-bottom:1px solid var(--border-color);justify-content:center;margin-bottom:12px;padding:4px 0 12px;display:flex}.logo{object-fit:contain;max-width:150px;height:auto}.view-mode-container{margin-bottom:8px}.sidebar-section,.sidebar-tab-panel,.sidebar-search-block{background:var(--app-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.sidebar-divider{background:var(--border-color);height:1px;margin:2px 0 4px}.sidebar-body{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow-x:clip}.sidebar-tabs,.segmented-control{background:#eef2f6;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.sidebar-tabs button,.segmented-control button{min-height:34px;color:var(--text-muted);transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:700}.sidebar-tabs button.active,.segmented-control button.active{color:var(--accent-color);background:#fff;box-shadow:0 1px 4px #0f172a14}.sidebar-tabs button:hover:not(.active),.segmented-control button:hover:not(.active):not(:disabled){color:var(--text-primary);background:#00000005}.field span,.sidebar-label,.sidebar-slider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.field select,.search-box{width:100%;min-height:38px;color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:#fff;border:1px solid #d8dee8;border-radius:8px;outline:none;padding:0 12px;font-size:13px}.field select:focus,.search-box:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 10%, transparent)}.honors-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.honors-toggle input{accent-color:var(--accent-color);cursor:pointer}.sidebar-helper-text{color:var(--text-muted);text-align:center;margin:-2px 0 0;font-size:10px;font-style:italic}.sidebar-slider{color:var(--text-secondary);gap:4px;font-size:12px;display:grid}.sidebar-slider input{accent-color:var(--accent-color);cursor:pointer}.sidebar-slider b{color:var(--accent-color);justify-self:end;font-size:13px}.sidebar-threshold-display{color:var(--text-secondary);text-align:center;padding:2px 0;font-size:11px;font-weight:600}.search-box input{background:0 0;border:0;outline:0;width:100%;padding:0}.search-results{gap:6px;margin-top:8px;display:grid}.search-results button{border:1px solid var(--border-color);text-align:left;min-width:0;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#f8f9fa;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:2px;padding:8px;display:grid}.search-results button:hover{background:var(--accent-soft);border-color:var(--border-focus)}.search-results strong{color:#0d6efd;font-size:13px;text-decoration:underline}.search-results span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.content-wrapper{flex:1;min-width:0;height:100%;padding:22px;overflow-y:auto}.content-area{gap:18px;max-width:1700px;margin:0 auto;display:grid}.content-card{background:var(--app-card);border:1px solid var(--border-color);box-shadow:var(--shadow-raised);border-radius:12px;padding:20px}.dashboard-heading span{color:var(--accent-color);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.dashboard-heading h1{color:#111827;margin:6px 0 8px;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.05}.dashboard-heading p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-card{background:var(--app-card);border:1px solid var(--border-color);box-shadow:var(--shadow-raised);min-height:118px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-enter);border-radius:12px;flex-direction:column;justify-content:space-between;padding:20px;display:flex}.metric-card:hover{transform:translateY(-2px)}.metric-card span:not(.animated-number),.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.metric-card strong,.metric-value{color:#4b5563;font-size:36px;font-weight:800}.metric-value .animated-number{font:inherit;color:inherit;letter-spacing:inherit;text-transform:none}.metric-card.warning strong,.metric-card.danger strong{color:var(--accent-color)}.metric-subtext{color:var(--text-secondary);margin-top:4px;font-size:11px}.highlights-section{gap:12px;display:grid}.section-title{font-size:var(--text-lg);line-height:var(--leading-snug);color:#111827;margin:0;font-weight:800}.highlight-text{color:var(--accent-color)}.highlights-card{border-top:3px solid #71717a}.highlights-card-critical{border-top-color:var(--accent-color)}.highlights-card-prereq{border-top-color:#f59e0b}.course-sections-stack{gap:16px;display:grid}.classification-card{background:var(--app-card);border:1px solid var(--border-color);box-shadow:var(--shadow-raised);border-radius:12px;overflow:hidden}.classification-header{text-align:left;width:100%;min-height:84px;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:16px;display:grid}.classification-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-color);border-radius:10px;place-items:center;display:grid}.classification-title{flex-direction:column;gap:4px;display:flex}.classification-title strong{color:#111827;font-size:16px}.classification-title small{color:var(--text-secondary);font-size:12px}.classification-chevron{color:var(--text-muted);transition:transform var(--motion-content) var(--ease-standard)}.classification-card.open .classification-chevron{transform:rotate(180deg)}.bucket-container{background:#fff;border:1px solid #edf0f3;border-radius:10px;margin-top:12px;overflow:hidden;box-shadow:inset 2px 2px 6px #0f172a09,inset -2px -2px 6px #ffffffe6}.bucket-header-bar{background:linear-gradient(#fff 0%,#fbfbfc 100%);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.bucket-header-bar.open{border-bottom:1px solid #edf0f3}.bucket-toggle-button{color:#3f3f46;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.bucket-actions{align-items:center;gap:8px;display:flex}.course-table-wrap{border:1px solid var(--border-color);background:#fff;border-radius:8px;overflow-x:auto}.course-table{border-collapse:collapse;width:100%;font-size:13px}.course-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;background:#f8f9fa;padding:12px 14px;font-size:11px;font-weight:700}.course-table td{color:var(--text-secondary);border-bottom:1px solid #eef2f6;padding:12px 14px}.course-table tbody tr:hover{background:var(--accent-soft)}.code-link-btn{color:#0d6efd;cursor:pointer;transition:color var(--motion-instant) var(--ease-standard);background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.badge-link-btn{border:1px solid var(--border-color);color:#0d6efd;cursor:pointer;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard);background:#f8f9fa;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:underline}.badge-link-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 0 8px var(--accent-glow);text-decoration:none}.neomorphic-btn-icon{border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 4px #00000005}.neomorphic-btn-icon:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 8px var(--accent-glow)}.table-skeleton,.chart-skeleton{min-height:260px;animation:shimmer var(--motion-loop) linear infinite;background:linear-gradient(90deg,#f3f4f6 0%,#fff 50%,#f3f4f6 100%) 0 0/200% 100%;border-radius:10px}.section-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:12px}.modal-root{z-index:1000;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.course-modal{border:1px solid var(--border-color);background:#fff;border-radius:18px;width:min(1320px,96vw);max-height:92vh;padding:0;position:relative;overflow:auto;box-shadow:0 28px 80px #0f172a47}.course-modal-close-button{z-index:2;width:42px;height:42px;color:var(--accent-color);background:#fff;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px;box-shadow:0 6px 18px #0f172a24}.course-modal-hero{border-bottom:1px solid var(--border-color);background:linear-gradient(#fff 0%,#f8f9fa 100%);padding:28px 72px 18px 28px}.course-modal-hero span{color:var(--accent-color);text-transform:uppercase;font-size:12px;font-weight:700}.course-modal-hero h2{font-size:var(--text-display);line-height:var(--leading-tight);color:#111827;margin:6px 0}.course-modal-hero p{color:var(--text-secondary);margin:0}.course-modal-tabs{border-bottom:1px solid var(--border-color);background:#f8f9fa;gap:8px;padding:12px 18px;display:flex;overflow-x:auto}.course-modal-tabs button{min-height:38px;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.course-modal-tabs button:hover{color:#111827;background:#fff}.course-modal-tabs button.active{background:var(--accent-color);color:#fff;box-shadow:0 4px 10px var(--accent-glow)}.modal-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.plot-host,.topology-canvas{border:1px solid var(--border-color);background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000005}.suggestion-widget{z-index:900;justify-items:end;gap:14px;display:grid;position:fixed;bottom:24px;right:24px}.suggestion-fab,.primary-action{color:#fff;cursor:pointer;min-height:46px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-enter), filter var(--motion-fast) var(--ease-enter);background:linear-gradient(#d3262f 0%,#b01c25 100%);border:0;border-radius:999px;align-items:center;gap:9px;padding:0 18px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 12px 28px #b01c254d}.suggestion-fab:hover,.primary-action:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 16px 36px #b01c2561}.suggestion-fab-label{white-space:nowrap}.suggestion-panel{transform-origin:100% 100%;width:384px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);animation:suggestionRise var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #e8eaee;border-radius:16px;overflow-y:auto;box-shadow:0 28px 70px #0f172a42}.suggestion-panel.is-closing{animation:suggestionFall var(--motion-fast) var(--ease-exit) forwards;pointer-events:none}@keyframes suggestionRise{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes suggestionFall{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.96)}}.suggestion-panel-header{background:linear-gradient(#fdf2f2 0%,#fff 100%);border-bottom:1px solid #eef1f5;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.suggestion-panel-title{color:#16181d;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:800}.suggestion-close-button{color:#b01c25;cursor:pointer;width:34px;height:34px;transition:background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.suggestion-close-button:hover{color:#fff;background:#b01c25;transform:rotate(90deg)}.suggestion-panel-body{gap:12px;padding:16px 18px 18px;display:grid}.suggestion-panel-description{color:#6b7280;margin:0;font-size:12.5px;line-height:1.5}.suggestion-message-input{resize:vertical;min-height:118px;font:inherit;color:#16181d;background:#fff;border:1px solid #dfe3e8;border-radius:10px;width:100%;padding:12px;font-size:13px}.suggestion-contact-input{font:inherit;color:#16181d;background:#fff;border:1px solid #dfe3e8;border-radius:10px;width:100%;padding:11px 12px;font-size:13px}.suggestion-message-input:focus,.suggestion-contact-input:focus{border-color:#d3262f;outline:none;box-shadow:0 0 0 3px #d3262f1f}.suggestion-upload{cursor:pointer;text-align:center;color:#6b7280;width:100%;transition:border-color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:#fafbfc;border:1.5px dashed #d6dae0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:18px 14px;display:flex}.suggestion-upload:hover{color:#b01c25;background:#fdf4f4;border-color:#d3262f}.suggestion-upload.is-drag{color:#b01c25;background:#fdeaea;border-color:#d3262f}.suggestion-upload-title{color:#374151;margin-top:2px;font-size:13px;font-weight:700}.suggestion-upload.is-drag .suggestion-upload-title,.suggestion-upload:hover .suggestion-upload-title{color:#b01c25}.suggestion-upload-subtitle{font-size:11.5px}.suggestion-upload-filename{color:#9ca3af;font-size:11.5px}.suggestion-image-preview-wrapper{background:#fafbfc;border:1px solid #e8eaee;border-radius:12px;gap:10px;padding:12px;display:grid}.suggestion-image-preview{object-fit:contain;background:#fff;border:1px solid #eef1f5;border-radius:8px;width:100%;max-height:200px}.suggestion-image-preview-meta{justify-content:space-between;align-items:center;font-size:12px;display:flex}.suggestion-preview-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:700;overflow:hidden}.suggestion-preview-size{color:#9ca3af}.suggestion-clear-image-button{cursor:pointer;color:#6b7280;transition:border-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #dfe3e8;border-radius:8px;justify-self:start;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.suggestion-clear-image-button:hover{color:#b01c25;background:#fdf4f4;border-color:#b01c25}.suggestion-submit-button{cursor:pointer;color:#fff;width:100%;min-height:44px;transition:transform var(--motion-instant) var(--ease-enter), box-shadow var(--motion-instant) var(--ease-standard), filter var(--motion-instant) var(--ease-standard);background:linear-gradient(#d3262f 0%,#b01c25 100%);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:2px;font-size:13.5px;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #b01c2542}.suggestion-submit-button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.suggestion-submit-button:disabled{opacity:.55;cursor:default}.suggestion-status-alert{border-radius:10px;padding:11px 12px;font-size:12.5px;font-weight:600;line-height:1.45}.suggestion-status-alert.is-success{color:#0f6b45;background:#e8f6ef;border:1px solid #b8e2cd}.suggestion-status-alert.is-error{color:#b01c25;background:#fdecec;border:1px solid #f4c9c9}.suggestion-disabled-notice{color:#b01c25;background:#fdf2f2;border:1px solid #f0d5d6;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.45;display:flex}.suggestion-disabled-notice svg{flex:none;margin-top:1px}.suggestion-panel-body.is-disabled .suggestion-message-input,.suggestion-panel-body.is-disabled .suggestion-contact-input,.suggestion-panel-body.is-disabled .suggestion-upload,.suggestion-panel-body.is-disabled .suggestion-upload-filename{opacity:.5;cursor:not-allowed}@media (max-width:1200px){.metric-grid{grid-template-columns:1fr}}@media (max-width:820px){body{overflow:auto}.main-container{height:auto;display:block}.sidebar{width:auto;height:auto;box-shadow:none;border-radius:0}.content-wrapper{height:auto;padding:16px}}.modal-root{z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;position:absolute;inset:0}.course-modal{z-index:1;color:#111827;background:#fff;border:none;border-radius:20px;flex-direction:column;width:min(1180px,94vw);max-height:calc(100vh - 100px);display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.course-modal-layout{flex:auto;gap:0;height:100%;min-height:0;display:flex}.course-modal-sidebar{background:linear-gradient(135deg, var(--accent-color) 0%, #a82525 100%);color:#fff;border-top-left-radius:20px;border-bottom-left-radius:20px;flex-direction:column;flex:0 0 30%;min-width:260px;max-width:30%;min-height:0;padding:20px;display:flex;overflow:hidden}.sidebar-dfw-btn{color:#fff;cursor:pointer;width:100%;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);background:#ffffff14;border:1px solid #ffffff47;border-radius:11px;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;text-decoration:none;display:flex}.sidebar-dfw-btn:hover{background:#ffffff29;border-color:#ffffff80}.sidebar-dfw-btn:focus-visible{outline-offset:2px;outline:2px solid #ffffffb3}.sidebar-dfw-btn-icon{color:#fff;background:#ffffff24;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.sidebar-dfw-btn-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sidebar-dfw-btn-title{color:#fff;font-size:13px;font-weight:700}.sidebar-dfw-btn-sub{color:#ffffffb8;font-size:10.5px;font-weight:500}.sidebar-dfw-btn-ext{color:#fff;opacity:.6;flex:none;margin-left:auto}.course-modal-sidebar-content{color:#fff;scrollbar-width:thin;scrollbar-color:#ffffff4d transparent;background:0 0;border-radius:12px;flex:1;margin-top:16px;padding:12px 8px 4px;overflow-y:auto}.exec-summary-banner{color:#fff;background:0 0;margin-bottom:0;padding:0}.exec-summary-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.exec-title{color:#fff;letter-spacing:-.3px;margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.3}.exec-course-code{color:#fff;font-weight:800}.exec-summary-body{flex-direction:column;gap:12px;margin-top:12px;display:flex}.exec-meta-label{text-transform:uppercase;letter-spacing:1.2px;opacity:.85;margin-bottom:3px;font-size:11px;font-weight:600}.exec-meta-value{font-size:16px;font-weight:700}.sidebar-info{color:#fff}.sidebar-section-title{color:#fff;border-bottom:2px solid #ffffff4d;margin:0 0 12px;padding-bottom:8px;font-size:15px;font-weight:700}.sidebar-info-label{text-transform:uppercase;letter-spacing:1px;color:#ffffffd9;margin-bottom:4px;font-size:11px;font-weight:700}.sidebar-info-value{color:#fffffff2;font-size:13px;font-weight:500}.sidebar-badge-link{color:#fff;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#ffffff2e;border:1px solid #ffffff4d;border-radius:6px;margin:2px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.sidebar-badge-link:hover{background:#ffffff59;transform:translateY(-1px)}.course-modal-main{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent-color) 55%, transparent) transparent;background:#fff;border-left:1px solid #f1f5f9;flex-direction:column;flex:auto;min-width:0;height:100%;min-height:0;max-height:100%;display:flex;overflow-y:auto}.analytics-tabs{background:#f8f9fa;border-bottom:3px solid #e5e7eb;flex-shrink:0;gap:0;padding:0;display:flex}.analytics-tabs button{color:#6b7280;transition:color var(--motion-state) var(--ease-standard), background-color var(--motion-state) var(--ease-standard), border-color var(--motion-state) var(--ease-standard), transform var(--motion-state) var(--ease-flow);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-3px;padding:14px 20px;font-size:13px;font-weight:700;display:flex}.analytics-tabs button.active{color:var(--accent-color);border-bottom-color:var(--accent-color);background:#fff;font-weight:800}.tab-content-area{flex:1;padding:24px 28px 32px;overflow-y:auto}.tab-content-wrapper{animation:none}.tab-section-title{color:#1f2937;border-bottom:3px solid #e5e7eb;margin:24px 0 20px;padding-bottom:12px;font-size:20px;font-weight:700}.tab-section-title:first-child{margin-top:0}.tab-description{color:#6b7280;margin-bottom:24px;font-size:15px;line-height:1.7}.chart-card{transition:border-color var(--motion-state) var(--ease-standard), box-shadow var(--motion-state) var(--ease-standard), transform var(--motion-state) var(--ease-enter);background:#fff;border:2px solid #e5e7eb;border-radius:16px;width:100%;overflow:hidden}.chart-title{color:#1f2937;margin:0 0 6px;font-size:17px;font-weight:700}.chart-description{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.chart-help-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:#fef2f2}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{transition:border-color var(--motion-state) var(--ease-standard), box-shadow var(--motion-state) var(--ease-standard), transform var(--motion-state) var(--ease-enter);background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:18px;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(90deg, var(--accent-color), #8b1e1e);height:4px;transition:height var(--motion-state) var(--ease-flow);position:absolute;top:0;left:0;right:0}.kpi-card:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--accent-color) 12%, transparent);border-color:var(--accent-color);transform:translateY(-2px)}.kpi-card--critical:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.kpi-card--critical{background:linear-gradient(135deg,#fef2f2 0%,#fff 100%);border-color:#fecaca}.kpi-label{color:#6b7280;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:12px;font-weight:700}.kpi-value{color:#1f2937;margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.kpi-subtitle{color:#9ca3af;margin-bottom:4px;font-size:11px;font-weight:600}.kpi-description{color:#6b7280;margin-top:6px;font-size:12px;line-height:1.5}.section-table-wrap{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.section-table{border-collapse:collapse;width:100%;font-size:13px}.section-table thead{background:linear-gradient(135deg,#fef2f2 0%,#f9fafb 100%)}.section-table th{color:#374151;text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb;padding:12px 14px;font-size:12px;font-weight:700}.section-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 14px}.section-table tbody tr:hover{background:#fef2f2}.section-table .dfw-high{color:var(--accent-color);font-weight:700}.modal-empty{color:#9ca3af;background:#fbfbfc;border:1px solid #edf0f3;border-radius:12px;justify-content:center;align-items:center;min-height:120px;padding:40px;font-size:14px;display:flex}.course-modal-close-btn{z-index:100;color:#fff;cursor:pointer;width:32px;height:32px;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff3;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.course-modal-close-btn:hover{background:#ffffff59;transform:rotate(90deg)}@media (max-width:900px){.course-modal-layout{flex-direction:column}.course-modal-sidebar{border-radius:20px 20px 0 0;flex:none;min-width:auto;max-width:100%;padding:16px}.course-modal-main{border-left:none}.analytics-tabs{overflow-x:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animated-collapse{overflow:hidden}.classification-body.animated-collapse,.bucket-table-content.animated-collapse{display:block}.content-card,.metric-card,.classification-card,.chart-card,.sidebar-section,.sidebar-tab-panel,.bucket-container{box-shadow:8px 8px 18px #0f172a12,-8px -8px 18px #ffffffe6}.course-modal{box-shadow:24px 24px 70px #0f172a3d,-18px -18px 42px #ffffffbf}.instructor-trend-panel{gap:12px;display:grid}.instructor-trend-control{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;gap:8px;padding:14px 18px;display:grid;box-shadow:inset 2px 2px 5px #0f172a0a,inset -2px -2px 6px #fffffff2}.instructor-trend-control span{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:700}.instructor-trend-control select{color:#111827;background:#fff;border:1px solid #d8dee8;border-radius:10px;outline:none;width:min(680px,100%);min-height:40px;padding:0 12px;font-size:13px;font-weight:600}.instructor-trend-control select:focus{border-color:color-mix(in srgb, var(--accent-color) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 10%, transparent)}@media (max-width:720px){.analytics-tabs button{padding:12px 14px;font-size:12px}.tab-content-area{padding:18px}}:root{--app-surface:#eef1f5;--app-card:#f8fafc;--border-color:#dce3ec;--text-secondary:#475569;--text-muted:#64748b;--shadow-raised:10px 10px 24px #0f172a14, -10px -10px 24px #ffffffe6;--shadow-soft:6px 6px 16px #0f172a11, -6px -6px 16px #ffffffeb;--shadow-pressed:inset 3px 3px 7px #0f172a0f, inset -3px -3px 8px #fffffff2}.sidebar{background:#eef1f5;border-right:1px solid #94a3b847;gap:14px;width:clamp(300px,20vw,360px);padding:18px 16px;box-shadow:10px 0 28px #0f172a12}.sidebar-top{background:#eef1f5}.logo-container{border-bottom-color:#94a3b840;margin-bottom:10px;padding:16px 0 14px}.logo{max-width:128px}.sidebar-section,.sidebar-tab-panel,.sidebar-search-block{box-shadow:var(--shadow-soft);background:#f8fafc;border:1px solid #94a3b83d;border-radius:16px;gap:14px;padding:16px}.sidebar-tabs,.segmented-control{box-shadow:var(--shadow-pressed);background:#e9edf3;border:1px solid #94a3b838;border-radius:14px}.sidebar-tabs button,.segmented-control button{border-radius:11px;min-height:38px;font-size:12px}.field select,.search-box,.instructor-trend-control select{background:#f8fafc;border-radius:12px;min-height:42px;box-shadow:inset 2px 2px 6px #0f172a0b,inset -2px -2px 7px #fffffff2}.content-wrapper{padding:clamp(24px,2.2vw,36px)}.content-area{gap:24px;max-width:1480px}.content-card,.metric-card,.classification-card,.chart-card,.bucket-container{box-shadow:var(--shadow-raised);background:#f8fafc;border:1px solid #94a3b83d;border-radius:18px}.content-card{padding:clamp(22px,2vw,30px)}.dashboard-heading h1{margin:8px 0 10px;font-size:clamp(28px,3.2vw,40px);line-height:1.08}.dashboard-heading p{max-width:860px;font-size:15px}.metric-grid{gap:22px}.metric-card{min-height:126px;padding:22px}.metric-card strong,.metric-value{font-size:clamp(30px,3vw,40px)}.course-sections-stack{gap:22px}.classification-header{grid-template-columns:48px minmax(0,1fr) 24px;gap:16px;min-height:96px;padding:20px 22px}.classification-icon{width:48px;height:48px;box-shadow:var(--shadow-pressed);border-radius:14px}.classification-title strong{font-size:17px}.classification-title small{max-width:760px;font-size:13px;line-height:1.45}.classification-body{padding:6px 22px 22px}.bucket-container{background:#f8fafc;border-radius:15px;margin-top:16px}.bucket-header-bar{background:0 0;padding:14px 16px}.bucket-toggle-button{font-size:14px}.bucket-table-content{padding:14px}.course-table-wrap,.section-table-wrap{background:#fff;border-radius:14px}.course-table{font-size:12.5px}.course-table th{background:#f5f7fa;padding:14px 16px}.course-table td{padding:13px 16px;line-height:1.35}.modal-root{background:#0f172a1f;padding:28px}.course-modal{background:#f8fafc;border-radius:24px;width:min(1820px,100vw - 40px);max-height:calc(100vh - 48px);box-shadow:28px 28px 90px #0f172a47,-14px -14px 36px #ffffff6b}.course-modal-layout{min-height:min(860px,100vh - 48px)}.course-modal-sidebar{background:linear-gradient(160deg,#b91f2b 0%,#8f1d24 100%);border-radius:24px 0 0 24px;flex-basis:320px;min-width:300px;max-width:320px;padding:28px 24px}.course-modal-sidebar-content{margin-top:22px;padding:12px 4px 4px 0}.exec-title{font-size:20px;line-height:1.35}.sidebar-info-row{margin-bottom:18px}.sidebar-info-description{font-size:13px;line-height:1.65}.sidebar-badge-link{border-radius:999px;padding:5px 10px}.course-modal-main{background:#f8fafc;border-left:0}.analytics-tabs{background:#f8fafc;border-bottom:0;gap:8px;padding:14px 18px 0;position:relative;box-shadow:inset 0 -1px #94a3b82e}.analytics-tabs button{letter-spacing:0;text-transform:none;border:1px solid #0000;border-bottom:0;border-radius:14px 14px 0 0;min-height:44px;padding:0 18px;font-size:12px}.analytics-tabs button.active{color:#b91f2b;background:#fff;border-color:#94a3b838;box-shadow:5px -5px 14px #ffffffb8,-3px 0 8px #0f172a0a}.tab-content-area{background:#fff;padding:32px 36px 40px;overflow-x:hidden}.tab-section-title{border-bottom:1px solid #e5eaf0;margin:30px 0 22px;padding-bottom:10px;font-size:19px}.tab-description{max-width:none;margin-top:-10px;font-size:14px;line-height:1.6}.chart-grid-single{margin-bottom:34px}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:visible;box-shadow:0 10px 28px #0f172a11}.chart-title{margin-bottom:7px;font-size:16px}.chart-description{max-width:none;font-size:13px;line-height:1.55}.plot-host,.topology-canvas{box-shadow:none;background:#fff;border:0;border-radius:14px}.chart-controls-container{background:#f8fafc;border-bottom:1px solid #edf2f7}.demographic-filter-panel{margin-bottom:24px}@media (max-width:1180px){.course-modal-sidebar{flex-basis:280px;min-width:260px;max-width:280px}.tab-content-area{padding:26px}}@media (max-width:900px){.course-modal{width:min(100vw - 24px,760px);max-height:calc(100vh - 24px)}.course-modal-layout{min-height:auto}.course-modal-sidebar{border-radius:24px 24px 0 0;max-width:100%}.chart-card-body{padding:18px}}.chart-card-body{min-height:0;padding:18px 20px 20px}.chart-frame{width:100%;position:relative}.chart-frame svg{font-family:var(--chart-font,"IBM Plex Sans", "Segoe UI", Inter, sans-serif)}.recharts-surface{overflow:visible}:root{--chart-font:"IBM Plex Sans", "Segoe UI", Inter, sans-serif}.chart-empty{text-align:center;color:#94a3b8;background:repeating-linear-gradient(45deg,#fafbfc,#fafbfc 10px,#f6f8fa 10px 20px);border-radius:12px;justify-content:center;align-items:center;padding:32px 20px;font-size:13px;font-weight:500;display:flex}.chart-tip{color:#f8fafc;pointer-events:none;background:#0f172af5;border-radius:10px;min-width:170px;max-width:320px;padding:10px 12px;font-size:12px;line-height:1.5;box-shadow:0 12px 30px #0f172a47}.thm-tip{pointer-events:none}.chart-tip-title{color:#fff;white-space:normal;overflow-wrap:anywhere;margin-bottom:2px;font-size:12.5px;font-weight:700;line-height:1.35}.chart-tip-subtitle{color:#94a3b8;border-bottom:1px solid #ffffff1a;margin-bottom:7px;padding-bottom:6px;font-size:10.5px;font-weight:600}.chart-tip-caption{letter-spacing:.06em;text-transform:uppercase;color:#8a97a8;margin:7px 0 3px;font-size:9px;font-weight:700}.chart-tip-row{align-items:center;gap:8px;min-width:0;display:flex}.chart-tip-row--sub{border-left:1px solid #ffffff24;margin-left:3px;padding-left:8px}.chart-tip-dot{border-radius:50%;flex:none;width:9px;height:9px}.chart-tip-label{color:#cbd5e1;overflow-wrap:anywhere;min-width:0}.chart-tip-value{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;padding-left:10px;font-weight:700}.comparison-tip{max-width:430px;padding:12px 14px}.comparison-tip-table{border-collapse:collapse;width:100%}.comparison-tip-table thead tr{border-bottom:1px solid #ffffff1a}.comparison-tip-table th{text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;font-size:9px;font-weight:700}.cmp-h-metric{text-align:left;color:#8a97a8}.cmp-h-filtered{text-align:right;color:#f87171;padding-left:16px}.cmp-h-unfiltered{text-align:right;color:#fff;padding-left:16px}.comparison-tip-label{text-align:left;color:#cbd5e1;overflow-wrap:anywhere;padding:4px 0;font-size:11.5px}.comparison-tip-label--sub{color:#a8b3c2;border-left:1px solid #ffffff24;padding-left:10px;font-size:11px}.comparison-tip-caption td{letter-spacing:.06em;text-transform:uppercase;color:#8a97a8;padding:7px 0 1px;font-size:9px;font-weight:700}.comparison-tip-val-filtered,.comparison-tip-val-unfiltered{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 0 4px 16px;font-size:11.5px;font-weight:700}.comparison-tip-val-filtered{color:#f87171}.comparison-tip-val-unfiltered{color:#fff}.comparison-tip-footer{border-top:1px solid #ffffff1a;margin-top:8px;padding-top:6px;font-size:11px}.comparison-tip-footer .chart-tip-label{color:#8a97a8}.comparison-tip-footer .chart-tip-value{font-weight:600}.chart-legend{color:#475569;flex-wrap:wrap;gap:18px;padding:4px 4px 14px;font-size:12px;font-weight:600;display:flex}.chart-legend-item{align-items:center;gap:7px;display:inline-flex}.chart-legend-muted{color:#94a3b8;font-weight:500}.chart-legend-swatch{border-radius:4px;width:12px;height:12px}.chart-legend-ramp{background:linear-gradient(90deg,#10b981,#84cc16,#f59e0b,#f97316,#e0322f);border-radius:2px;width:44px;height:10px}.chart-more-note{color:#94a3b8;text-align:right;padding:8px 4px 2px;font-size:11.5px;font-weight:500}.chart-inline-control{flex-wrap:wrap;align-items:center;gap:10px;padding:0 4px 14px;display:flex}.chart-inline-control label{color:#475569;font-size:12px;font-weight:600}.chart-inline-control select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #d8dee7;border-radius:9px;min-width:240px;max-width:100%;padding:7px 12px;font-size:13px}.chart-inline-control select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 12%, transparent);outline:none}.d3-node{cursor:pointer;transition:opacity var(--motion-instant) var(--ease-standard)}.d3-node:hover{opacity:.82}.demographics-accordion-container{margin-bottom:20px;box-shadow:0 1px 2px #0f172a0a;background:#fff!important;border:1px solid #e6e9ee!important;border-radius:14px!important;overflow:visible!important}.demographics-panel-header{border-radius:14px 14px 0 0;background:#fbfcfd!important}.demographics-panel-header h3{color:#0f172a!important}.filter-strip-count{color:#64748b;font-size:12.5px}.filter-field-label{color:#64748b!important}.demographics-accordion-container,.demographics-panel-header{border-radius:0!important}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#11131861!important}.course-modal{flex-direction:column;display:flex;background:#fff!important;border:1px solid #e6e9ee!important;border-radius:0!important;width:min(1660px,95vw)!important;height:min(90vh,960px)!important;max-height:88vh!important;overflow:hidden!important;box-shadow:0 30px 90px #0f172a57!important}.cm{flex-direction:column;flex:auto;min-height:0;display:flex}.cm-close{z-index:20;color:#1f2937;cursor:pointer;width:38px;height:38px;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #e2e6ec;border-radius:0;place-items:center;display:grid;position:absolute;top:14px;right:16px}.cm-close:hover{color:#fff;background:#e0322f;border-color:#e0322f}.cm-header{background:#fff;border-bottom:1px solid #eef1f5;flex-shrink:0;padding:22px 64px 18px 28px}.cm-code{letter-spacing:1px;color:#e0322f;text-transform:uppercase;font-size:12px;font-weight:800}.cm-name{color:#111318;margin:4px 0 10px;font-size:24px;font-weight:800;line-height:1.2}.cm-meta{flex-wrap:wrap;gap:8px;display:flex}.cm-meta-item{color:#475569;background:#f4f6f9;border:1px solid #e6e9ee;padding:4px 10px;font-size:12px;font-weight:600}.cm-meta-strong{color:#e0322f;background:#fdecec;border-color:#f7c9c9}.cm-tabs{background:#fbfcfd;border-bottom:2px solid #eef1f5;flex-shrink:0;gap:0;display:flex;overflow-x:auto}.cm-tabs button{color:#64748b;cursor:pointer;white-space:nowrap;transition:color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:13px 20px;font-size:13px;font-weight:700;display:inline-flex}.cm-tabs button:hover{color:#111318}.cm-tabs button.active{color:#e0322f;border-bottom-color:#e0322f}.cm-content{background:#f7f8fa;flex:auto;min-height:0;padding:22px 28px 30px;position:relative;overflow-y:scroll}.cm-fetching{z-index:30;background:#f7f8fa99;place-items:center;display:grid;position:absolute;inset:0}.cm-spinner{width:30px;height:30px;animation:spin var(--motion-data) linear infinite;border:3px solid #e0322f26;border-top-color:#e0322f;border-radius:50%}.cm-about{background:#fff;border:1px solid #e6e9ee;grid-template-columns:1.618fr 1fr;gap:20px;margin-bottom:22px;padding:20px 22px;display:grid}.cm-label{letter-spacing:.6px;text-transform:uppercase;color:#94a3b8;margin-bottom:8px;font-size:11px;font-weight:800}.cm-about-desc p{color:#374151;margin:0;font-size:14px;line-height:1.7}.cm-hours{color:#64748b;gap:16px;margin-top:12px;font-size:12px;display:flex}.cm-hours span{align-items:center;gap:5px;display:inline-flex}.cm-about-rel{border-left:1px solid #eef1f5;flex-direction:column;gap:16px;padding-left:20px;display:flex}.cm-rel-block .cm-count{color:#e0322f;background:#fdecec;margin-left:6px;padding:1px 7px;font-weight:700;display:inline-block}.cm-chip-row{flex-wrap:wrap;gap:6px;display:flex}.cm-chip{color:#1f2937;cursor:pointer;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#f4f6f9;border:1px solid #e2e6ec;padding:4px 9px;font-size:11.5px;font-weight:700}.cm-chip:hover{color:#fff;background:#e0322f;border-color:#e0322f}.cm-none{color:#94a3b8;font-size:13px}.chart-card{margin-bottom:22px;box-shadow:none!important;border:1px solid #e6e9ee!important;border-radius:0!important}.chart-card:hover{border-color:#e0322f!important;box-shadow:0 6px 22px #e0322f14!important}.chart-card-header{background:#fff!important;border-bottom:1px solid #eef1f5!important;padding:16px 20px!important}.chart-title{font-size:15px!important}.cm-grid-2{flex-direction:column;gap:22px;display:flex}@media (max-width:1080px){.cm-about{grid-template-columns:1fr}.cm-about-rel{border-left:none;padding-left:0}}.collapse{transition:grid-template-rows var(--motion-state) var(--ease-standard);grid-template-rows:0fr;display:grid}.collapse[data-open=true]{grid-template-rows:1fr}.collapse-inner{min-height:0;overflow:hidden}.collapse[data-open=true]>.collapse-inner{overflow:visible}.grade-group-controls{background:#fbfcfd;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5;padding:16px 20px}.ggc-title{color:#111318;font-size:13px;font-weight:800}.ggc-sub{color:#64748b;margin-top:2px;margin-bottom:12px;font-size:11px}.ggc-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.ggc-field{flex-direction:column;gap:4px;display:flex}.ggc-field>label{color:#475569;font-size:11px;font-weight:700}.ggc-field input[type=text]{border:1px solid #d8dee7;border-radius:0;min-width:160px;padding:7px 10px;font-size:12px}.ggc-grades{flex:260px}.ggc-grade-box{background:#fff;border:1px solid #d8dee7;flex-wrap:wrap;gap:6px;max-height:76px;padding:6px;display:flex;overflow-y:auto}.ggc-grade{cursor:pointer;background:#f3f4f6;border:1px solid #0000;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:inline-flex}.ggc-grade input{display:none}.ggc-grade.on{color:#e0322f;background:#fdecec;border-color:#e0322f;font-weight:700}.ggc-add{color:#fff;cursor:pointer;background:#e0322f;border:none;padding:8px 16px;font-size:12px;font-weight:700}.ggc-clear{color:#374151;cursor:pointer;background:#fff;border:1px solid #d8dee7;padding:7px 16px;font-size:12px;font-weight:700}.ggc-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.ggc-tag{color:#e0322f;background:#fdecec;border:1px solid #f7c9c9;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.ggc-tag button{color:#e0322f;cursor:pointer;background:0 0;border:none;font-size:11px}.course-modal-layout{flex:auto;height:100%;min-height:0;flex-direction:row!important;display:flex!important}.course-modal-sidebar{flex-direction:column;min-height:0;display:flex;background:linear-gradient(160deg, var(--accent-color) 0%, #921a20 100%)!important;color:#fff!important;border-radius:0!important;flex:0 0 320px!important;min-width:280px!important;max-width:320px!important;padding:26px 22px!important}.sidebar-code{letter-spacing:1.2px;opacity:.85;text-transform:uppercase;font-size:12px;font-weight:800}.sidebar-name{color:#fff;margin:6px 0 16px;font-size:21px;font-weight:800;line-height:1.25}.sidebar-meta{border-bottom:1px solid #fff3;flex-direction:column;gap:9px;padding-bottom:16px;display:flex}.sidebar-meta-row{justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.sidebar-meta-k{opacity:.82;font-weight:600}.sidebar-meta-v{text-align:right;font-weight:700}.sidebar-scroll{flex:1;margin-top:16px;padding-right:6px;overflow-y:auto}.sidebar-block{margin-bottom:18px}.sidebar-info-label{letter-spacing:.6px;text-transform:uppercase;opacity:.82;margin-bottom:8px;font-size:11px;font-weight:800}.sidebar-info-description{color:#ffffffeb;margin:0;font-size:13px;line-height:1.65}.sidebar-info-value{opacity:.9;font-size:13px}.sidebar-hours{flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.sidebar-hours span{align-items:center;gap:5px;display:inline-flex}.sidebar-chip-row{flex-wrap:wrap;gap:6px;display:flex}.sidebar-chip{color:#fff;cursor:pointer;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#ffffff24;border:1px solid #ffffff4d;padding:4px 9px;font-size:11.5px;font-weight:700}.sidebar-chip:hover{color:var(--accent-color);background:#fff;border-color:#fff}.sidebar-chip--text{cursor:default;opacity:.85;background:#ffffff12;border-style:dashed;font-weight:600}.sidebar-chip--text:hover{color:#fff;background:#ffffff12;border-color:#ffffff4d}.sidebar-chip-more{opacity:.85;align-self:center;font-size:11px}.sidebar-count{background:#fff3;margin-left:6px;padding:1px 7px;font-weight:700}.course-modal-main{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;border-left:none!important;flex:auto!important}.analytics-tabs{flex-shrink:0;display:flex;background:#fbecec!important;border-bottom:none!important;overflow-x:visible!important}.analytics-tabs button{color:#8a6a6b;cursor:pointer;white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:8px;min-width:0;margin-bottom:0;padding:0 14px;font-size:12.5px;font-weight:700;display:inline-flex;background:0 0!important;border:none!important;border-radius:11px!important}.analytics-tabs button svg{flex:none}.analytics-tabs button:hover{color:var(--accent-color)}.analytics-tabs button.active{color:#fff!important;background:0 0!important;border-bottom-color:#0000!important}.tab-content-area{background:#f7f8fa;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;padding:0!important;overflow:hidden!important}.tab-content-track{will-change:transform;width:400%;height:100%;display:flex}.tab-content-pane{scrollbar-gutter:stable;box-sizing:border-box;scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;will-change:transform, opacity;flex-shrink:0;width:25%;height:100%;padding:22px 16px 30px 26px!important;overflow-y:auto!important}.chart-title{border-left:3px solid var(--accent-color);padding-left:11px}.course-modal{border-radius:16px!important}.course-modal-sidebar{border-radius:16px 0 0 16px!important}.cm-close{border-radius:10px!important}.chart-card{border-radius:13px!important}.chart-card-header{background:linear-gradient(#fdf2f2 0%,#fff 72%)!important;border-radius:13px 13px 0 0!important}.chart-help-btn,.chart-help-text{border-radius:8px!important}.cm-meta-item,.cm-chip,.sidebar-chip{border-radius:7px!important}.sidebar-count,.cm-count{border-radius:6px!important}.demographics-accordion-container{border-radius:12px!important}.demographics-panel-header{border-radius:12px 12px 0 0!important}.ggc-field input[type=text],.ggc-add,.ggc-clear,.ggc-grade-box,.ggc-grade,.ggc-tag{border-radius:8px!important}.grade-group-controls{border-radius:0}.cm-spinner{border-radius:50%!important}.analytics-tabs button{border-radius:11px!important}.collapse{transition:grid-template-rows var(--motion-content) var(--ease-soft)}.collapse-inner{opacity:.35;transition:opacity var(--motion-state) var(--ease-standard)}.collapse[data-open=true]>.collapse-inner{opacity:1}.sidebar-meta{gap:0!important}.sidebar-field{border-bottom:1px solid #ffffff24;flex-direction:column;gap:2px;padding:9px 0;display:flex}.sidebar-field:last-child{border-bottom:none}.sidebar-field-k{letter-spacing:.6px;text-transform:uppercase;opacity:.72;font-size:10.5px;font-weight:700}.sidebar-field-v{font-size:13.5px;font-weight:700;line-height:1.35}.net-flow{stroke:var(--accent-color);stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-dasharray:5 11;pointer-events:none}.net-legend{border-top:1px solid #eef1f5;flex-wrap:wrap;gap:10px 16px;margin-top:6px;padding:12px 6px 2px;display:flex}.net-legend-item{color:#475569;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.net-legend-dot{border-radius:50%;flex:none;width:10px;height:10px}.course-modal{border:none!important}.course-modal-main{border-left:none!important}.analytics-tabs{gap:4px;padding:6px!important}.analytics-tabs button.active{box-shadow:none;color:#fff!important;background:0 0!important;border-bottom-color:#0000!important}.analytics-tabs button:hover:not(.active){color:var(--accent-color);background:0 0}.tab-content-pane{scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-backdrop{-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.chart-legend-wrap{justify-content:center;margin:2px 0 14px;display:flex}.chart-legend-box{background:#fff;border:1px solid #e6e9ee;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:7px 15px;display:inline-flex;box-shadow:0 1px 3px #0f172a0d}.lg-item{color:#374151;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.lg-square{border-radius:3px;flex:none;width:13px;height:13px}.lg-dot{border-radius:50%;flex:none;width:12px;height:12px}.lg-line{border-radius:2px;flex:none;width:22px;height:3px}.lg-dash{border-top:2px dashed;flex:none;width:22px;height:0}.lg-label{white-space:nowrap}.lg-item-chip{gap:0}.lg-chip{white-space:nowrap;letter-spacing:.01em;color:var(--accent-color);background:#fdecec;border:1px solid #f3c6c8;border-radius:999px;align-items:center;padding:1px 8px;font-size:10px;font-weight:700;line-height:1.5;display:inline-flex}.chart-chip-row{justify-content:flex-start;margin:0 0 6px;display:flex}.chart-chip-row .lg-chip{text-overflow:ellipsis;max-width:100%;display:inline-block;overflow:hidden}.chart-with-bar{align-items:stretch;gap:16px;display:flex}.chart-with-bar>.chart-frame{flex:auto;min-width:0}.colorbar{flex-direction:column;flex:none;align-items:center;width:70px;padding-top:6px;display:flex}.colorbar-title{color:#475569;text-align:center;margin-bottom:10px;font-size:10.5px;font-weight:700;line-height:1.2}.colorbar-body{flex:1;gap:7px;min-height:220px;display:flex}.colorbar-gradient{border:1px solid #0f172a14;border-radius:4px;width:16px;height:100%}.colorbar-ticks{color:#64748b;flex-direction:column;justify-content:space-between;font-size:10px;font-weight:600;display:flex}.course-modal{width:min(1720px,86vw)!important}.cm-close{z-index:40;cursor:pointer;width:38px;height:38px;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);place-items:center;display:grid;position:absolute;top:26px;right:22px;box-shadow:0 2px 8px #0f172a1a;color:var(--accent-color)!important;background:#fff!important;border:1px solid #ecd3d5!important;border-radius:50%!important}.cm-close:hover{transform:rotate(90deg);background:var(--accent-color)!important;border-color:var(--accent-color)!important;color:#fff!important}.cm-back{z-index:41;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);height:34px;transition:background-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter), border-color var(--motion-instant) var(--ease-standard);background:#ffffff24;border:1px solid #ffffff8c;border-radius:18px;align-items:center;gap:6px;padding:0 13px 0 10px;font-size:12.5px;font-weight:700;display:inline-flex;position:absolute;top:26px;left:22px}.cm-actions{z-index:41;background:#fff;border:1px solid #eadadb;border-radius:999px;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;top:22px;right:20px;box-shadow:0 4px 14px #0f172a1a}.cm-act{color:#b01c25;cursor:pointer;width:34px;height:34px;transition:background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.cm-act:hover:not(:disabled){color:#fff;background:#b01c25}.cm-act-close:hover{transform:rotate(90deg)}.cm-act:disabled{opacity:.55;cursor:default}.cm-act-share.is-copied{color:#12855a}.cm-act-share.is-error{color:#b91c1c}.cm-act-divider{background:#eadadb;width:1px;height:18px;margin:0 1px}.cm-act-toast{white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;position:absolute;top:46px;right:2px;transform:translateY(-4px);box-shadow:0 6px 16px #0f172a24}.cm-act-toast.show{opacity:1;transform:translateY(0)}.cm-act-toast.ok{color:#12855a;border:1px solid #cdebdc}.cm-act-toast.err{color:#b91c1c;border:1px solid #f0c9c9}.cm-share{z-index:41;width:38px;height:38px;color:var(--accent-color);cursor:pointer;transition:background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #ecd3d5;border-radius:50%;place-items:center;display:grid;position:absolute;top:26px;right:72px;box-shadow:0 2px 8px #0f172a1a}.cm-share:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-1px)}.cm-share:disabled{opacity:.65;cursor:default;transform:none}.cm-share.is-copied{color:#fff;background:#12855a;border-color:#12855a}.cm-share.is-error{color:#fff;background:#b91c1c;border-color:#b91c1c}.cm-share-toast{white-space:nowrap;color:#12855a;opacity:0;pointer-events:none;transition:opacity var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #cdebdc;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;position:absolute;top:50%;right:46px;transform:translateY(-50%)translate(6px);box-shadow:0 4px 14px #0f172a1f}.cm-share.is-copied .cm-share-toast{opacity:1;transform:translateY(-50%)translate(0)}.cm-share.is-error .cm-share-toast{opacity:1;color:#b91c1c;border-color:#f0c9c9;transform:translateY(-50%)translate(0)}.analytics-tabs{margin:18px 104px 8px 20px!important;padding:6px!important}.course-modal{background:linear-gradient(160deg, var(--accent-color) 0%, #921a20 100%)!important}.course-modal-main{background:#fff!important}.tab-content-area{background:#f7f8fa!important}.enroll-perf-scroll-host{background:#fff;border:1px solid #eef1f5;border-radius:10px}.hier-chart{font-family:var(--app-font);font-size:13px}.hier-legend{background:#f8f9fb;border:1px solid #eef1f5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:10px 14px;display:flex}.hier-legend-items{color:var(--text-secondary);gap:16px;font-size:11.5px;display:flex}.hier-legend-item{align-items:center;gap:5px;display:flex}.hier-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.hier-summary{color:var(--text-muted);gap:6px;font-size:11px;font-weight:500;display:flex}.hier-col-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid #eef1f5;align-items:center;padding:6px 16px;font-size:10.5px;font-weight:600;display:flex}.hier-col-name{flex:1;min-width:0}.hier-col-bar{text-align:center;flex-shrink:0;width:180px}.hier-col-metrics{text-align:right;flex-shrink:0;width:110px;padding-right:4px}.hier-scroll-host{background:#fff;border:1px solid #eef1f5;border-radius:10px;max-height:520px;overflow:hidden auto}.hier-row{transition:background-color var(--motion-instant) var(--ease-standard);border-bottom:1px solid #f3f4f6;align-items:center;gap:6px;min-height:40px;padding:9px 14px;display:flex}.hier-row:last-child{border-bottom:none}.hier-expandable{cursor:pointer}.hier-expandable:hover{background:#f8f9fb}.hier-expandable:active{background:#f1f3f6}.hier-depth-0{background:#fafbfc;border-bottom:1px solid #e8ebf0;font-weight:600}.hier-depth-0:hover{background:#f3f5f8}.hier-depth-1{font-weight:500}.hier-depth-2{color:var(--text-secondary);font-weight:400}.hier-alert .hier-name{position:relative}.hier-toggle{width:18px;height:18px;color:var(--text-muted);transition:transform var(--motion-fast) var(--ease-enter);flex-shrink:0;justify-content:center;align-items:center;display:flex}.hier-dot{background:#d1d5db;border-radius:50%;width:5px;height:5px;display:block}.hier-icon{opacity:.8;flex-shrink:0;align-items:center;display:flex}.hier-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;line-height:1.3;overflow:hidden}.hier-level-tag{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);background:#f1f3f6;border-radius:4px;flex-shrink:0;margin-right:4px;padding:1px 6px;font-size:9.5px;font-weight:600}.hier-depth-0 .hier-level-tag{background:color-mix(in srgb, var(--accent-color) 8%, transparent);color:var(--accent-color)}.hier-bar-track{background:#f3f4f6;border-radius:7px;flex-shrink:0;width:180px;height:14px;position:relative;overflow:hidden}.hier-bar-fill{height:100%;transition:width var(--motion-data) var(--ease-enter);border-radius:7px;min-width:3px}.hier-metrics{font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;width:110px;font-size:12px;display:flex}.hier-enrollment{color:var(--text-primary);font-weight:700}.hier-sep{color:#d1d5db;font-weight:400}.hier-rate{text-align:right;min-width:48px;font-weight:700}.hier-children{animation:hierSlideIn var(--motion-content) var(--ease-enter)}@keyframes hierSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hier-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.icicle-chart{font-family:var(--app-font)}.icicle-header{background:#f8f9fb;border:1px solid #eef1f5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;display:flex}.icicle-level-labels{align-items:center;gap:6px;display:flex}.icicle-level-item{color:var(--text-secondary);align-items:center;gap:3px;font-size:11px;font-weight:500;display:flex}.icicle-arrow{color:#cbd5e1;font-size:11px;font-weight:400}.icicle-counts{color:var(--text-muted);font-size:11px;font-weight:500}.icicle-scale{align-items:center;gap:12px;padding:4px 14px 8px;display:flex}.icicle-scale-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;margin-top:-8px;font-size:10px;font-weight:600}.icicle-scale-wrapper{flex-direction:column;flex-shrink:0;gap:4px;width:240px;display:flex}.icicle-gradient{background:linear-gradient(90deg,#2563eb 0%,#14b8a6 30%,#f59e0b 60%,#e0322f 100%);border-radius:4px;width:100%;height:8px}.icicle-scale-ticks{width:100%;color:var(--text-muted);justify-content:space-between;font-size:9px;line-height:1;display:flex}.icicle-depth-labels{width:48px;display:none;position:absolute;top:0;left:-52px}.icicle-depth-labels span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;justify-content:flex-end;align-items:center;padding-right:6px;font-size:9px;font-weight:600;display:flex;position:absolute}.icicle-body{border:1px solid #eef1f5;border-radius:10px;position:relative;overflow:hidden}.icicle-root{gap:2px;display:flex}.icicle-col{min-width:0;overflow:hidden}.icicle-cell{cursor:pointer;transition:filter var(--motion-instant) var(--ease-standard), opacity var(--motion-instant) var(--ease-standard);border-right:1px solid #ffffff40;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.icicle-cell:hover{filter:brightness(1.12);z-index:2;box-shadow:inset 0 0 0 2px #ffffff80}.icicle-active{z-index:3;filter:brightness(1.15)!important;box-shadow:inset 0 0 0 2px #ffffffb3!important}.icicle-d0{border-bottom:2px solid #ffffff59;font-size:12px}.icicle-d1{border-bottom:1px solid #ffffff40;font-size:11px}.icicle-d2{font-size:10px}.icicle-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #00000059;max-width:95%;font-weight:700;line-height:1.2;overflow:hidden}.icicle-stats{color:#ffffffd9;white-space:nowrap;text-shadow:0 1px 2px #0000004d;font-size:9.5px;font-weight:500}.icicle-kids{gap:1px;margin-top:2px;display:flex}.icicle-detail{min-height:52px;transition:background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);background:#f8f9fb;border:1px solid #eef1f5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:10px 16px;display:flex}.icicle-detail-active{background:#fff;border-color:#dce1e8;box-shadow:0 2px 8px #0f172a0d}.icicle-detail-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.icicle-detail-name{flex-direction:column;min-width:0;display:flex}.icicle-detail-name strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.icicle-detail-level{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:9px;font-weight:600;line-height:1.2}.icicle-detail-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.icicle-detail-metric{flex-direction:column;align-items:center;gap:1px;display:flex}.icicle-detail-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.icicle-detail-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:500}.icicle-detail-divider{background:#e4e7ec;flex-shrink:0;width:1px;height:28px}.icicle-footer{color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 14px 0;font-size:11px;display:flex}.icicle-footer strong{color:var(--text-primary)}.icicle-footer-hint{opacity:.7;font-size:10.5px;font-style:italic}.skeleton{background-color:#eceff3;background-image:linear-gradient(100deg,#eceff300 20%,#ffffffd9 50%,#eceff300 80%);background-repeat:no-repeat;background-size:220% 100%;border-radius:8px;display:block;overflow:hidden}.skeleton-soft{animation:skeletonShimmer var(--motion-loop-slow) linear infinite}@keyframes skeletonShimmer{0%{background-position:180% 0}to{background-position:-80% 0}}.sk-line{height:12px}.sk-xs{border-radius:6px;height:9px}.sk-sm{height:13px}.sk-md{height:17px}.sk-lg{height:22px}.sk-tab{border-radius:8px;width:22%;height:30px}.sk-chart{border-radius:10px;width:100%;height:240px;margin-top:6px}.loading-modal{flex-direction:row;width:100%;height:100%;min-height:460px;display:flex}.loading-modal-sidebar{background:linear-gradient(160deg,#fbe9ea 0%,#f7dedf 100%);border-radius:16px 0 0 16px;flex-direction:column;flex:0 0 320px;gap:12px;min-width:280px;max-width:320px;padding:28px 24px;display:flex}.loading-modal-sidebar.has-back{padding-top:70px}.loading-modal-back{border-radius:18px;width:74px;height:34px;position:absolute;top:26px;left:22px}.loading-modal-sidebar{position:relative}.loading-modal-sidebar .skeleton{background-color:color-mix(in srgb, var(--accent-color) 14%, transparent);background-image:linear-gradient(100deg,#fff0 20%,#ffffff8c 50%,#fff0 80%)}.loading-modal-sidebar-meta{border-top:1px solid color-mix(in srgb, var(--accent-color) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent-color) 12%, transparent);flex-direction:column;gap:12px;margin:4px 0;padding:14px 0;display:flex}.loading-modal-field{flex-direction:column;gap:6px;display:flex}.loading-modal-main{background:#f7f8fa;border-radius:0 16px 16px 0;flex-direction:column;flex:auto;gap:18px;min-width:0;padding:20px 26px 28px;display:flex}.loading-modal-tabs{border-bottom:2px solid #eef1f5;gap:8px;padding-bottom:14px;display:flex}.loading-modal-card{background:#fff;border:1px solid #e6e9ee;border-radius:13px;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.loading-modal-card .sk-chart{background-color:#f1f3f6}.loading-screen--branded{z-index:9998;color:#fff;background:radial-gradient(circle at 50% 38%,#d0242e 0%,#b91f2b 46%,#8f1d24 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:0 24px;display:flex}.loading-logo{background:#fff;border-radius:24px;justify-content:center;align-items:center;width:120px;height:120px;display:flex;box-shadow:0 16px 40px #4a080c66}.loading-logo img{object-fit:contain;width:84px;height:auto}.loading-rule{background:#ffffffd9;border-radius:999px;width:60px;height:3px;display:block}.loading-label{color:#ffffffe6!important;margin:4px 0 0!important;font-size:13px!important;font-weight:600!important}.loading-dots{gap:8px;margin-top:2px;display:inline-flex}.loading-dots span{width:8px;height:8px;animation:loadingDot var(--motion-data) var(--ease-standard) infinite;background:#ffffffe6;border-radius:999px}.loading-dots span:nth-child(2){animation-delay:var(--motion-dot-stagger)}.loading-dots span:nth-child(3){animation-delay:calc(var(--motion-dot-stagger) * 2)}@keyframes loadingDot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.shell-loading-screen,.signin-screen--css{animation:shellSurfaceIn var(--motion-state) var(--ease-soft) both}.shell-loading-item,.signin-screen--css [data-signin]{animation:shellItemIn var(--motion-content) var(--ease-enter) both}.shell-loading-item:nth-child(2),.signin-screen--css [data-signin]:nth-child(2){animation-delay:var(--motion-stagger)}.shell-loading-item:nth-child(3),.signin-screen--css [data-signin]:nth-child(3){animation-delay:calc(var(--motion-stagger) * 2)}.shell-loading-item:nth-child(4),.signin-screen--css [data-signin]:nth-child(4){animation-delay:calc(var(--motion-stagger) * 3)}.signin-screen--css [data-signin]:nth-child(5){animation-delay:calc(var(--motion-stagger) * 4)}@keyframes shellSurfaceIn{0%{opacity:0}to{opacity:1}}@keyframes shellItemIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}.signin-screen{z-index:9999}.signin-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:440px;padding:0 28px;display:flex}.signin-title{color:#fff;letter-spacing:-.01em;margin:6px 0 0;font-size:24px;font-weight:700}.signin-text{color:#ffffffeb;margin:0;font-size:15px;line-height:1.55}.signin-button{color:#b91f2b;cursor:pointer;transition:transform var(--motion-instant) var(--ease-enter), box-shadow var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard);background:#fff;border:0;border-radius:12px;margin-top:6px;padding:13px 26px;font-size:15px;font-weight:700;box-shadow:0 12px 30px #4a080c59}.signin-button:hover{background:#fff5f5;transform:translateY(-1px);box-shadow:0 16px 38px #4a080c73}.signin-button:active{transform:translateY(0)}.signin-button:focus-visible{outline-offset:3px;outline:3px solid #ffffffb3}.signin-hint{color:#ffffffbf;margin:2px 0 0;font-size:12.5px}@media (prefers-reduced-motion:reduce){.signin-button{transition:none}.shell-loading-screen,.shell-loading-item,.signin-screen--css,.signin-screen--css [data-signin]{animation:none}}.tab-content-area .tab-content-wrapper{flex-direction:column;gap:22px;display:flex}.tab-content-wrapper>.chart-card{margin-bottom:0!important}.tab-content-area .chart-card-body>div>svg{max-height:560px;margin:0 auto;display:block}.analytics-tabs{background:#fbecec;border:1px solid #f2d7d7;border-radius:16px;flex-shrink:0;gap:4px;margin:16px 20px 6px;padding:6px;display:flex;position:relative;box-shadow:inset 0 1px 2px #7814190a}.analytics-tabs button{z-index:1;color:#8a6a6b;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;min-width:0;min-height:42px;box-shadow:none;transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:none;border-radius:11px;flex:auto;justify-content:center;align-items:center;gap:7px;margin:0;padding:0 14px;font-size:12.5px;font-weight:600;display:flex;position:relative}.analytics-tabs button svg{transition:transform var(--motion-fast) var(--ease-enter);flex-shrink:0}.analytics-tabs button span{text-overflow:ellipsis;overflow:hidden}.analytics-tabs button:hover{color:var(--accent-color);background:0 0}.analytics-tabs button.active{color:#fff;box-shadow:none;background:0 0;border-color:#0000;font-weight:700}.analytics-tabs button.active svg{transform:scale(1.06)}.analytics-tabs .tab-indicator{background:linear-gradient(135deg, #e0322f 0%, var(--accent-color) 100%);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-color) 30%, transparent), inset 0 1px 0 #ffffff24;z-index:0;pointer-events:none;will-change:transform, width;border-radius:11px;position:absolute;top:0;left:0}:root{--app-surface:#f4f6f8;--app-card:#fff;--card-elevated:#fff;--border-color:#94a3b83d;--accent-color:#c0202a;--accent-strong:#b91f2b;--accent-soft:#fdf2f2;--accent-glow:color-mix(in srgb, var(--accent-color) 16%, transparent);--shadow-soft:0 2px 8px #0f172a0d;--shadow-raised:0 6px 20px #0f172a12, 0 1px 3px #0f172a0b;--shadow-pressed:none;--shadow-inset:none;--shadow-glow:0 6px 18px color-mix(in srgb, var(--accent-color) 16%, transparent)}.content-card,.metric-card,.classification-card,.chart-card,.sidebar-section,.sidebar-tab-panel,.sidebar-search-block,.bucket-container{background:var(--app-card);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);border-radius:16px}.content-card,.metric-card,.classification-card{box-shadow:var(--shadow-raised)}.metric-card:hover{box-shadow:var(--shadow-raised);transition:transform var(--motion-fast) var(--ease-enter);transform:translateY(-2px)}.sidebar,.sidebar-top{background:#fff}.sidebar{border-right:1px solid var(--border-color);box-shadow:0 0 24px #0f172a0d}.sidebar-tabs,.segmented-control{border:1px solid var(--border-color);box-shadow:none;background:#f1f3f6;border-radius:12px}.sidebar-tabs button.active,.segmented-control button.active{background:#fff;box-shadow:0 1px 3px #0f172a14}.field select,.search-box,.instructor-trend-control select{border:1px solid var(--border-color);box-shadow:none;background:#fff;border-radius:12px}.field select:focus,.search-box:focus-within,.instructor-trend-control select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.instructor-trend-control,.bucket-container{box-shadow:var(--shadow-soft)}.classification-icon{background:var(--accent-soft);color:var(--accent-strong);box-shadow:none}.neomorphic-btn-icon{box-shadow:none}.neomorphic-btn-icon:hover{box-shadow:0 4px 10px var(--accent-glow)}.chart-card{border:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.intro-reveal{z-index:9999;cursor:pointer;will-change:transform, opacity, clip-path;clip-path:circle(150% at 50% 38%);background:radial-gradient(circle at 50% 38%,#d0242e 0%,#b91f2b 46%,#8f1d24 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intro-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:0 24px;display:flex}.intro-logo{background:#fff;border-radius:28px;justify-content:center;align-items:center;width:148px;height:148px;display:flex;box-shadow:0 24px 60px #4a080c66}.intro-logo img{object-fit:contain;width:104px;height:auto}.intro-rule{transform-origin:50%;background:#ffffffd9;border-radius:999px;width:74px;height:3px;display:block}.intro-title{color:#fff;letter-spacing:.4px;margin:0;font-size:clamp(18px,2.4vw,24px);font-weight:700}.intro-loading{gap:8px;margin-top:2px;display:inline-flex}.intro-loading span{width:9px;height:9px;animation:introDot var(--motion-data) var(--ease-standard) infinite;background:#ffffffe6;border-radius:999px}.intro-loading span:nth-child(2){animation-delay:var(--motion-dot-stagger)}.intro-loading span:nth-child(3){animation-delay:calc(var(--motion-dot-stagger) * 2)}@keyframes introDot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.search-box{color:var(--text-muted);align-items:center;gap:8px;display:flex}.search-box svg{flex:none}.search-results strong{color:var(--accent-color)}.search-results button{background:#fff}.search-box input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:auto;padding:0;font-size:13px}.classification-header{grid-template-columns:48px minmax(0,1fr) auto 24px}.classification-count{color:var(--accent-color);white-space:nowrap;padding-right:4px;font-size:15px;font-weight:800}.section-help-wrap{padding:4px 2px 10px}.help-toggle{border:1px solid var(--border-color);color:var(--accent-strong);transition:background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.help-toggle:hover{background:var(--accent-soft);border-color:var(--border-focus)}.section-help{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent-color) 12%, transparent);border-radius:12px;margin-top:8px;padding:12px 14px}.section-help p{color:var(--text-secondary);margin:0 0 8px;font-size:12.5px;line-height:1.6}.section-help p:last-child{margin-bottom:0}.section-help b{color:var(--text-primary)}.cdt-toolbar{border-bottom:1px solid var(--border-color);background:linear-gradient(#fff 0%,#fbfbfc 100%);justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.cdt-toolbar-copy{min-width:0}.cdt-toolbar-copy h3{color:var(--text-primary);margin:0 0 3px;font-size:15px;font-weight:800}.cdt-toolbar-copy p{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.45}.cdt-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:460px;overflow:auto}.cdt-sort{font:inherit;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;transition:color var(--motion-instant) var(--ease-standard);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10.5px;font-weight:700;display:inline-flex}.cdt-name{color:var(--text-primary);font-weight:600}.cdt-footer{border-top:1px solid var(--border-color);color:var(--text-muted);background:#fbfbfc;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:11px;font-weight:600;display:flex}.cdt-sort-hint{opacity:.85;text-align:right;font-weight:500}.code-link-btn{color:var(--accent-color);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.code-link-btn:hover{color:var(--accent-strong)}.content-wrapper{scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sidebar-tab-panel{scroll-behavior:smooth}.metric-card,.classification-card,.classification-header,.bucket-header-bar,.help-toggle,.neomorphic-btn-icon,.code-link-btn,.search-results button,.segmented-control button,.sidebar-tabs button{transition:background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard)}:root{--app-surface:#f1eef0;--accent-wash:color-mix(in srgb, var(--accent-color) 5%, transparent)}.main-container{background:radial-gradient(1200px 520px at 0% -8%, color-mix(in srgb, var(--accent-color) 7%, transparent), transparent 60%), radial-gradient(900px 500px at 100% 0%, color-mix(in srgb, var(--accent-color) 4.5%, transparent), transparent 55%), linear-gradient(180deg, #f6f3f4 0%, #eef0f3 100%)}.sidebar{background:linear-gradient(#fff5f5 0%,#fff 22% 100%)}.logo-container{border-bottom:2px solid color-mix(in srgb, var(--accent-color) 14%, transparent)}.section-title,.highlights-section .section-title,.highlights-section h2{padding-left:14px;position:relative}.section-title:before,.highlights-section h2:before{content:"";background:linear-gradient(180deg, #e0322f, var(--accent-color));border-radius:999px;width:4px;height:1.05em;position:absolute;top:50%;left:0;transform:translateY(-50%)}.classification-card{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-color) 1.8%, transparent), transparent 120px), #fff;transition:border-color var(--motion-fast) var(--ease-standard);border-left:4px solid #0000}.classification-card.open{border-left-color:var(--accent-color);box-shadow:var(--shadow-raised)}.classification-header:hover{background:var(--accent-wash)}.classification-icon{color:#fff!important;box-shadow:0 6px 14px color-mix(in srgb, var(--accent-color) 28%, transparent)!important;background:linear-gradient(150deg,#e0322f 0%,#b91f2b 100%)!important}.highlights-card{border-top:3px solid var(--accent-color);background:linear-gradient(snow 0%,#fff 60%)}.highlights-card-total .metric-value,.highlights-card-critical .metric-value,.highlights-card-prereq .metric-value{color:#b01c25!important}.highlights-card-total,.highlights-card-critical,.highlights-card-prereq{border-top-color:#b01c25}.bucket-header-bar{background:linear-gradient(#fdf6f6,#fff)}.bucket-header-bar.open{background:var(--accent-wash)}.help-toggle:focus-visible,.bucket-toggle-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.sidebar{flex-shrink:0;gap:16px;width:clamp(380px,24vw,420px);min-width:0;padding:20px 18px}.sidebar-section{flex-direction:column;gap:16px;padding:16px;display:flex}.sidebar-tab-panel{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:20px;min-height:0;padding:18px 16px;display:flex;overflow:hidden auto}.field{flex-direction:column;gap:7px;display:flex}.field span,.sidebar-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.field select{min-height:42px}.sidebar-field--segmented,.sidebar-field-wrap{flex-direction:column;gap:10px;display:flex}.sidebar-field--slider,.sidebar-slider{flex-direction:column;gap:8px;padding-top:2px;display:flex}.sidebar-slider input{margin:4px 0}.sidebar-slider-header{justify-content:space-between;align-items:center;display:flex}.sidebar-slider-header span{letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.slider-value{color:var(--accent-color);font-size:13px;font-weight:700;font-family:var(--display-font)}.honors-toggle{border:1px solid var(--border-color);background:#fff;border-radius:12px;align-items:flex-start;margin-top:2px;padding:11px 13px;line-height:1.4}.honors-highlight{color:var(--accent-color);font-weight:800}.honors-toggle-info{flex:none;margin-left:auto}.info-popover-panel .honors-info-lead{margin:0 0 6px;font-weight:600}.info-popover-panel .honors-info-note{margin:7px 0 0}.info-popover-panel .honors-info-list{flex-direction:column;gap:3px;margin:4px 0 0;padding-left:16px;display:flex}.sidebar-threshold-display{text-align:left;color:var(--text-secondary);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent-color) 12%, transparent);border-radius:11px;min-height:92px;padding:11px 13px;font-size:11.5px;line-height:1.6}.sidebar-threshold-display .animated-number{font-variant-numeric:tabular-nums}.threshold-hot{color:var(--accent-color);font-weight:800}.ac-collapse{opacity:0;transition:grid-template-rows var(--motion-travel) var(--ease-enter), opacity var(--motion-content) var(--ease-standard);will-change:grid-template-rows;grid-template-rows:0fr;display:grid;overflow:hidden}.ac-collapse--open{opacity:1;grid-template-rows:1fr}.ac-collapse>.ac-collapse-inner{min-height:0;overflow:hidden}.field select,.sidebar-dropdown,.analysis-dropdown{accent-color:var(--accent-color);color:var(--text-primary);font-weight:600}.field select option,.sidebar-dropdown option,.analysis-dropdown option{color:var(--text-primary);background:#fff;padding:10px 12px;font-size:13px;font-weight:500}.field select option:checked,.field select option:hover,.sidebar-dropdown option:checked{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.field select option:disabled{color:var(--text-muted)}:root{--display-font:"Space Grotesk", var(--app-font)}.dashboard-heading h1,.highlights-section h2,.section-title,.classification-title strong,.exec-title,.course-modal-hero h2{font-family:var(--display-font);text-wrap:balance}.dashboard-heading h1,.course-modal-hero h2{letter-spacing:var(--tracking-tight)}.highlights-section h2,.section-title,.classification-title strong,.exec-title{letter-spacing:var(--tracking-snug)}.classification-count,.classification-header .cdt-sort,.field span,.sidebar-label,.metric-label{font-family:var(--display-font);letter-spacing:var(--tracking-label)}.njit-select{position:relative}.njit-select-trigger{border:1px solid var(--border-color);width:100%;min-height:42px;color:var(--text-muted);text-align:left;transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:500;display:flex}.njit-select-trigger.has-value{color:var(--text-primary);font-weight:600}.njit-select-trigger:hover:not(:disabled){border-color:#cdd4de}.njit-select-trigger.open{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.njit-select-trigger:disabled{opacity:.55;cursor:not-allowed}.njit-select-text{flex:auto;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.njit-select-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.njit-select-trigger-count{text-align:right;color:#b01c25;font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-weight:800}.njit-select-caret{color:#9aa3b0;transition:transform var(--motion-state) var(--ease-flow), color var(--motion-fast) var(--ease-standard);flex:none}.njit-select-trigger.open .njit-select-caret{color:var(--accent-color);transform:rotate(180deg)}.njit-select-menu{z-index:9999;border:1px solid var(--border-color);max-height:264px;animation:njitSelectIn var(--motion-fast) var(--ease-enter);background:#fff;border-radius:12px;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 16px 36px #0f172a29}@keyframes njitSelectIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.njit-select-option{width:100%;color:var(--text-secondary);text-align:left;transition:background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:12.5px;font-weight:500;display:flex}.njit-select-option:hover{background:var(--accent-wash);color:var(--text-primary)}.njit-select-option.selected{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.njit-select-option .lucide{color:var(--accent-color);flex:none}.njit-select-opt-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.njit-select-opt-label.placeholder{color:var(--text-muted);font-style:italic}.njit-select-opt-right{flex:none;align-items:center;gap:8px;display:inline-flex}.njit-select-count{color:#b01c25;font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.njit-select-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:12px}.demographics-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--ease-standard);justify-content:space-between;align-items:center;padding:14px 20px;display:flex;background:linear-gradient(135deg, var(--accent-color), #991b1b)!important;color:#fff!important}.demographics-panel-header h3{margin:0;font-size:14px;font-weight:700;color:#fff!important}.demographics-panel-header .sliders-icon{color:#fff!important}.demographics-panel-header .filter-strip-count{font-size:11.5px;color:#ffffffd1!important}.demographics-panel-header .active-count-badge{border-radius:8px;padding:2px 7px;font-size:11px;font-weight:800;box-shadow:0 2px 6px #0000001a;color:var(--accent-color)!important;background:#fff!important}.demographics-panel-header .reset-btn{cursor:pointer;transition:background-color var(--motion-instant) var(--ease-standard), transform var(--motion-instant) var(--ease-enter);border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:flex;color:#fff!important;background:#ffffff26!important}.demographics-panel-header .reset-btn:hover{transform:translateY(-1px);background:#ffffff40!important}.demographics-panel-header .chevron-icon{color:#fff!important}.demographics-group-badge{border-radius:8px;padding:1px 6px;font-size:10px;font-weight:800;background:var(--accent-color)!important;color:#fff!important}.filter-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;transition:color var(--motion-instant) var(--ease-standard);margin-bottom:5px;font-size:10px;font-weight:700;line-height:1.25;display:block}.filter-dropdown-trigger{border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:38px;transition:border-color var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.filter-dropdown-trigger:hover{border-color:#cbd5e1}.filter-dropdown-trigger.is-open{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px var(--accent-glow)!important}.filter-dropdown-trigger.has-active{background:color-mix(in srgb, var(--accent-color) 3%, transparent)!important;border-color:var(--accent-color)!important}.filter-dropdown-menu{border:1px solid var(--border-color);z-index:9999;max-height:220px;animation:njitSelectIn var(--motion-fast) var(--ease-enter);background:#fff;border-radius:9px;position:fixed;overflow-y:auto;box-shadow:0 12px 28px #0f172a24}.filter-dropdown-option{cursor:pointer;transition:background-color var(--motion-instant) var(--ease-standard);border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.filter-dropdown-option:hover{background:#f8fafc}.filter-dropdown-option.is-selected{background:color-mix(in srgb, var(--accent-color) 5%, transparent)!important}.filter-dropdown-option span{color:#475569;font-weight:500}.filter-dropdown-option.is-selected span{font-weight:600;color:var(--text-primary)!important}.app-error{z-index:3000;background:#f6f7f9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app-error-card{text-align:center;background:#fff;border:1px solid #e6e8ec;border-radius:16px;width:100%;max-width:460px;padding:36px 32px;box-shadow:0 20px 50px #0f172a1f}.app-error-mark{color:#fff;background:linear-gradient(#d3262f 0%,#b01c25 100%);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:28px;font-weight:800;display:grid}.app-error-card h1{color:#16181d;margin:0 0 8px;font-size:20px;font-weight:800}.app-error-card p{color:#6b7280;margin:0 0 22px;font-size:14px;line-height:1.55}.app-error-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.app-error-btn{cursor:pointer;color:#374151;min-height:42px;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #dfe3e8;border-radius:10px;justify-content:center;align-items:center;padding:0 18px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.app-error-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.app-error-btn:hover{color:#b01c25;border-color:#b01c25}.app-error-btn.primary{color:#fff;background:linear-gradient(#d3262f 0%,#b01c25 100%);border:0;box-shadow:0 8px 20px #b01c2542}.app-error-btn.primary:hover{filter:brightness(1.05);color:#fff}.redacted-mode .metric-value,.redacted-mode .njit-select-count,.redacted-mode .njit-select-trigger-count,.redacted-mode .classification-count,.redacted-mode .sidebar-threshold-display,.redacted-mode .sidebar-count,.redacted-mode .cm-count,.redacted-mode .metric-subtext,.redacted-mode .bucket-toggle-button span{filter:blur(5px);-webkit-user-select:none;user-select:none}.redacted-mode .chart-card-body svg text,.redacted-mode .recharts-cartesian-axis-tick-value,.redacted-mode .recharts-label,.redacted-mode .enroll-perf-scroll-host svg text{filter:blur(4px)}.redacted-mode .structural-graph svg text{filter:none}.redacted-mode .cdt-table tbody td.cdt-right{filter:blur(4px);-webkit-user-select:none;user-select:none}.redacted-mode .recharts-tooltip-wrapper,.redacted-mode .chart-tip,.redacted-mode .comparison-tip{display:none!important}.redacted-mode .icicle-stats,.redacted-mode .icicle-detail-val,.redacted-mode .icicle-counts,.redacted-mode .icicle-footer strong,.redacted-mode .tt-hover-metrics{filter:blur(4px);-webkit-user-select:none;user-select:none}.redacted-mode .icicle-scale-ticks,.redacted-mode .colorbar-ticks,.redacted-mode .colorbar-threshold-label{display:none!important}.redacted-mode .cdt-footer,.redacted-mode .lg-label,.redacted-mode .chart-legend-item,.redacted-mode .chart-help-text,.redacted-mode .section-help{filter:blur(4px);-webkit-user-select:none;user-select:none}.redacted-banner{z-index:950;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111318eb;border-radius:999px;align-items:center;gap:10px;max-width:min(920px,100vw - 32px);padding:11px 18px;font-size:12.5px;font-weight:600;line-height:1.35;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000047}.redacted-dot{background:#f59e0b;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #f59e0b40}.action-dock{z-index:900;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.dock-btn{cursor:pointer;color:#fff;width:50px;height:50px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-enter), filter var(--motion-fast) var(--ease-enter);background:linear-gradient(#d3262f 0%,#b01c25 100%);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative;box-shadow:0 12px 28px #b01c254d}.dock-btn:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 16px 36px #b01c2566}.dock-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #d3262f59,0 12px 28px #b01c254d}.dock-btn-tour{color:#b01c25;background:#fff;border:1px solid #f0d4d6;box-shadow:0 12px 28px #11182729}.dock-btn-tour:focus-visible{box-shadow:0 0 0 3px #d3262f47,0 12px 28px #11182729}.dock-btn-label{white-space:nowrap;color:#fff;opacity:0;pointer-events:none;transition:opacity var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#16181d;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:700;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)translate(6px);box-shadow:0 8px 20px #00000038}.dock-btn:hover .dock-btn-label,.dock-btn:focus-visible .dock-btn-label{opacity:1;transform:translateY(-50%)translate(0)}.action-dock-panel-anchor{z-index:901;position:fixed;bottom:92px;right:24px}@media (max-width:820px){.action-dock{bottom:16px;right:16px}.action-dock-panel-anchor{bottom:84px;right:16px}}.tour-overlay{z-index:100000;pointer-events:none;position:fixed;inset:0}.tour-shield{pointer-events:auto;position:absolute;inset:0}.tour-blur{pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity var(--motion-state) var(--ease-standard);background:#090b1085;position:absolute;inset:0}.tour-spotlight{pointer-events:none;width:0;height:0;transition:opacity var(--motion-fast) var(--ease-standard);border-radius:14px;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #ffffff24,0 0 0 4px #d3262feb,0 0 30px 8px #d3262f57,0 22px 60px 10px #00000080}.tour-card{pointer-events:auto;will-change:transform, opacity;width:544px;max-width:calc(100vw - 28px);min-height:277px;transition:transform var(--motion-content) var(--ease-glide), opacity var(--motion-state) var(--ease-standard);background:#fff;border:1px solid #eceef2;border-radius:16px;flex-direction:column;padding:22px 24px 18px;display:flex;position:absolute;top:0;left:0;transform:translate(0,0);box-shadow:0 24px 64px #0f172a4d}.oie-name{background:linear-gradient(#d3262f 0%,#b01c25 100%);-webkit-text-fill-color:transparent;color:#b01c25;-webkit-background-clip:text;background-clip:text;font-weight:800}.tour-chip{letter-spacing:.02em;text-transform:uppercase;color:#b01c25;background:#fdf0f1;border:1px solid #f4d7d9;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.tour-skip-x{color:#9aa0a8;cursor:pointer;width:26px;height:26px;transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #eadadb;border-radius:8px;place-items:center;display:grid}.tour-title{letter-spacing:-.01em;color:#16181d;margin:0 0 7px;font-size:16.5px;font-weight:800;line-height:1.3}.tour-body{color:#4b5563;flex:auto;margin:0;font-size:13.5px;line-height:1.65}.tour-body b{color:#16181d;font-weight:700}.tour-body-swap{min-height:0;animation:tourBodyReveal var(--motion-content) var(--ease-soft);flex-direction:column;flex:auto;display:flex}@keyframes tourBodyReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tour-loading{color:#6b7280;align-items:center;gap:11px;font-size:13.5px;line-height:1.6;display:flex}.tour-loading .tour-spin{color:#d3262f;flex:none}.tour-spin{animation:spin var(--motion-data) linear infinite}.tour-btn:disabled{opacity:.6;cursor:default;pointer-events:none}.tour-btn-next:disabled{filter:none;box-shadow:none}.tour-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.tour-actions-right{align-items:center;gap:8px;display:inline-flex}.tour-btn{cursor:pointer;transition:transform var(--motion-instant) var(--ease-enter), box-shadow var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:700;display:inline-flex}.tour-btn-skip{color:#9aa0a8;background:0 0;border:0;padding:9px 6px;font-weight:600}.tour-btn-next{color:#fff;background:linear-gradient(#d3262f 0%,#b01c25 100%);box-shadow:0 8px 18px #b01c2542}.tour-btn-next:hover{filter:brightness(1.04);transform:translateY(-1px)}.tour-count{text-align:center;color:#b3b9c2;letter-spacing:.03em;margin-top:10px;font-size:11px;font-weight:600}.course-modal-shell{max-width:95vw;display:inline-flex;position:relative}.course-modal-shell>.course-modal{flex:auto}.course-modal{height:min(85vh,940px)!important;max-height:85vh!important}.cm-actions{margin-bottom:12px;bottom:100%;right:0;position:absolute!important;top:auto!important}.cm-back{color:#b01c25;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #eadadb;height:36px;margin-bottom:12px;bottom:100%;left:0;box-shadow:0 4px 14px #0f172a1a;position:absolute!important;top:auto!important}.cm-back:hover{color:#fff;background:#b01c25;border-color:#b01c25;transform:translate(-2px)}.analytics-tabs{margin:16px 20px 8px!important}.course-modal-sidebar.has-back{padding-top:26px!important}@media (max-height:720px){.cm-actions,.cm-back{margin-bottom:0;bottom:auto;top:8px!important}.cm-actions{right:10px}.cm-back{left:10px}}.cm-sem-nav{z-index:42;cursor:pointer;animation:cmSemIn var(--motion-content) var(--ease-enter) both;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.cm-sem-nav.prev{margin-right:18px;right:100%}.cm-sem-nav.next{margin-left:18px;left:100%}.cm-sem-nav:after{content:"";border-radius:20px;position:absolute;inset:-20px -26px}.cm-sem-ico{color:#b01c25;width:46px;height:46px;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter,ease);background:#fff;border:1px solid #eadadb;border-radius:50%;place-items:center;display:grid;box-shadow:0 8px 22px #0f172a47}.cm-sem-cap{white-space:nowrap;transition:transform var(--motion-fast) var(--ease-enter,ease), box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border:1px solid #eadadb;border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:7px 14px;display:flex;box-shadow:0 4px 12px #0f172a1f}.cm-sem-dir{letter-spacing:.11em;text-transform:uppercase;color:#c99a9d;font-size:8.5px;font-weight:800;line-height:1}.cm-sem-val{color:#7a2e33;font-size:12.5px;font-weight:700;line-height:1.1}.cm-sem-nav:hover .cm-sem-cap{box-shadow:0 6px 16px #b01c252e}.cm-sem-nav.prev:hover .cm-sem-cap{transform:translate(-3px)}.cm-sem-nav.next:hover .cm-sem-cap{transform:translate(3px)}.cm-sem-tip{z-index:60;text-align:left;opacity:0;pointer-events:none;width:216px;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border:1px solid #f0dcdd;border-radius:12px;flex-direction:column;gap:3px;padding:10px 13px;display:flex;position:absolute;top:50%;transform:translateY(-50%)scale(.96);box-shadow:0 16px 36px #0f172a3d}.cm-sem-nav.prev .cm-sem-tip{transform-origin:0;margin-left:15px;left:100%}.cm-sem-nav.next .cm-sem-tip{transform-origin:100%;margin-right:15px;right:100%}.cm-sem-tip-k{color:#b01c25;font-size:13px;font-weight:800}.cm-sem-tip-v{color:#5b6472;font-size:11.5px;font-weight:500;line-height:1.38}.cm-sem-nav:hover .cm-sem-tip,.cm-sem-nav:focus-visible .cm-sem-tip{opacity:1;transform:translateY(-50%)scale(1)}.cm-sem-nav:hover .cm-sem-ico{color:#fff;background:#b01c25;border-color:#b01c25;box-shadow:0 8px 22px #b01c2552}.cm-sem-nav.prev:hover .cm-sem-ico{transform:translate(-3px)}.cm-sem-nav.next:hover .cm-sem-ico{transform:translate(3px)}.cm-sem-nav:active .cm-sem-ico{transform:scale(.94)}.cm-sem-nav:focus-visible{outline:none}.cm-sem-nav:focus-visible .cm-sem-ico{box-shadow:0 0 0 3px #b01c2561}@keyframes cmSemIn{0%{opacity:0;transform:translateY(-50%)scale(.9)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.cm-sem-nav{animation:none}}@media (max-width:1180px){.cm-sem-nav.prev{margin-right:12px}.cm-sem-nav.next{margin-left:12px}.cm-sem-ico{width:42px;height:42px}.cm-sem-cap{display:none}}@media (max-width:900px){.cm-sem-nav{gap:5px}.cm-sem-nav.prev{margin-right:0;left:8px;right:auto}.cm-sem-nav.next{margin-left:0;left:auto;right:8px}.cm-sem-ico{width:40px;height:40px}.cm-sem-cap{display:none}}.user-chip{z-index:1500;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:100% 0;animation:userChipIn var(--motion-content) var(--ease-enter) both;background:linear-gradient(#fff 0%,#f7f8fa 100%);border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 15px;font-size:13px;line-height:1.45;display:inline-flex;position:fixed;top:14px;right:18px;box-shadow:0 1px 2px #1118270a,0 6px 18px #1118271a,inset 0 1px #ffffffe6}.user-chip-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;line-height:1.5;overflow:hidden}.user-chip-role{background:var(--accent-soft);color:var(--accent-color);border:1px solid var(--accent-glow);box-shadow:inset 0 1px 0 #fff9, 0 1px 2px color-mix(in srgb, var(--accent-color) 8%, transparent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700;line-height:1.2}.user-chip-logout{color:var(--text-muted);border-left:1px solid var(--border-color);transition:color var(--motion-instant) var(--ease-standard), background-color var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);border-radius:999px;align-items:center;gap:5px;margin-left:2px;padding:5px 12px 5px 11px;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.user-chip-logout:hover{color:var(--accent-color);background:var(--accent-soft);transform:translateY(-1px)}.user-chip-logout svg{flex:none}@keyframes userChipIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (max-width:600px){.user-chip{gap:8px;padding:5px 6px 5px 11px;font-size:12px;top:10px;right:10px}.user-chip-name{max-width:118px}.user-chip-logout span{display:none}.user-chip-logout{padding:6px 9px}}.main-container{min-height:100vh;height:100vh;min-height:100dvh;height:100dvh}.cdt-scroll{overscroll-behavior-inline:contain;scrollbar-gutter:stable}.analytics-tabs button:focus-visible,.cdt-sort:focus-visible,.cdt-filter-input:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (max-width:1180px){.sidebar{width:clamp(286px,30vw,350px);padding-inline:14px}.content-wrapper{padding:18px}}@media (max-width:900px){body{overflow:auto}.main-container{height:auto;min-height:100vh;min-height:100dvh;display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border-color);width:100%;height:auto;max-height:none;padding:14px 16px;box-shadow:0 8px 22px #0f172a0f}.user-chip+.main-container .sidebar{padding-top:66px}.sidebar-body,.sidebar-tab-panel{overflow:visible}.content-wrapper{height:auto;min-height:0;padding:16px;overflow:visible}.content-area{gap:14px}.course-modal-shell{width:calc(100vw - 20px);max-width:none}.course-modal{border-radius:18px!important;width:100%!important;height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px)!important}.cm-actions,.cm-back{margin-bottom:0;bottom:auto;top:8px!important}.cm-actions{right:10px}.cm-back{left:10px}.course-modal-layout{flex-direction:column!important}.course-modal-sidebar{max-height:32%;border-radius:18px 18px 0 0!important;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:54px 18px 20px!important}.course-modal-sidebar.has-back{padding-top:54px!important}.course-modal-main{min-height:0}.analytics-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 12px 6px!important;display:grid!important}.analytics-tabs button{min-height:40px;padding-inline:8px}.tab-content-pane{padding:16px!important}.loading-modal{flex-direction:column}.loading-modal-sidebar{border-radius:16px 16px 0 0;flex:0 0 30%;width:100%;min-width:0;max-width:none}}@media (max-width:640px){.content-wrapper{padding:12px}.metric-grid{grid-template-columns:1fr;gap:10px}.cdt-toolbar{flex-direction:column;align-items:flex-start;padding:13px}.cdt-scroll{max-height:min(62dvh,620px)}.cdt-footer{flex-direction:column;align-items:flex-start;gap:5px}.cdt-sort-hint{text-align:left}.course-modal-shell{width:calc(100vw - 12px)}.course-modal{border-radius:14px!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}.course-modal-sidebar{max-height:28%;border-radius:14px 14px 0 0!important;padding:52px 14px 16px!important}.analytics-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:8px!important;padding:4px!important}.analytics-tabs button{gap:5px;min-height:38px;padding:0 7px}.analytics-tabs button span{font-size:10.5px}.tab-content-pane{padding:12px!important}.action-dock{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom))}.redacted-mode .action-dock{bottom:max(92px, calc(env(safe-area-inset-bottom) + 92px))}.redacted-mode .action-dock-panel-anchor{bottom:max(160px, calc(env(safe-area-inset-bottom) + 160px))}.redacted-mode .suggestion-panel{max-height:calc(100dvh - 176px - env(safe-area-inset-bottom));overscroll-behavior:contain}.redacted-banner{bottom:max(10px, env(safe-area-inset-bottom));border-radius:14px;width:calc(100vw - 20px);max-width:none;padding:10px 13px}.tour-card{min-height:min(277px,100dvh - 16px);max-height:calc(100dvh - 16px);padding:18px 18px 15px;overflow-y:auto}}@media (max-width:900px) and (orientation:landscape) and (max-height:600px){.course-modal-layout{flex-direction:row!important}.course-modal-sidebar{max-height:none;border-radius:14px 0 0 14px!important;flex:0 0 clamp(210px,29vw,260px)!important;width:auto!important;max-width:260px!important;padding:46px 14px 12px!important}.analytics-tabs{margin:6px 8px 4px!important;display:flex!important}.analytics-tabs button{min-height:36px}.analytics-tabs button span{display:none}.tab-content-pane{padding:10px!important}.tour-card{min-height:0;max-height:calc(100dvh - 12px);padding:14px 16px 12px}}@media (hover:none) and (pointer:coarse){button,[role=button],input,select{touch-action:manipulation}}@media (prefers-reduced-motion:reduce){html:focus-within,*,:before,:after{scroll-behavior:auto!important}}.topic-dashboard-header{margin-bottom:10px}@media (max-width:1320px){.topic-dashboard-header{padding-right:300px}}@media (max-width:1120px){.topic-dashboard-header{padding-right:350px}}@media (max-width:600px){.topic-dashboard-header{padding-right:120px}}.topic-dashboard-title{width:-moz-fit-content;width:fit-content;max-width:100%;font-size:var(--text-2xl);line-height:var(--leading-snug);color:#16181d;letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0;font-weight:800}.section-subtitle{color:#6b7280;width:-moz-fit-content;width:fit-content;max-width:min(68ch,100%);margin:0;font-size:14px}@media (min-width:901px){.content-wrapper{padding-top:20px}}.no-data-message{text-align:center;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px}.content-area{grid-template-columns:minmax(0,1fr)}.content-area>*,.dashboard-tab-panel{min-width:0}.topic-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:16px}.metric-card{min-width:0;position:relative;overflow:hidden}.metric-card-total:before,.metric-card-critical:before{content:"";background:#2563eb;width:100%;height:3px;position:absolute;top:0;left:0}.metric-card-critical:before{background:var(--accent-color)}.metric-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}@media (max-width:520px){.topic-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.info-popover{flex:none;line-height:0;display:inline-flex;position:relative}.info-popover-trigger{color:#94a3b8;width:22px;height:22px;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-2px -2px 0 0;padding:0;display:inline-flex}.info-popover-trigger:hover,.info-popover-trigger[aria-expanded=true]{color:var(--accent-color);background:var(--accent-soft)}.info-popover-trigger:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.info-popover-panel{z-index:10001;pointer-events:auto;color:#eef2f7;animation:info-pop var(--motion-fast) var(--ease-enter) both;background:#16181d;border-radius:10px;padding:10px 12px;font-size:11.5px;font-weight:500;line-height:1.45;position:fixed;box-shadow:0 12px 30px #0f172a3d}@keyframes info-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dashboard-main-tabs{background:#f5f6f8;border:1px solid #dfe3e8;border-radius:13px;grid-template-columns:repeat(2,minmax(0,auto));gap:4px;max-width:100%;margin:24px 0 18px;padding:5px;display:inline-grid;position:relative;box-shadow:inset 0 1px 2px #0f172a0a}.dashboard-main-tab-indicator{z-index:0;pointer-events:none;will-change:transform,width,height;background:linear-gradient(#d3262f 0%,#b01c25 100%);border-radius:9px;position:absolute;top:0;left:0;box-shadow:0 5px 14px #b01c2547}.dashboard-main-tab{z-index:1;color:#64748b;cursor:pointer;white-space:normal;text-align:center;min-width:0;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:0 0;border:none;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:750;line-height:1.3;position:relative}.dashboard-main-tab:hover{color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 7%, transparent)}.dashboard-main-tab:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.dashboard-main-tab.active{color:#fff;box-shadow:none;background:0 0}.dashboard-main-tab.active:hover{color:#fff;background:0 0}.dashboard-main-tab:active{transform:translateY(1px)}.dashboard-tab-panel{flex-direction:column;gap:26px;display:flex}.dashboard-section-card{transition:border-color var(--motion-state) var(--ease-standard), box-shadow var(--motion-state) var(--ease-standard), transform var(--motion-state) var(--ease-enter);background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.dashboard-section-card.is-open{border-color:color-mix(in srgb, var(--section-accent,var(--accent-color)) 32%, #e5e7eb);box-shadow:0 14px 34px #0f172a17}.expandable-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;transition:background-color var(--motion-fast) var(--ease-standard);background:linear-gradient(#fff,#fcfcfd);border:0;justify-content:space-between;align-items:center;gap:16px;padding:19px 22px;display:flex}.expandable-header:hover{background:color-mix(in srgb, var(--section-accent,var(--accent-color)) 5%, #fff)}.expandable-title-wrap{align-items:center;gap:12px;min-width:0;display:inline-flex}.expandable-accent{background:var(--section-accent,var(--accent-color));width:4px;height:28px;box-shadow:0 0 0 4px color-mix(in srgb, var(--section-accent,var(--accent-color)) 10%, transparent);border-radius:999px;flex:none}.expandable-title{color:#16181d;margin:0;font-size:17px;font-weight:750}.expandable-header-right{align-items:center;gap:14px;display:flex}.section-count{color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.expandable-arrow{color:#94a3b8;transition:transform var(--motion-state) var(--ease-flow), color var(--motion-state) var(--ease-flow);display:inline-flex}.expandable-arrow.open{color:var(--section-accent,var(--accent-color));transform:rotate(180deg)}.dashboard-section-body{padding:6px 24px 26px}@media (max-width:700px){.dashboard-main-tabs{grid-template-columns:1fr;width:100%;display:grid}.dashboard-main-tab{width:100%;padding-inline:12px}.expandable-header{gap:10px;padding:16px}.dashboard-section-body{padding:4px 14px 18px}.section-count{display:none}}.modal-control-row{margin:4px 0 18px}.modal-control-label{color:#475569;margin-bottom:8px;font-size:12.5px;font-weight:700;display:block}.topn-field{--tn-accent:var(--accent-color);--tn-fill:0%;--tn-track:#e6e9ef;flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.topn-field-label{color:#475569;justify-content:space-between;align-items:center;gap:12px;margin:0;font-size:12.5px;font-weight:700;display:flex}.topn-field-label-text{line-height:1.2}.topn-field-value{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;color:var(--tn-accent);background:color-mix(in srgb, var(--tn-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--tn-accent) 28%, transparent);transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);border-radius:999px;flex:none;padding:3px 11px;font-size:13px;font-weight:800;line-height:1.2}.topn-slider-shell{flex-direction:column;gap:7px;display:flex}.topn-slider{appearance:none;cursor:pointer;background:0 0;border-radius:999px;width:100%;height:6px;margin:6px 0}.topn-slider:focus{outline:none}.topn-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--tn-accent) 0, var(--tn-accent) var(--tn-fill), var(--tn-track) var(--tn-fill), var(--tn-track) 100%);border-radius:999px;height:6px}.topn-slider::-webkit-slider-thumb{appearance:none;border:3px solid var(--tn-accent);width:18px;height:18px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border-radius:50%;margin-top:-6px;box-shadow:0 2px 6px #0f172a38}.topn-slider:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 3px 9px #0f172a47}.topn-slider:active::-webkit-slider-thumb{transform:scale(1.04)}.topn-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--tn-accent) 26%, transparent), 0 2px 6px #0f172a38}.topn-slider::-moz-range-track{background:var(--tn-track);border-radius:999px;height:6px}.topn-slider::-moz-range-progress{background:var(--tn-accent);border-radius:999px;height:6px}.topn-slider::-moz-range-thumb{border:3px solid var(--tn-accent);width:18px;height:18px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border-radius:50%;box-shadow:0 2px 6px #0f172a38}.topn-slider:hover::-moz-range-thumb{transform:scale(1.12);box-shadow:0 3px 9px #0f172a47}.topn-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--tn-accent) 26%, transparent), 0 2px 6px #0f172a38}.topn-ticks{justify-content:space-between;padding:0 8px;display:flex}.topn-tick{color:#a5adba;font-variant-numeric:tabular-nums;transition:color var(--motion-fast) var(--ease-standard);font-size:10.5px;font-weight:700;line-height:1}.topn-tick.is-active{color:var(--tn-accent)}.topn-field--inrow{flex:240px;justify-content:flex-start;width:auto;min-width:240px}.dashboard-season-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;display:grid}.dashboard-season-split-single,.season-column{flex-direction:column;gap:20px;min-width:0;display:flex}@media (max-width:1100px){.dashboard-season-split{grid-template-columns:minmax(0,1fr)}}.dashboard-chart-panel,.dashboard-section-body{min-width:0}.chart-frame,.recharts-responsive-container,.topic-heatmap{max-width:100%}.dashboard-season-split-head{letter-spacing:.04em;text-transform:uppercase;color:#334155;border-bottom:2px solid #eef1f5;padding-bottom:8px;font-size:13px;font-weight:800}.dashboard-chart-panel{transition:box-shadow var(--motion-fast) var(--ease-standard);content-visibility:auto;contain-intrinsic-size:auto 380px;background:#fff;border:1px solid #eef1f5;border-radius:12px;padding:16px}.dashboard-chart-panel:hover{box-shadow:0 8px 22px #0f172a14}.dashboard-chart-caption{color:#64748b;margin:0 0 10px;font-size:12.5px}.chart-inferential-example{background:linear-gradient(#fdf2f2,#fff);border:1px solid #f4dede;border-radius:10px;margin-bottom:12px;padding:10px 12px}.chart-inferential-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-color);margin-bottom:4px;font-size:10.5px;font-weight:800}.chart-inferential-text{color:#334155;font-size:13.5px;line-height:1.5}.chart-help-section{margin-top:10px}.chart-help-btn{color:#6b7280;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.chart-help-btn:hover{color:#c92c2c;background:#fef2f2;border-color:#c92c2c}.chart-help-text{color:#475569;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;padding:12px 16px;font-size:13.5px;line-height:1.6}.topic-heatmap{overflow-x:auto}.topic-heatmap-grid{gap:2px;min-width:420px;display:grid}.thm-grid-row{display:contents}.thm-corner{background:0 0}.thm-colhead{color:#475569;text-align:center;white-space:nowrap;padding:6px 2px;font-size:10.5px;font-weight:700}.thm-rowhead{color:#1f2937;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-items:center;padding:6px 10px 6px 2px;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.thm-cell{text-align:center;cursor:default;transition:filter var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-standard);transform-origin:50%;border-radius:3px;justify-content:center;align-items:center;min-height:30px;padding:8px 2px;font-size:10.5px;font-weight:700;display:flex}.thm-cell:hover{filter:brightness(.92);z-index:10;transform:scale(1.08);box-shadow:0 4px 10px #0f172a1f}.courses-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.courses-table-toolbar{border-bottom:1px solid #eef1f5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.courses-table-filter{border:1px solid #dfe3e8;border-radius:8px;flex:240px;max-width:340px;padding:8px 12px;font-size:13px}.courses-table-filter:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 12%, transparent);outline:none}.courses-table-pagesize{color:#64748b;align-items:center;gap:8px;font-size:12.5px;display:flex}.courses-table-pagesize select{border:1px solid #dfe3e8;border-radius:7px;padding:5px 8px}.courses-table-scroll{overflow-x:auto}.courses-table{border-collapse:collapse;width:100%;font-size:12.5px}.courses-table thead th{text-align:left;color:#475569;white-space:nowrap;background:#f7f8fa;border-bottom:1px solid #e5e7eb;padding:11px 12px;font-weight:700;position:sticky;top:0}.courses-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.courses-table thead th .th-inner{align-items:center;gap:5px;display:inline-flex}.th-sort-idle{opacity:.35}.courses-table tbody td{color:#1f2937;vertical-align:top;border-bottom:1px solid #f1f2f4;padding:10px 12px}.courses-table tbody tr:hover{background:#fcf6f6}.courses-table .numeric-cell{font-variant-numeric:tabular-nums;text-align:right;display:block}.course-name-link{color:var(--accent-color);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:700}.course-name-link:hover{text-decoration:underline}.dfw-link:hover{text-decoration:underline}.cell-best-features{color:#15803d}.cell-aspects-to-improve{color:#b91c1c}.cell-instructor-comments{color:#1d4ed8}.courses-table-empty{text-align:center;color:#94a3b8;padding:30px!important}.courses-table-pager{color:#64748b;justify-content:center;align-items:center;gap:16px;padding:12px;font-size:12.5px;display:flex}.courses-table-pager button{cursor:pointer;background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:6px 14px;font-weight:600}.courses-table-pager button:disabled{opacity:.45;cursor:default}.search-results{flex-direction:column;gap:8px;margin-top:8px;display:flex}.search-result-state{color:var(--text-muted);padding:8px 2px;font-size:12px;line-height:1.4}.search-result-update{color:var(--text-muted);letter-spacing:.02em;margin:0;padding:8px 2px;font-size:11px;font-weight:700}.search-results.is-updating .search-result-card{opacity:.6}.sidebar-load-error{border:1px solid color-mix(in srgb, var(--accent-color) 25%, transparent);background:color-mix(in srgb, var(--accent-color) 7%, transparent);color:#7f1d1d;border-radius:9px;gap:6px;padding:9px 10px;font-size:11.5px;line-height:1.4;display:grid}.sidebar-load-error button{background:var(--accent-color);color:#fff;transition:transform var(--motion-fast) var(--ease-enter), background-color var(--motion-fast) var(--ease-standard);border:0;border-radius:7px;justify-self:start;padding:5px 9px;font-weight:750}.sidebar-load-error button:hover{background:#a81922;transform:translateY(-1px)}.dashboard-load-error{border:1px solid #fecaca;border-left:4px solid var(--accent-color);background:#fff;border-radius:14px;align-self:center;width:min(620px,100%);margin:auto;padding:clamp(22px,4vw,38px);box-shadow:0 12px 32px #0f172a14}.dashboard-load-error h2{color:#991b1b;margin:0 0 8px;font-size:clamp(18px,2vw,24px)}.dashboard-load-error p{color:#64748b;margin:0;line-height:1.55}.dashboard-load-error button{background:var(--accent-color);color:#fff;min-height:38px;transition:transform var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);border:0;border-radius:9px;margin-top:16px;padding:0 15px;font-weight:750}.dashboard-load-error button:hover{box-shadow:0 8px 18px color-mix(in srgb, var(--accent-color) 22%, transparent);background:#a81922;transform:translateY(-1px)}.search-results .search-result-card{text-align:left;border:1px solid var(--border-color);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;gap:4px;padding:9px 11px;display:flex}.search-results .search-result-card:hover{background:var(--accent-wash,color-mix(in srgb, var(--accent-color) 5%, transparent));border-color:color-mix(in srgb, var(--accent-color) 40%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-color) 12%, transparent);transform:translateY(-1px)}.search-results .search-result-card:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 14%, transparent);outline:none}.search-results .search-result-card:disabled{cursor:progress;opacity:.56;box-shadow:none;transform:none}.search-results .search-result-card:disabled:hover{border-color:var(--border-color);background:#fff}.search-results .search-result-heading{align-items:center;gap:8px;min-width:0;display:flex}.search-results .search-course-button{letter-spacing:.01em;min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:13px;font-weight:800;overflow:hidden}.search-results .search-match-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--accent-strong,var(--accent-color));background:var(--accent-soft,color-mix(in srgb, var(--accent-color) 10%, transparent));border:1px solid color-mix(in srgb, var(--accent-color) 22%, transparent);border-radius:999px;flex:none;margin-left:auto;padding:2px 7px;font-size:8.5px;font-weight:800;line-height:1.5}.search-results .search-result-title{color:var(--text-secondary);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.search-results .search-result-detail{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:600;line-height:1.3;overflow:hidden}.chart-card-title{color:#16181d;border-left:3px solid var(--accent-color);margin:12px 0;padding:14px 16px 6px;font-size:13.5px;font-weight:750}.cm-section-head{color:#16181d;margin:2px 0 14px;font-size:15px;font-weight:800}.cm-kpi-row{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px;display:grid}@media (max-width:900px){.cm-kpi-row{grid-template-columns:repeat(2,1fr)}}.cm-kpi{text-align:center;background:#fff;border:1px solid #eef1f5;border-radius:10px;padding:12px}.cm-kpi-value{color:var(--accent-color);font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.cm-kpi-label{color:#64748b;margin-top:2px;font-size:10.5px;font-weight:600}.chart-card{background:#fff;border:1px solid #eef1f5;border-radius:13px;margin-bottom:18px;padding-bottom:12px}.cm-topic-table-wrap{padding:0 12px;overflow-x:auto}.cm-topic-table{border-collapse:collapse;width:100%;font-size:12.5px}.cm-topic-table th{text-align:left;color:#475569;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:8px 10px;font-weight:700}.cm-topic-table td{vertical-align:top;border-bottom:1px solid #f1f2f4;padding:9px 10px}.cm-topic-table .numeric-cell{text-align:right;font-variant-numeric:tabular-nums}.cm-topic-label{color:#1f2937;font-weight:650}.cm-topic-keywords{color:#94a3b8;margin-top:2px;font-size:10.5px}.cm-column-switch{flex-direction:column;gap:6px;display:flex}.cm-column-chip{text-align:left;color:#ffffffd9;cursor:pointer;border:1px solid #ffffff2e;border-left:3px solid var(--chip-accent,#fff);transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#ffffff0f;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:650}.cm-column-chip.active{color:#16181d;background:#fff}.cm-example{margin-bottom:14px;padding:0 14px}.cm-example-topic{color:#16181d;border-left:3px solid var(--chip-accent,var(--accent-color));margin-bottom:6px;padding-left:8px;font-size:12px;font-weight:800}.cm-example ul{margin:0;padding-left:18px}.cm-example li{color:#334155;margin-bottom:5px;font-size:12.5px;line-height:1.5}.cm-flag{background:#fff;border:1px solid #eee;border-left:4px solid #94a3b8;border-radius:10px;margin-bottom:12px;padding:12px 14px}.cm-flag-critical,.cm-flag-high,.cm-flag-severe{border-left-color:var(--accent-color);background:#fef2f2}.cm-flag-moderate,.cm-flag-medium{background:#fffbeb;border-left-color:#f59e0b}.cm-flag-low{border-left-color:#eab308}.cm-flag-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cm-flag-severity{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-color);font-size:10px;font-weight:800}.cm-flag-category{color:#475569;text-transform:capitalize;font-size:11px;font-weight:700}.cm-flag-column{color:#94a3b8;margin-left:auto;font-size:10px}.cm-flag-text{color:#334155;margin:0;font-size:12.5px;line-height:1.5}.course-modal .tab-content-track{width:calc(var(--tab-count,4) * 100%)!important}.course-modal .tab-content-pane{width:calc(100% / var(--tab-count,4))!important}.cm-def{border-bottom:1px solid #f1f2f4;padding:10px 0}.cm-def-term{color:#16181d;font-size:13px;font-weight:750}.cm-def-meaning{color:#475569;margin-top:2px;font-size:12.5px;line-height:1.5}.cm-methods-text{color:#334155;white-space:pre-wrap;font-size:13px;line-height:1.6}.cm-note{border-left:3px solid var(--accent-color);background:#fdf2f2;border-radius:6px;margin:8px 0;padding:6px 12px}.cm-note-term{color:var(--accent-color);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.cm-note-body{color:#334155;margin-top:2px;font-size:12.5px}.tab-content-wrapper.modal-story-sheet{flex-direction:column;gap:26px;display:flex}.modal-sheet-title{color:#16181d;letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:800}.modal-sheet-subtitle{color:#6b7280;margin:0;font-size:13.5px;font-weight:500;line-height:1.5}.overview-story-banner{background:#fff;border:1px solid #e6e9ef;border-radius:12px;padding:16px 22px}.overview-story-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#334155;margin-bottom:10px;font-size:11px;font-weight:800}.overview-story-text{color:#1f2937;font-size:13.5px;line-height:1.55}.overview-chapter{flex-direction:column;gap:18px;display:flex}.overview-chapter-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#334155;font-size:11px;font-weight:800}.overview-chapter-title{color:#16181d;letter-spacing:-.01em;margin:3px 0 5px;font-size:17px;font-weight:750}.overview-chapter-lead{color:#475569;margin:0;font-size:13.5px;font-weight:500;line-height:1.55}.overview-chapter--collapsible{transition:box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border:1px solid #e6e9ef;border-radius:12px;gap:0;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.overview-chapter--collapsible:hover{box-shadow:0 8px 22px #0f172a14}.overview-chapter-head--btn{text-align:left;cursor:pointer;width:100%;transition:background var(--motion-fast) var(--ease-standard);background:#fff;border:none;padding:16px 22px 16px 48px;display:block;position:relative}.overview-chapter-head--btn:hover{background:#f8fafc}.overview-chapter-head--btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.overview-chapter-head-text{min-width:0}.overview-chapter-chevron{color:#94a3b8;width:20px;height:20px;transition:transform var(--motion-state) var(--ease-flow), color var(--motion-fast) var(--ease-standard);position:absolute;top:17px;left:18px}.overview-chapter-head--btn:hover>.overview-chapter-chevron{color:#475569}.overview-chapter--collapsible.is-open>.overview-chapter-head--btn>.overview-chapter-chevron{transform:rotate(180deg)}.overview-chapter-body{padding:4px 22px 22px}.overview-split{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px 20px;display:grid}.overview-split.overview-split--single{grid-template-columns:1fr}.overview-split>div:not(.overview-split-head){min-width:0}.overview-split>div:not(.overview-split-head)>.chart-card{width:100%;height:100%}@media (max-width:900px){.overview-split{grid-template-columns:1fr}}.overview-split-head{letter-spacing:.04em;text-transform:uppercase;color:#334155;border-bottom:2px solid #eef1f5;padding-bottom:8px;font-size:12.5px;font-weight:800}.overview-split-lead{color:#64748b;margin:0;font-size:12px;line-height:1.5}.modal-story-section{flex-direction:column;gap:14px;display:flex}.modal-story-section-heading{flex-direction:column;gap:8px;display:flex}.modal-story-section-title{color:#16181d;letter-spacing:-.01em;margin:0;font-size:17px;font-weight:750}.modal-story-section-note{color:#475569;font-size:13.5px;font-weight:500;line-height:1.55}.modal-visual-grid{gap:16px;display:grid}.modal-visual-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1000px){.modal-visual-grid--wide{grid-template-columns:1fr}}.overview-col-card{background:#fff;border:1px solid #eef1f5;border-radius:13px;flex-direction:column;gap:12px;height:100%;padding:16px;display:flex;box-shadow:0 1px 3px #0f172a0a}.overview-col-card>.chart-inferential-example{margin-top:auto}.overview-col-head{flex-direction:column;gap:2px;display:flex}.overview-col-name{color:#16181d;min-height:2.6em;font-size:13.5px;font-weight:750;line-height:1.3}.overview-col-count{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.1}.overview-col-share{color:#64748b;font-size:12px}.overview-col-subhead{letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;font-size:10.5px;font-weight:700}.overview-col-topics{flex-direction:column;flex:1;gap:10px;display:flex}.overview-col-sentiment{border-bottom:1px dashed #eef1f5;flex-direction:column;gap:7px;padding-bottom:12px;display:flex}.overview-col-topic-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.overview-col-topic-name{color:#334155;font-size:12px;line-height:1.3}.overview-col-topic-count{color:#475569;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700}.overview-col-topic-track{background:#f1f5f9;border-radius:4px;height:7px;margin-top:4px;overflow:hidden}.overview-col-topic-fill{border-radius:4px;height:100%}.chart-card--graph{transition:box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border:1px solid #eef1f5;border-radius:13px;flex-direction:column;display:flex;overflow:visible;box-shadow:0 1px 3px #0f172a0a}.chart-card--graph:hover{box-shadow:0 8px 22px #0f172a14}.chart-card-header{background:#fff;border-radius:13px 13px 0 0;padding:14px 16px 8px}.chart-card-header .chart-title{color:#16181d;border-left:3px solid var(--accent-color);margin:0 0 4px;padding-left:11px;font-size:15px;font-weight:750}.chart-description{color:#64748b;margin:0 0 8px;font-size:13px;font-weight:500;line-height:1.55}.chart-card-body{padding:8px 12px 16px}.chart-card--collapsible .chart-card-exp-summary{text-align:left;cursor:pointer;width:100%;transition:background var(--motion-fast) var(--ease-standard);background:#fff;border:none;border-radius:13px;padding:14px 16px 14px 44px;display:block;position:relative}.chart-card--collapsible .chart-card-exp-summary:hover{background:#f8fafc}.chart-card--collapsible.is-open .chart-card-exp-summary{border-radius:13px 13px 0 0}.chart-card--collapsible .chart-card-exp-summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.chart-card--collapsible .chart-card-exp-head{min-width:0}.chart-card--collapsible .chart-card-exp-head .chart-title{color:#16181d;border-left:none;margin:0 0 4px;padding-left:0;font-size:15px;font-weight:700}.chart-card--collapsible .chart-card-exp-head .chart-description{margin-bottom:0;font-size:13px;line-height:1.55}.chart-card-exp-chevron{color:#94a3b8;width:18px;height:18px;transition:transform var(--motion-state) var(--ease-flow), color var(--motion-fast) var(--ease-standard);position:absolute;top:15px;left:15px}.chart-card--collapsible .chart-card-exp-summary:hover .chart-card-exp-chevron{color:#475569}.chart-card--collapsible.is-open .chart-card-exp-chevron{transform:rotate(180deg)}.chart-card-exp-body{padding:8px 16px 0}.chart-card-exp-body .chart-card-body{padding:8px 0 16px}.chart-graph{background:#fff;border:1px solid #eef1f5;border-radius:12px;max-width:100%;margin-top:8px;padding:16px 14px 10px;overflow:visible}.modal-chart-canvas{box-sizing:border-box;padding:4px 6px 0}@media (max-width:640px){.modal-chart-canvas,.sentiment-facet-legend{min-width:580px}.dashboard-chart-panel{overscroll-behavior-inline:contain;overflow-x:auto}.dashboard-chart-panel .chart-frame{min-width:540px}}.chart-empty-state{text-align:center;color:#94a3b8;padding:40px 16px;font-size:13px}.chart-inferential-example--muted{opacity:.55}.sentiment-facets{flex-direction:column;gap:14px;display:flex}.sentiment-facet+.sentiment-facet{border-top:1px solid #eef1f5;padding-top:12px}.sentiment-facet-title{letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700}.sentiment-facet-legend{box-sizing:border-box;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 20px 2px 88px;display:grid}.sentiment-legend-item{color:#475569;white-space:nowrap;align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}.sentiment-legend-item--negative{justify-self:start}.sentiment-legend-item--neutral{justify-self:center}.sentiment-legend-item--positive{justify-self:end}.sentiment-legend-item i{border-radius:2px;flex:none;width:9px;height:9px;display:block}.sentiment-split{flex-direction:column;gap:6px;width:100%;display:flex}.sentiment-split-track{background:#f1f5f9;border-radius:5px;width:100%;height:10px;display:flex;overflow:hidden}.sentiment-split-track>span{height:100%;display:block}.sentiment-split-legend{flex-wrap:wrap;gap:4px 12px;display:flex}.sentiment-minibar{flex:none;width:108px;margin-left:auto}.sentiment-minibar .sentiment-split-track{border-radius:4px;height:7px}.longi-exp-summary-inner .sentiment-minibar+.longi-topic-count{margin-left:11px}@media (max-width:720px){.sentiment-minibar{display:none}}.qual-sentiment-summary{background:#fbfcfe;border:1px solid #eef1f5;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.qual-sentiment-summary-head{letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;font-size:10.5px;font-weight:700}.sentiment-badge{letter-spacing:.02em;color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.sentiment-badge i{border-radius:2px;flex:none;width:8px;height:8px;display:block}.demographics-accordion-container{background:var(--app-card);border:1px solid var(--border-color);box-shadow:var(--shadow-raised);border-radius:12px;margin-bottom:20px;overflow:hidden}.demographics-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#fff;background:linear-gradient(135deg, var(--accent-color), #991b1b);transition:background var(--motion-fast) var(--ease-standard);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.demographics-panel-header:hover{background:linear-gradient(135deg, var(--accent-color), #a81e25)}.demographics-panel-header h3{color:#fff;margin:0;font-size:14px;font-weight:700}.demographics-panel-header .sliders-icon,.demographics-panel-header .chevron-icon{color:#fff}.demographics-panel-header .filter-strip-count{color:#ffffffd1;font-size:11.5px}.demographics-panel-header .active-count-badge{color:var(--accent-color);background:#fff;border-radius:8px;padding:2px 7px;font-size:11px;font-weight:800;box-shadow:0 2px 6px #0000001a}.demographics-panel-header .reset-btn{color:#fff;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-enter);background:#ffffff26;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.demographics-panel-header .reset-btn:hover{background:#ffffff40;transform:translateY(-1px)}.demographics-panel-header .reset-btn:active{transform:translateY(0)}.demographics-panel-body{border-top:1px solid #eef1f5;padding:14px 16px 16px}.demographics-scope-note{background:color-mix(in srgb, var(--accent-color) 5%, transparent);border:1px solid color-mix(in srgb, var(--accent-color) 16%, transparent);color:#6b3034;border-radius:8px;margin:0 0 12px;padding:9px 12px;font-size:11.5px;line-height:1.5}.demographics-fall-note{margin:8px 14px 12px;padding:0;font-size:11.5px;font-weight:600;line-height:1.5}.demographics-fall-note-label{color:var(--accent-color);font-weight:700}.demographics-group-card{border:1px solid var(--border-color);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:10px;margin-bottom:12px;overflow:hidden}.demographics-group-card.has-active{border-color:color-mix(in srgb, var(--accent-color) 35%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--accent-color) 4%, transparent)}.demographics-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--motion-fast) var(--ease-standard);background:#fbfcfd;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.demographics-group-header:hover{background:#f7f9fa}.demographics-group-header.has-active{background:color-mix(in srgb, var(--accent-color) 2%, transparent)}.demographics-group-title{color:var(--text-primary);transition:color var(--motion-fast) var(--ease-standard);margin-right:8px;font-size:13px;font-weight:700}.demographics-group-header.has-active .demographics-group-title{color:var(--accent-color)}.demographics-group-desc{color:#94a3b8;font-size:11px}.demographics-group-badge{background:var(--accent-color);color:#fff;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:800}.demographics-group-fields{background:#fff;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px 14px;padding:14px;display:grid}.filter-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-fast) var(--ease-standard);margin-bottom:5px;font-size:10px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.filter-field-label.has-active{color:var(--accent-color)}.modal-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.modal-kpi-card{background:#fff;border:1px solid #eef1f5;border-radius:11px;padding:14px}.modal-kpi-value{color:var(--accent-color);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.modal-kpi-label{color:#64748b;align-items:center;gap:2px;margin-top:2px;font-size:11px;font-weight:650;display:inline-flex}.modal-kpi-info{display:inline-flex}.modal-kpi-info .info-popover-trigger{width:16px;height:16px;margin:0}.modal-kpi-info .info-popover-trigger svg{width:12px;height:12px}.modal-kpi-card p{color:#94a3b8;margin:4px 0 0;font-size:10.5px;line-height:1.35}.raw-quality-card{flex-direction:column;gap:6px;display:flex}.raw-quality-label{color:#334155;font-size:12.5px;font-weight:650}.modal-control-row{flex-wrap:wrap;gap:14px;display:flex}.modal-control-row--wrap .modal-control{flex:200px;min-width:180px}.modal-control{flex-direction:column;gap:6px;display:flex}.longi-card-stack{flex-direction:column;gap:12px;display:flex}.longi-exp{border:1px solid #e6e9ef;border-left:4px solid var(--accent-color);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border-radius:10px;overflow:hidden}.longi-exp:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a14}.longi-exp[open]{box-shadow:0 8px 22px #0f172a14}.longi-exp>summary{cursor:pointer;border-radius:inherit;transition:background-color var(--motion-fast) var(--ease-standard);list-style:none}.longi-exp>summary::-webkit-details-marker{display:none}.longi-exp>summary:hover{background:#fbfcfe}.longi-exp>summary:focus-visible{outline:2px solid color-mix(in srgb, var(--section-accent,var(--accent-color)) 55%, #64748b);outline-offset:-2px}.longi-exp-summary{-webkit-user-select:none;user-select:none;padding:13px 16px}.longi-exp-summary-inner{align-items:center;gap:11px;display:flex}.longi-exp-chevron{width:8px;height:8px;transition:transform var(--motion-content) var(--ease-flow), border-color var(--motion-fast) var(--ease-standard);border-bottom:2px solid #94a3b8;border-right:2px solid #94a3b8;flex:none;transform:rotate(-45deg)}.longi-exp>summary:hover .longi-exp-chevron{border-color:#64748b}details[open]>summary .longi-exp-chevron{transform:rotate(45deg)}details.cm-closing[open]>summary .longi-exp-chevron{transform:rotate(-45deg)}.longi-exp-topic{color:#16181d;font-size:13.5px;font-weight:700;line-height:1.35}.longi-exp-titlewrap{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.longi-exp-desc{color:#64748b;font-size:12px;font-weight:500;line-height:1.4}.qual-question-exp>summary .longi-exp-desc{font-size:12.5px}.longi-topic-count{color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:999px;flex:none;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:700}.longi-exp-body{border-top:1px solid #f1f5f9;padding:12px 16px}.qual-question-exp>summary .longi-exp-topic{font-size:15px}.qual-question-exp>.longi-exp-body{padding:16px}.qual-question-exp>.longi-exp-body>.qual-sentiment-summary{margin-top:2px}.qual-sentiment-summary-head{margin-bottom:8px}.longi-comment-section{flex-direction:column;gap:12px;display:flex}.longi-comment-section-head{align-items:center;gap:8px;display:flex}.longi-comment-dot{border-radius:50%;flex:none;width:9px;height:9px}.longi-comment-section-title{letter-spacing:.02em;color:#16181d;font-size:13px;font-weight:800}.longi-comment-section-note{color:#94a3b8;margin:-6px 0 0;font-size:12px}.longi-exp-list{flex-direction:column;gap:12px;display:flex}.abstract-exp{transition:box-shadow var(--motion-fast) var(--ease-standard);background:#fff;border:1px solid #eef1f5;border-radius:6px;overflow:hidden}.abstract-exp:hover{box-shadow:0 3px 10px #0f172a0f}.abstract-exp>summary{cursor:pointer;border-radius:inherit;transition:background-color var(--motion-fast) var(--ease-standard);list-style:none}.abstract-exp>summary::-webkit-details-marker{display:none}.abstract-exp>summary:hover{background:#fbfcfe}.abstract-exp>summary:focus-visible{outline:2px solid color-mix(in srgb, var(--quote-accent,var(--accent-color)) 55%, #64748b);outline-offset:-2px}.abstract-exp-summary{-webkit-user-select:none;user-select:none;padding:10px 12px}.abstract-summary-text{color:#334155;font-size:13px;font-weight:400;line-height:1.5}.abstract-exp-body{border-top:1px solid #f1f5f9;padding:12px 14px}.abstract-full{border:1px solid #eef1f5;border-left:3px solid var(--quote-accent,var(--accent-color));color:#334155;white-space:pre-wrap;background:#f8fafc;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.65}.abstract-highlight{color:inherit;background-color:color-mix(in srgb, var(--quote-accent,#dc4040) 20%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.35em;padding:.06em .3em}.abstract-list{flex-direction:column;gap:8px;display:flex}.flagged-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800}.flagged-badge--neutral{color:#475569;background:#f1f5f9}.flagged-badge--severity-critical,.flagged-badge--severity-severe,.flagged-badge--severity-high{color:#b91c1c;background:#fee2e2}.flagged-badge--severity-moderate,.flagged-badge--severity-medium{color:#b45309;background:#fef3c7}.flagged-badge--severity-low,.flagged-badge--severity-none{color:#64748b;background:#f1f5f9}.abstract-info{border-top:1px solid #eef1f5;margin-top:14px;padding-top:12px}.abstract-info-heading{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:800}.abstract-info-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.abstract-info-item{background:#f8fafc;border:1px solid #eef1f5;border-radius:6px;padding:7px 9px}.abstract-info-label{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;font-size:9.5px;font-weight:700}.abstract-info-value{color:#1f2937;word-break:break-word;margin-top:1px;font-size:12px}.overview-panel{background:#fff;border:1px solid #eef1f5;border-radius:13px;box-shadow:0 1px 3px #0f172a0a}.raw-quality-value{color:#0f172a;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.college-deep-dive-table{border-collapse:collapse;font-size:12px}.college-deep-dive-table th{background:var(--accent-color);padding:7px 10px;font-weight:700}.college-deep-dive-table td{color:#1f2937;border-bottom:1px solid #f1f2f4;padding:7px 10px}.college-deep-dive-table tr:nth-child(2n) td{background:#fafbfc}.content-wrapper{overflow-x:hidden}.course-modal .tab-content-pane{overflow-x:hidden!important}.courses-table-wrap{max-width:100%}.courses-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.course-modal .topic-heatmap-grid,.topic-heatmap-grid{align-items:stretch}.course-modal .thm-rowhead,.thm-rowhead{padding-right:12px}.chart-empty-state,.no-data-message{animation:thmFadeIn var(--motion-content) var(--ease-enter) forwards}@keyframes thmFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.course-modal .topic-heatmap{width:100%;padding-bottom:2px;overflow-x:auto}.course-modal .topic-heatmap-grid{align-items:stretch;min-width:max-content}.course-modal .thm-rowhead{text-overflow:clip;white-space:normal;-webkit-line-clamp:unset;min-height:38px;padding:7px 12px 7px 4px;line-height:1.3;overflow:visible}.course-modal .thm-cell{min-height:38px;transition:filter var(--motion-instant) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);padding:8px 5px}.course-modal .thm-cell:hover{transform:none;box-shadow:inset 0 0 0 2px #0f172a1f}.course-modal-sidebar .course-modal-course-head{flex-direction:column;gap:7px;display:flex}.course-modal-sidebar .exec-course-code{color:#fff;letter-spacing:.04em;font-size:13px;font-weight:800}.course-modal-sidebar .exec-course-name{color:#fff;overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.18}.course-modal-sidebar .exec-summary-body{gap:0;margin-top:15px;display:grid}.course-modal-sidebar .exec-meta{border-top:1px solid #ffffff29;padding:9px 0}.course-modal-sidebar .exec-meta-label{letter-spacing:.07em;margin-bottom:3px;font-size:10px}.course-modal-sidebar .exec-meta-value{font-size:13px;font-weight:700;line-height:1.35}.course-modal-sidebar .sidebar-stat-group{margin-top:20px}.course-modal-sidebar .sidebar-stat-group:first-child{margin-top:6px}.course-modal-sidebar .sidebar-stat-group-title{color:#ffffffd1;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #ffffff40;margin-bottom:12px;padding-bottom:8px;font-size:10px;font-weight:800}.course-modal-sidebar .sidebar-stat{background:#ffffff1f;border:1px solid #ffffff29;border-radius:12px;margin-bottom:10px;padding:12px 14px}.course-modal-sidebar .sidebar-stat-value{color:#fff;font-size:1.5rem;font-weight:800;line-height:1.1}.course-modal-sidebar .sidebar-stat-label{color:#ffffffeb;letter-spacing:.05em;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:700}.course-modal-sidebar .sidebar-stat-label--heading{border-bottom:1px solid #ffffff26;margin:0 0 9px;padding-bottom:5px;font-size:11px}.course-modal-sidebar .sidebar-stat-note{color:#ffffffc7;margin-top:7px;font-size:11px;line-height:1.45}.course-modal-sidebar .sidebar-stat-pair{color:#fffc;justify-content:space-between;align-items:baseline;gap:12px;margin-top:7px;font-size:11px;font-weight:600;display:flex}.course-modal-sidebar .sidebar-stat-pair strong{color:#fff;font-size:1.08rem}.course-modal-sidebar .sidebar-stat-pair em{opacity:.7;margin-left:4px;font-size:.8rem;font-style:normal}.chart-load-error,.search-result-error{border:1px solid color-mix(in srgb, var(--accent-color) 20%, transparent);color:#7f1d1d;background:#fff7f7;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 16px;font-size:12.5px;display:flex}.chart-load-error span{color:#64748b;flex:280px}.chart-load-error button,.search-result-error button{border:1px solid color-mix(in srgb, var(--accent-color) 28%, transparent);color:var(--accent-color);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:7px 11px;font-weight:700}.search-result-error{justify-content:space-between;margin:4px 0}.suggestion-field-label{color:#334155;margin:12px 0 6px;font-size:11.5px;font-weight:750;display:block}.suggestion-field-label span{color:#64748b;font-weight:500}.dashboard-refresh-state{border:1px solid color-mix(in srgb, var(--accent-color) 16%, transparent);color:#9f1d26;background:#fff7f7;border-radius:999px;align-self:flex-end;margin-top:-8px;padding:6px 11px;font-size:11.5px;font-weight:700}.section-refresh-state{color:var(--accent-color);font-size:10.5px;font-weight:750}.graph-deferred-placeholder{background:#f6f7f9;border-radius:10px;min-height:clamp(240px,32vh,340px)}.graph-viewport-card{opacity:.01;transform:translateY(14px)}.graph-viewport-card.is-visible{opacity:1;transition:transform var(--motion-content) var(--ease-enter), opacity var(--motion-content) var(--ease-soft);transform:translate(0,0)}.thm-cell:focus-visible{z-index:2;outline-offset:2px;outline:3px solid #111827;position:relative;box-shadow:0 0 0 5px #ffffffe6}@keyframes graphPlaceholder{to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.graph-deferred-placeholder{animation:none}}.cdt-wrap{border:1px solid var(--border-color);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;overflow:hidden}.cdt-scroll{max-height:var(--cdt-scroll-max,max(460px, calc(100vh - 330px)));scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;contain:content;overflow:auto}.cdt-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.cdt-table th,.cdt-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #eef1f5;padding:11px 14px}.cdt-table td.cdt-wrap-cell{white-space:normal;line-height:1.4}.cdt-right{text-align:right!important}.cdt-table thead th{z-index:2;background:#fbfbfc;position:sticky}.cdt-head-row th{border-bottom:2px solid var(--accent-color,var(--accent-color));top:0;box-shadow:0 1px #0f172a05}.cdt-filter-row th{border-bottom:1px solid var(--border-color);background:#fbfbfc;padding-top:7px;padding-bottom:9px;top:41px}.cdt-sort{font:inherit;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:color var(--motion-instant) var(--ease-standard);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10.5px;font-weight:700;display:inline-flex}.cdt-sort:hover{color:var(--accent-color,var(--accent-color))}.cdt-right .cdt-sort{flex-direction:row-reverse}.cdt-sort-idle{opacity:.3}.cdt-sort-rank{background:var(--accent-color,var(--accent-color));color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;margin-left:1px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.cdt-filter-input{border:1px solid var(--border-color);width:100%;min-width:72px;height:30px;color:var(--text-primary);transition:border-color var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard);background:#fff;border-radius:9px;outline:none;padding:0 9px;font-size:11.5px}.cdt-filter-input::placeholder{color:#b6bdc7}.cdt-filter-input:focus{border-color:var(--border-focus,var(--accent-color));box-shadow:0 0 0 3px var(--accent-glow,color-mix(in srgb, var(--accent-color) 14%, transparent))}.cdt-animnum{font-variant-numeric:tabular-nums}.cdt-table tbody tr:nth-child(2n) td{background:#fcfcfd}.cdt-table tbody tr td{transition:background-color var(--motion-instant) var(--ease-standard)}.cdt-table tbody tr:hover td{background:var(--accent-soft,color-mix(in srgb, var(--accent-color) 5%, transparent))}.cdt-table tbody tr:last-child td{border-bottom:0}.cdt-empty,.cdt-table .cdt-empty{text-align:center;color:var(--text-muted);white-space:normal;padding:26px 12px;font-style:italic}.cdt-footer{border-top:1px solid var(--border-color);color:var(--text-muted);background:#fbfbfc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:11px;font-weight:600;display:flex}.cdt-sort-hint{opacity:.85;font-weight:500}.dfw-link{color:inherit;text-decoration:underline}.dfw-link:hover{color:var(--accent-color,var(--accent-color))}.cell-best-features{color:#16a34a;font-size:12px;line-height:1.4}.cell-aspects-to-improve{color:var(--accent-color);font-size:12px;line-height:1.4}.cell-instructor-comments{color:#2563eb;font-size:12px;line-height:1.4}.cell-sensitivity{color:#475569;font-size:11.5px;line-height:1.4}.sidebar-search-section{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-search-section .sidebar-helper-text{margin:0 0 16px}.sidebar .search-box{border:1px solid var(--border-color);background:#fff}.sidebar .search-box:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 12%, transparent)}.sidebar .search-box input{color:var(--text-primary)}.sidebar .search-box input::placeholder{color:var(--text-muted)}.chart-skel{pointer-events:none}.bar-skel{flex-direction:column;justify-content:center;height:100%;padding:6px 56px 6px 0;display:flex}.bar-skel-row{flex:none;grid-template-columns:180px 1fr;align-items:center;gap:8px;height:52px;display:grid}.bar-skel-label{background:#eef1f5;border-radius:5px;justify-self:end;width:62%;height:9px}.bar-skel-track{background:#f3f5f7;border-radius:3px;height:22px;overflow:hidden}.bar-skel-fill{opacity:.38;border-radius:3px;width:74%;height:100%}.bar-skel-row:nth-child(4n+1) .bar-skel-fill{width:88%}.bar-skel-row:nth-child(4n+2) .bar-skel-fill{width:62%}.bar-skel-row:nth-child(4n+3) .bar-skel-fill{width:79%}.bar-skel-row:nth-child(4n) .bar-skel-fill{width:48%}.heat-skel .thm-corner{min-height:20px}.heat-skel-head{background:#eef1f5;border-radius:5px;align-self:center;width:70%;height:10px;margin:6px auto}.heat-skel-rowhead{padding:6px 10px 6px 2px;display:block}.heat-skel-rowhead:before{content:"";background:#eef1f5;border-radius:5px;width:82%;height:10px;display:block}.heat-skel-cell{background-color:var(--c1,#fca5a5);opacity:.55;border-radius:3px;min-height:30px}.chart-skel--live{animation:skelFadeIn var(--motion-state) var(--ease-enter)}@keyframes skelFadeIn{0%{opacity:0}to{opacity:1}}.chart-graph-swap{display:grid}.chart-graph-swap>*{grid-area:1/1;min-width:0}.csw-content--prep{opacity:0}.csw-content--arrive{transform-origin:50%;animation:cswArrive var(--motion-travel) var(--ease-enter) both}@keyframes cswArrive{0%{opacity:0;transform:scale(.955)}to{opacity:1;transform:scale(1)}}.csw-skel--exit{transform-origin:50%;animation:cswSkelOut var(--motion-travel) var(--ease-flow) forwards;pointer-events:none}@keyframes cswSkelOut{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.015)}}.chart-graph-swap.is-completing{animation:cswLockIn var(--motion-travel) var(--ease-standard) both;border-radius:12px}@keyframes cswLockIn{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-color) 0%, transparent)}42%{box-shadow:0 10px 30px #0f172a29, 0 0 0 3px color-mix(in srgb, var(--accent-color) 16%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-color) 0%, transparent)}}.chart-skel--live .bar-skel-fill{opacity:.5;transform-origin:0;animation:barBreathe var(--motion-breathe) var(--ease-flow) infinite alternate;will-change:transform}@keyframes barBreathe{0%{transform:scaleX(.34)}to{transform:scaleX(1)}}.chart-skel--live .bar-skel-row:nth-child(3n) .bar-skel-fill{animation-duration:calc(var(--motion-breathe) * 1.27)}.chart-skel--live .bar-skel-row:nth-child(3n+1) .bar-skel-fill{animation-duration:calc(var(--motion-breathe) * .86)}.chart-skel--live .heat-skel-cell{opacity:.8;animation:heatDrift var(--motion-breathe-slow) var(--ease-flow) infinite alternate}@keyframes heatDrift{0%{background-color:var(--c2,var(--accent-color))}50%{background-color:var(--c1,#fca5a5)}to{background-color:var(--c0,#fee2e2)}}.trend-skel{width:100%;height:100%;display:block;overflow:hidden}.trend-skel-grid line{stroke:#eef1f5;stroke-width:1px}.trend-skel-line{fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.trend-skel-dots{fill:none;stroke-width:6.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.chart-skel--live .trend-skel-line,.chart-skel--live .trend-skel-dots{animation-duration:var(--motion-wave);animation-timing-function:linear;animation-iteration-count:infinite}.sent-skel{position:relative}.sent-skel-row{grid-template-columns:78px 1fr;align-items:center;gap:10px;height:34px;display:grid}.sent-skel-term{background:#eef1f5;border-radius:5px;width:66%;height:9px}.sent-skel-plot{height:100%;position:relative}.sent-skel-zero{background:#cbd2dc;width:1px;position:absolute;top:4px;bottom:4px;left:50%}.sent-skel-bar{opacity:.62;border-radius:3px;width:74%;height:22px;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.sent-skel-bar>span{height:100%;display:block}.chart-skel--live .sent-skel-bar{animation:sentSlide var(--motion-breathe) var(--ease-flow) infinite alternate;will-change:transform}@keyframes sentSlide{0%{transform:translate(-76%,-50%)}to{transform:translate(-24%,-50%)}}.stack-skel{flex-direction:column;justify-content:center;height:100%;padding:6px 20px 6px 0;display:flex}.stack-skel-row{grid-template-columns:84px 1fr;align-items:center;gap:10px;height:54px;display:grid}.stack-skel-term{background:#eef1f5;border-radius:5px;width:70%;height:9px}.stack-skel-track{height:34px}.stack-skel-bar{opacity:.5;transform-origin:0;border-radius:3px;width:82%;height:100%;display:flex;overflow:hidden}.stack-skel-bar>span{height:100%;display:block}.chart-skel--live .stack-skel-bar{animation:barBreathe var(--motion-breathe) var(--ease-flow) infinite alternate;will-change:transform}.chart-skel--live .stack-skel-row:nth-child(3n) .stack-skel-bar{animation-duration:calc(var(--motion-breathe) * 1.27)}.chart-skel--live .stack-skel-row:nth-child(3n+1) .stack-skel-bar{animation-duration:calc(var(--motion-breathe) * .86)}.topic-heatmap,.cdt-scroll,.cm-topic-table-wrap,.dashboard-chart-panel{background-image:linear-gradient(90deg,#fff 32%,#fff0),linear-gradient(270deg,#fff 32%,#fff0),linear-gradient(90deg,#d3262f4d,#d3262f00),linear-gradient(270deg,#d3262f4d,#d3262f00);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:44px 100%,44px 100%,15px 100%,15px 100%;background-attachment:local,local,scroll,scroll}.tour-card{transition:transform var(--motion-travel) var(--ease-flow), opacity var(--motion-content) var(--ease-standard)}.tour-blur{transition:opacity var(--motion-state) var(--ease-standard)}.tour-spotlight{transition:opacity var(--motion-fast) var(--ease-standard);border-radius:15px;box-shadow:0 0 0 3px #ffffffe6,0 0 0 6px #d3262f,0 0 0 8px #ffffff52,0 0 34px 10px #d3262f80,0 0 90px 30px #d3262f33,0 26px 70px 14px #0000008c}.tour-target.tour-target{border-radius:8px}.tour-spotlight:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:0 0 0 3px #d3262fd9}.tour-spotlight.is-arriving:after{animation:tourSpotlightArrive var(--motion-data) var(--ease-soft) 1}@keyframes tourSpotlightArrive{0%{opacity:0;transform:scale(1)}22%{opacity:1}to{opacity:0;transform:scale(1.045)}}.tour-blur{-webkit-backdrop-filter:blur(7px)saturate(.72);backdrop-filter:blur(7px)saturate(.72)}.tour-body-swap{animation-duration:var(--motion-content);animation-timing-function:var(--ease-enter)}.tour-error-state{border:1px solid color-mix(in srgb, var(--accent-color) 22%, transparent);background:color-mix(in srgb, var(--accent-color) 5.5%, transparent);color:#4b5563;border-radius:11px;flex-direction:column;align-items:flex-start;gap:7px;padding:12px 14px;display:flex}.tour-error-state strong{color:#9f1c25;font-size:13px}.tour-error-state span{font-size:12px;line-height:1.45}.tour-error-retry{border:1px solid var(--accent-color);color:#a61d26;min-height:34px;font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-enter);background:#fff;border-radius:8px;margin-top:3px;padding:7px 12px;font-size:12px;font-weight:750}.tour-error-retry:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px)}.tour-error-retry:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-color) 24%, transparent);outline-offset:2px}.tour-card{aspect-ratio:7/5;height:auto;min-height:320px;max-height:min(76vh,470px);padding:0;overflow:hidden}.tour-head{border-bottom:1px solid #262a30;flex:none;align-items:center;gap:10px;padding:13px 14px 13px 18px;display:flex}.tour-head-title{letter-spacing:.01em;color:#f0f1f3;font-size:12.5px;font-weight:800}.tour-head .tour-count{margin:0 0 0 auto;font-size:11px;font-weight:700}.tour-panes{flex:auto;align-items:stretch;min-height:0;display:flex;position:relative}.tour-nav{scroll-behavior:smooth;overscroll-behavior-block:contain;scrollbar-width:thin;scrollbar-color:var(--accent-color) #23272d;border-right:1px solid #262a30;width:max(27%,138px);padding:12px 2px 14px 11px;position:absolute;top:0;bottom:0;left:0;overflow:hidden auto}.tour-pane{flex-direction:column;flex:auto;min-width:0;min-height:0;margin-left:max(27%,138px);padding:18px 0 16px 22px;display:flex}.tour-pane .tour-body-swap{overscroll-behavior-block:contain;scrollbar-width:thin;scrollbar-color:var(--accent-color) #23272d;flex:auto;min-height:0;padding-right:16px;overflow-y:auto}.tour-nav::-webkit-scrollbar{-webkit-appearance:none;width:10px}.tour-pane .tour-body-swap::-webkit-scrollbar{-webkit-appearance:none;width:10px}.tour-nav::-webkit-scrollbar-button{background:0 0;width:0;height:0;display:none}.tour-nav::-webkit-scrollbar-button:start{background:0 0;width:0;height:0;display:none}.tour-nav::-webkit-scrollbar-button:end{background:0 0;width:0;height:0;display:none}.tour-nav::-webkit-scrollbar-button:vertical:increment{background:0 0;width:0;height:0;display:none}.tour-nav::-webkit-scrollbar-button:vertical:decrement{background:0 0;width:0;height:0;display:none}.tour-pane .tour-body-swap::-webkit-scrollbar-button{background:0 0;width:0;height:0;display:none}.tour-pane .tour-body-swap::-webkit-scrollbar-button:start{background:0 0;width:0;height:0;display:none}.tour-pane .tour-body-swap::-webkit-scrollbar-button:end{background:0 0;width:0;height:0;display:none}.tour-pane .tour-body-swap::-webkit-scrollbar-button:vertical:increment{background:0 0;width:0;height:0;display:none}.tour-pane .tour-body-swap::-webkit-scrollbar-button:vertical:decrement{background:0 0;width:0;height:0;display:none}.tour-nav::-webkit-scrollbar-corner{background:0 0}.tour-pane .tour-body-swap::-webkit-scrollbar-corner{background:0 0}.tour-nav::-webkit-scrollbar-track{background:#23272d;border-radius:10px}.tour-pane .tour-body-swap::-webkit-scrollbar-track{background:#23272d;border-radius:10px}.tour-nav::-webkit-scrollbar-thumb{background:linear-gradient(180deg, #d78d90, var(--accent-color));background-clip:padding-box;border:2px solid #0000;border-radius:10px}.tour-pane .tour-body-swap::-webkit-scrollbar-thumb{background:linear-gradient(180deg, #d78d90, var(--accent-color));background-clip:padding-box;border:2px solid #0000;border-radius:10px}.tour-nav::-webkit-scrollbar-thumb:hover{background:linear-gradient(#e4a1a3,#e0322f) padding-box padding-box;border:2px solid #0000}.tour-pane .tour-body-swap::-webkit-scrollbar-thumb:hover{background:linear-gradient(#e4a1a3,#e0322f) padding-box padding-box;border:2px solid #0000}.tour-pane .tour-actions{border-top:1px solid #23272d;flex:none;margin-top:14px;margin-right:22px;padding-top:13px}.tour-pane .tour-chip{align-self:flex-start;margin-bottom:9px}.tour-body p{margin:0 0 9px}.tour-body p:last-child{margin-bottom:0}.tour-body .tour-list{margin:0 0 9px;padding-left:20px}.tour-body .tour-list:last-child{margin-bottom:0}.tour-body ol.tour-list{list-style:decimal}.tour-body ul.tour-list{list-style:outside}.tour-body .tour-list li{margin:0 0 5px;padding-left:3px}.tour-body .tour-list li:last-child{margin-bottom:0}.tour-body .tour-list li::marker{color:#ff7a82;font-weight:800}.tour-key{white-space:nowrap;vertical-align:baseline;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;align-items:center;gap:3px;margin:0 1px;padding:1px 7px;font-size:11px;font-weight:750;line-height:1.5;display:inline-flex}.tour-key svg{flex:none}.tour-key--next,.tour-key--finish{color:#fff;background:linear-gradient(#d3262f 0%,#b01c25 100%);border-color:#b01c25}.tour-key--back,.tour-key--map{color:#c7ccd4;background:#1b1e23;border-color:#2c3038}.tour-key--skip{color:#9aa0a8;background:0 0;border-color:#2c3038}.tour-key--close{color:#9aa0a8;background:#1b1e23;border-color:#2c3038;padding:2px 4px}.tour-sec{min-width:0;display:block}.tour-sec+.tour-sec{margin-top:3px}.tour-sec-head{appearance:none;text-align:left;cursor:pointer;width:100%;min-height:30px;transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;margin:0;padding:5px 6px;display:flex}.tour-sec-head:hover{background:#1e2228}.tour-sec-head:focus-visible{outline-offset:-2px;outline:2px solid #d3262f}.tour-sec-num{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#5c636d;transition:color var(--motion-fast) var(--ease-standard);flex:none;font-size:9.5px;font-weight:800}.tour-sec-label{letter-spacing:.03em;text-transform:uppercase;min-width:0;transition:color var(--motion-fast) var(--ease-standard);flex:auto;font-size:9.5px;font-weight:800;line-height:1.25}.tour-sec-caret{opacity:.55;transition:transform var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);flex:none}.tour-sec.is-open .tour-sec-caret{opacity:1;transform:rotate(180deg)}.tour-sec-head:hover .tour-sec-caret{opacity:1}.tour-sec-tick{opacity:.9;flex:none}.tour-sec-steps{box-sizing:border-box;opacity:0;height:0;transition:height var(--motion-travel) var(--ease-flow), opacity var(--motion-content) var(--ease-standard), padding var(--motion-travel) var(--ease-flow);will-change:height;flex-direction:column;gap:2px;padding:0;display:flex;position:relative;overflow:hidden}.tour-sec.is-open .tour-sec-steps{opacity:1;padding:5px 0}.tour-sec-steps:before{content:"";border-radius:1px;width:1px;position:absolute;top:5px;bottom:5px;left:11px}.tour-step-slot{opacity:0;transition:opacity var(--motion-content) var(--ease-standard), transform var(--motion-travel) var(--ease-flow);flex:none;display:block;transform:translateY(-5px)}.tour-sec.is-open .tour-step-slot{opacity:1;transform:none}.tour-nav-step{appearance:none;text-align:left;cursor:pointer;width:100%;height:34px;transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 6px 0 20px;display:flex}.tour-nav-step:focus-visible{outline-offset:-2px;outline:2px solid #d3262f}.tour-nav-bullet{width:5px;height:5px;transition:background-color var(--motion-state) var(--ease-standard), transform var(--motion-state) var(--ease-enter), box-shadow var(--motion-state) var(--ease-standard);border-radius:999px;flex:none}.tour-nav-step-label{-webkit-line-clamp:2;line-clamp:2;min-width:0;transition:color var(--motion-fast) var(--ease-standard);-webkit-box-orient:vertical;flex:auto;font-size:10.5px;font-weight:650;line-height:1.2;display:-webkit-box;overflow:hidden}.tour-step-tip{z-index:3;color:#fff;pointer-events:none;opacity:0;width:max-content;max-width:230px;transition:transform var(--motion-content) var(--ease-enter), opacity var(--motion-fast) var(--ease-standard);background:#16181d;border-radius:10px;flex-direction:column;gap:3px;margin-left:9px;padding:7px 11px;display:flex;position:absolute;top:0;left:max(27%,138px);box-shadow:0 12px 30px #0f172a47}.tour-step-tip.is-shown{opacity:1}.tour-step-tip:after{content:"";right:100%;top:var(--nub,50%);border:5px solid #0000;border-right-color:#16181d;position:absolute;transform:translateY(-50%)}.tour-step-tip-chip{letter-spacing:.04em;text-transform:uppercase;color:#ff9ba0;font-size:9.5px;font-weight:800}.tour-step-tip-title{color:#f4f5f7;font-size:12px;font-weight:700;line-height:1.35}@media (max-width:640px){.tour-nav,.tour-step-tip{display:none}.tour-pane{margin-left:0;padding:13px 15px 12px}}.tour-card{background:#16181c;border-color:#262a30;box-shadow:0 24px 64px #0000008c}.tour-card.is-over-target{border-color:#353a42;box-shadow:0 0 0 1px #00000080,0 36px 90px #000000b8,0 12px 32px #0000008c}.tour-title{color:#f0f1f3}.tour-body{color:#b6bcc6}.tour-body b{color:#f0f1f3}.tour-chip{color:#ff8a90;background:#241416;border-color:#3a2226}.tour-skip-x{color:#9aa0a8;background:#1b1e23;border-color:#2c3038}.tour-skip-x:hover{color:#fff;background:#b01c25;border-color:#b01c25}.tour-count{color:#6b7280}.tour-loading{color:#b6bcc6}.tour-loading .tour-spin{color:#ff8a90}.tour-blur{background:#04060ba3}.tour-btn{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:5px;height:30px;min-height:0;padding:0 12px;font-size:12px;line-height:1}.tour-btn svg{flex:none;display:block}.tour-btn-skip{padding:0 6px}.tour-skip-x{place-items:center;width:24px;height:24px;padding:0;line-height:0;display:grid}.tour-skip-x svg{display:block}.tour-btn-skip{color:#7c828c}.tour-btn-skip:hover{color:#ff8a90}.tour-btn-back{color:#c7ccd4;background:#1b1e23;border-color:#2c3038}.tour-btn-back:hover{color:#ff8a90;background:#23181a;border-color:#d3262f}.tour-sec-label{color:#7c828c}.tour-sec-head:hover .tour-sec-label{color:#b6bcc6}.tour-sec.is-open .tour-sec-num,.tour-sec.is-open .tour-sec-label,.tour-sec.is-open .tour-sec-head:hover .tour-sec-label{color:#ff7a82}.tour-sec-head.is-current .tour-sec-label{color:#b6bcc6}.tour-sec-caret{color:#6b7280}.tour-sec-tick{color:#7d3237}.tour-sec.is-open .tour-sec-caret,.tour-sec-head.is-active .tour-sec-num,.tour-sec-head.is-active .tour-sec-label{color:#ff7a82}.tour-sec-head.is-active{background:#241416}.tour-sec-steps:before{background:#262a30}.tour-nav-bullet{background:#333941}.tour-nav-step-label{color:#7c828c}.tour-nav-step:hover{background:#1e2228}.tour-nav-step:hover .tour-nav-step-label{color:#d7dbe1}.tour-nav-step:hover .tour-nav-bullet{background:#ff5a63;box-shadow:0 0 0 3px #ff5a632e}.tour-nav-step.is-done .tour-nav-bullet{background:#7d3237}.tour-nav-step.is-done .tour-nav-step-label{color:#6f757e}.tour-nav-step.is-active{background:#241416}.tour-nav-step.is-active .tour-nav-step-label{color:#ff8a90;font-weight:750}.tour-nav-step.is-active .tour-nav-bullet{background:#d3262f;transform:scale(1.5);box-shadow:0 0 0 2.5px #d3262f38}.tour-step-tip{background:#23262c;box-shadow:0 12px 30px #00000080}.tour-step-tip:after{border-right-color:#23262c}.tour-error-state{color:#b6bcc6;background:#1e1416;border-color:#3a2226}.tour-error-state strong{color:#ff8a90}.tour-error-retry{color:#ff8a90;background:#1b1e23;border-color:#3a2226}.tour-error-retry:hover{color:#fff;background:#b01c25;border-color:#b01c25}.dock-btn-tour{color:#ff6b73;background:#1b1e23;border-color:#3a2a2c;box-shadow:0 12px 28px #0006}.dock-btn-tour:hover{background:#23181a;box-shadow:0 16px 36px #0000007a}
