@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600;700;800&display=swap");:root{color-scheme:light;--bg:#fbfaf7;--bg-sunken:#f3f1ec;--surface:#ffffff;--surface-2:#fbfaf7;--line:#dfddd8;--line-soft:#efede8;--ink:#2d2a24;--ink-2:#5d574f;--ink-3:#8c857b;--ink-4:#b8b1a7;--accent:#2f8f68;--accent-ink:#11613f;--accent-soft:#dff3e8;--accent-wash:#f0faf4;--blue-wash:#eef6ff;--blue:#3578c9;--amber-wash:#fff5df;--amber:#a97917;--rose-wash:#fff0f2;--rose:#b44d61;--shadow-sm:0 1px 2px rgb(45 42 36/0.05);--shadow-md:0 1px 2px rgb(45 42 36/0.04),0 12px 28px rgb(45 42 36/0.07);--rail-w:72px;--topbar-h:56px;--sans-thai:"IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--sans-lat:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}@supports (color:oklch(0.5 0.1 120)){:root{--bg:oklch(0.985 0.005 85);--bg-sunken:oklch(0.962 0.007 85);--surface:oklch(1 0 0);--surface-2:oklch(0.985 0.005 85);--line:oklch(0.88 0.008 85);--line-soft:oklch(0.93 0.006 85);--ink:oklch(0.2 0.012 70);--ink-2:oklch(0.38 0.01 70);--ink-3:oklch(0.56 0.01 70);--ink-4:oklch(0.72 0.008 70);--accent:oklch(0.54 0.1 155);--accent-ink:oklch(0.34 0.09 155);--accent-soft:oklch(0.93 0.04 155);--accent-wash:oklch(0.97 0.025 155);--blue-wash:oklch(0.96 0.025 250);--blue:oklch(0.55 0.14 250);--amber-wash:oklch(0.96 0.035 80);--amber:oklch(0.62 0.12 75);--rose-wash:oklch(0.96 0.03 20);--rose:oklch(0.55 0.13 20)}}*{box-sizing:border-box}body,html{min-height:100%;width:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans-thai);margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a,button{-webkit-tap-highlight-color:transparent}button{background:transparent;border:0;cursor:pointer;font:inherit;padding:0}a,button{color:inherit}a{text-decoration:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:rgb(93 87 79/.24);border-radius:999px}.mba-shell{background:var(--bg);display:flex;min-height:100vh;overflow:hidden}.app-rail{align-items:center;background:var(--surface);border-right:1px solid var(--line-soft);display:flex;flex:0 0 var(--rail-w);flex-direction:column;gap:18px;padding:12px 8px}.brand-mark,.mobile-logo{align-items:center;background:#17130f;border-radius:8px;color:#fff;display:inline-flex;font-family:var(--sans-lat);font-size:17px;font-weight:800;height:42px;justify-content:center;letter-spacing:0;width:42px}.mobile-logo{display:none;flex:0 0 36px;font-size:15px;height:36px;width:36px}.rail-item{align-items:center;border-radius:8px;color:var(--ink-3);display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px;min-height:58px;justify-content:center;width:56px}.rail-item.active{background:var(--accent-soft);color:var(--accent-ink)}.app-frame{flex:1 1;flex-direction:column}.app-frame,.topbar{display:flex;min-width:0}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line-soft);flex:0 0 var(--topbar-h);gap:14px;padding:0 18px}.topbar h1{font-size:17px;line-height:1.1;margin:0}.eyebrow,.topbar h1{font-family:var(--sans-lat);letter-spacing:0}.eyebrow{color:var(--ink-3);font-size:11px;font-weight:800;line-height:1;margin:0 0 4px;text-transform:uppercase}.topbar-spacer{flex:1 1}.profile-chip{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;background:#f1d8fa;color:#7b378e;font-family:var(--sans-lat);height:32px;justify-content:center;width:32px}.workbench{display:grid;flex:1 1;grid-template-columns:210px 300px minmax(0,1fr);min-height:0}.course-pane,.resource-pane,.term-pane{min-height:0;overflow:auto}.term-pane{background:var(--surface);border-right:1px solid var(--line-soft);padding:14px}.resource-card h2,.resource-title h3,.term-hero h2,.term-pane-head h2{margin:0}.resource-card h2,.term-hero h2,.term-pane-head h2{font-family:var(--sans-lat);letter-spacing:0}.term-pane-head h2{font-size:20px}.term-list{display:grid;grid-gap:8px;gap:8px}.term-button{border:1px solid transparent;border-radius:8px;display:grid;grid-gap:3px;gap:3px;min-height:50px;padding:9px 10px;text-align:left}.term-button:hover{background:var(--surface-2);border-color:var(--line-soft)}.term-button.active{background:var(--accent-wash);border-color:#b7dfc8;color:var(--accent-ink)}.term-title{font-weight:800}.term-meta{color:var(--ink-3);font-size:12px}.course-pane{background:var(--surface-2);border-right:1px solid var(--line-soft);padding:16px}.term-hero{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;margin:0 0 12px;padding:12px}.term-hero h2{font-size:21px;line-height:1.05}.term-hero p{color:var(--ink-2);font-size:12px;font-weight:700;line-height:1.35;margin:7px 0 0}.hero-metric{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex:0 0 88px;flex-direction:column;min-height:78px;justify-content:center}.hero-metric span{color:var(--accent-ink);font-family:var(--sans-lat);font-size:28px;font-weight:800;line-height:1}.hero-metric p{color:var(--ink-3);font-size:12px;font-weight:700;margin:4px 0 0}.course-list{margin:0}.course-card-wrap,.course-list{display:grid;grid-gap:8px;gap:8px}.course-row{align-items:flex-start;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;gap:10px;min-height:74px;padding:11px;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.course-row.active,.course-row:hover{border-color:#abd9bf;box-shadow:var(--shadow-md);transform:translateY(-1px)}.course-row.active{background:linear-gradient(180deg,var(--surface),var(--accent-wash))}.course-avatar{align-items:center;background:var(--accent-soft);border-radius:999px;color:var(--accent-ink);display:inline-flex;flex:0 0 38px;font-family:var(--sans-lat);font-size:12px;font-weight:800;height:38px;justify-content:center}.course-copy{flex:1 1;min-width:0}.course-copy,.course-head{display:grid;grid-gap:6px;gap:6px}.course-head{align-items:center}.course-head>span:first-child{font-size:14px;font-weight:800;line-height:1.25}.course-summary{color:var(--ink-2);line-height:1.55}.course-foot{color:var(--ink-3);flex-wrap:wrap;font-size:12px;font-weight:700;gap:6px}.course-foot,.inline-video-pill{align-items:center;display:inline-flex}.inline-video-pill{background:#f6efe1;border:1px solid #ead7a6;border-radius:999px;color:var(--amber);gap:5px;padding:4px 8px}.course-expand-icon{color:var(--ink-3);flex:0 0 auto;margin-top:11px}.status{align-items:center;background:var(--bg-sunken);border:1px solid var(--line);border-radius:999px;color:var(--ink-2);display:inline-flex;font-size:11px;font-weight:800;line-height:1;padding:6px 9px;white-space:nowrap}.status-core{background:var(--accent-wash);border-color:#b7dfc8;color:var(--accent-ink)}.status-elective{background:var(--blue-wash);border-color:#cfe2f7;color:var(--blue)}.status-project{background:var(--amber-wash);border-color:#efd48f;color:var(--amber)}.status-library{background:var(--rose-wash);border-color:#f3cbd2;color:var(--rose)}.library-panel{border-top:1px solid var(--line-soft);margin:18px 0 0;padding-top:16px}.library-head{display:block}.library-head h2{font-family:var(--sans-lat);font-size:20px;letter-spacing:0;line-height:1.05;margin:0}.library-head p{color:var(--ink-2);display:none}.library-metric{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;color:var(--rose);display:inline-flex;flex:0 0 auto;font-family:var(--sans-lat);font-size:18px;font-weight:800;gap:8px;min-height:42px;padding:0 12px}.category-strip{display:flex;gap:8px;margin:12px 0 10px;overflow-x:auto;padding-bottom:4px}.category-chip{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:999px;color:var(--ink-2);display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;gap:7px;min-height:30px;padding:0 10px}.category-chip span{color:var(--ink-3);font-family:var(--sans-lat)}.category-chip.active{background:var(--rose-wash);border-color:#f3cbd2;color:var(--rose)}.library-list{display:grid;grid-gap:7px;gap:7px;max-height:420px;overflow:auto;padding-right:2px}.library-row{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;display:grid;grid-gap:9px;gap:9px;grid-template-columns:62px minmax(0,1fr);min-height:56px;padding:9px 10px;text-align:left}.library-row>svg{display:none}.library-row.active,.library-row:hover{border-color:#f3cbd2;box-shadow:var(--shadow-sm)}.library-row.active{background:linear-gradient(180deg,var(--surface),var(--rose-wash))}.library-code{color:var(--rose);font-family:var(--sans-lat);font-size:13px;font-weight:800}.library-copy{display:grid;grid-gap:5px;gap:5px;min-width:0}.library-copy>span:first-child{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.library-copy>span:first-child>span:first-child{font-weight:800}.library-copy>span:first-child>span:last-child{background:var(--bg-sunken);border-radius:999px;color:var(--ink-3);font-size:11px;font-weight:800;padding:4px 7px}.library-copy>span:last-child{color:var(--ink-3);font-size:12px;font-weight:700}.resource-pane{background:var(--bg);padding:18px}.resource-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;box-shadow:none;margin-bottom:10px;padding:13px 14px}.resource-card:first-child{padding-top:14px}.resource-card h2{font-size:21px;line-height:1.08;margin-bottom:9px}.resource-card p{color:var(--ink-2);font-size:14px;line-height:1.5;margin:8px 0 0;max-width:920px}.resource-card .resource-note{color:var(--ink-3);font-size:12px;line-height:1.4;margin-top:8px}.resource-title{align-items:center;display:flex;gap:7px}.resource-title h3{flex:1 1;font-size:14px}.resource-title span{color:var(--ink-3);font-family:var(--sans-lat);font-size:11px;font-weight:800}.link-list,.source-links{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:10px}.link-list a{align-items:center;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;display:flex;font-size:13px;gap:7px;min-height:34px;padding:7px 8px}.link-list a:hover,.source-links a:hover{border-color:#b7dfc8;color:var(--accent-ink)}.link-icon{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:6px;display:inline-flex;flex:0 0 24px;height:24px;justify-content:center}.link-icon svg{height:15px;width:15px}.link-arrow{color:var(--ink-4);margin-left:auto}.practice-modules{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.practice-module{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:10px}.practice-module-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.practice-module-head h4{font-size:13px;line-height:1.3}.practice-module-head span{color:var(--ink-3);flex:0 0 auto;font-family:var(--sans-lat);font-size:11px;font-weight:800}.practice-module p{color:var(--ink-3);font-size:12px;line-height:1.4;margin-top:6px}.practice-links{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.source-links a{border:1px solid var(--line-soft);border-radius:8px;color:var(--ink-2);font-size:13px;font-weight:700;line-height:1.25;padding:8px 9px}.video-stack{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.video-stack.inline{background:var(--surface);border:1px solid #ead7a6;border-radius:8px;box-shadow:var(--shadow-sm);margin-top:-2px;padding:12px}.video-stack-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.video-stack-head a,.video-stack-head span{align-items:center;display:inline-flex;font-size:12px;font-weight:800;gap:6px}.video-stack-head span{color:var(--amber)}.video-stack-head a{color:var(--ink-3)}.video-player-card{background:#15120f;border:1px solid #29231e;border-radius:8px;box-shadow:var(--shadow-sm);display:grid;grid-gap:10px;gap:10px;overflow:hidden;padding:12px}.video-player-head{align-items:center;color:white;display:flex;gap:12px;justify-content:space-between}.video-player-head span{font-size:14px;font-weight:800;line-height:1.35}.video-player-head a{border:1px solid rgb(255 255 255/.18);border-radius:999px;color:rgb(255 255 255/.72);flex:0 0 auto;font-size:12px;font-weight:800;padding:7px 10px}.video-player-card iframe,.video-player-card video{aspect-ratio:16/9;background:#000;border:0;border-radius:6px;display:block;width:100%}.video-player-card p{color:rgb(255 255 255/.72);font-size:13px;margin:0}.video-row{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:38px minmax(0,1fr) auto;padding:12px}.video-row.active{background:var(--accent-wash);border-color:#b7dfc8}.video-number{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:7px;color:var(--ink-3);display:inline-flex;font-family:var(--sans-lat);font-size:11px;font-weight:800;height:30px;justify-content:center}.video-main{display:grid;grid-gap:7px;gap:7px;min-width:0}.video-title-line{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.video-title-line h4{font-size:13px;line-height:1.35;margin:0}.video-state{background:var(--bg-sunken);border:1px solid var(--line-soft);border-radius:999px;color:var(--ink-3);flex:0 0 auto;font-size:10px;font-weight:800;line-height:1;padding:5px 7px;text-transform:uppercase}.video-state.ready{background:var(--accent-wash);border-color:#b7dfc8;color:var(--accent-ink)}.video-state.processing,.video-state.queued{background:var(--amber-wash);border-color:#efd48f;color:var(--amber)}.video-state.blocked,.video-state.error{background:var(--rose-wash);border-color:#f3cbd2;color:var(--rose)}.video-actions{align-items:center;color:var(--ink-3);display:flex;flex-wrap:wrap;font-size:11px;font-weight:800;gap:8px}.video-actions a,.video-actions button,.video-actions span{align-items:center;display:inline-flex;gap:4px}.video-actions button{color:var(--accent-ink);font-size:11px;font-weight:800}.video-message{color:var(--ink-3);font-size:12px;line-height:1.45;margin:0}.transcript-panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:10px}.transcript-panel span{color:var(--accent-ink);font-size:11px;font-weight:800;text-transform:uppercase}.transcript-panel p{color:var(--ink-2);font-size:12px;line-height:1.55;margin:0;white-space:pre-line}.generate-button{align-items:center;background:var(--accent-ink);border:1px solid var(--accent-ink);border-radius:8px;color:white;display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:34px;padding:0 10px;white-space:nowrap}.generate-button:disabled{background:var(--bg-sunken);border-color:var(--line-soft);color:var(--ink-3);cursor:not-allowed}.spin{animation:spin .9s linear infinite}.bookmark-list{display:grid;grid-gap:6px;gap:6px}.bookmark-row{align-items:flex-start;background:var(--surface);border:1px solid var(--line-soft);border-radius:7px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:48px minmax(0,1fr);padding:8px;text-align:left}.bookmark-row>span:first-child{color:var(--accent-ink);font-family:var(--sans-lat);font-size:12px;font-weight:800}.bookmark-row strong{display:block;font-size:12px}.bookmark-row small{color:var(--ink-3);display:block;font-size:11px;line-height:1.4;margin-top:2px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.workbench{grid-template-columns:190px 270px minmax(0,1fr)}}@media (max-width:860px){.mba-shell{display:block;overflow:visible}.app-rail{display:none}.mobile-logo{display:inline-flex}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar h1{font-size:15px}.workbench{display:block}.course-pane,.resource-pane,.term-pane{overflow:visible}.term-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px}.term-button{flex:0 0 200px}.course-pane{padding:18px}.term-hero{display:block}.hero-metric{display:none}.library-head{display:block}.library-metric{margin-top:12px}.library-row{grid-template-columns:minmax(58px,80px) minmax(0,1fr)}.library-row>svg{display:none}.video-row{grid-template-columns:30px minmax(0,1fr)}.generate-button{grid-column:2;justify-content:center;width:-moz-fit-content;width:fit-content}}@media (max-width:560px){.topbar{padding:0 12px}.course-pane,.resource-pane,.term-pane{padding-left:12px;padding-right:12px}.course-row{gap:11px;padding:13px}.course-avatar{flex-basis:38px;height:38px}.video-stack-head,.video-title-line{display:grid}.bookmark-row{grid-template-columns:42px minmax(0,1fr)}}