/* 教师课程视图：保留原页面内容与事件，只调整排版。 */
html { scroll-behavior: smooth; }
body.teacher-course { background: #f5f7fb !important; color: #172033; overflow-x: hidden; }
.teacher-course .header-nav { max-width: none; width: calc(100% - 40px); margin: 20px auto !important; border-radius: 16px; background: #fff; box-shadow: 0 12px 36px rgba(20,30,55,.08); }
.teacher-course .campaign-container { max-width: 1320px; width: calc(100% - 40px); margin: 0 auto; display: grid; grid-template-columns: 248px minmax(0,1fr); gap: 20px; align-items: start; }
.teacher-course .teacher-index { grid-column: 1; grid-row: 1 / span 100; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; padding: 18px; border: 1px solid #e3e7ef; border-radius: 16px; background: #fff; box-shadow: 0 12px 36px rgba(20,30,55,.08); }
.teacher-index h2 { margin: 0 0 10px; font-size: 17px; color: #172033; }
.teacher-index input { width: 100%; min-height: 42px; padding: 10px; border: 1px solid #dfe4ee; border-radius: 9px; font: inherit; outline-color: #705cf6; }
.teacher-index nav { display: grid; gap: 5px; margin-top: 12px; }
.teacher-index button { width: 100%; padding: 10px 12px; border: 0; border-radius: 9px; background: transparent; color: #3d4860; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.teacher-index button:hover, .teacher-index button.active { background: #efedff; color: #5945d8; font-weight: 800; }
.teacher-index .result-count { display: block; margin-top: 10px; color: #687187; font-size: 12px; }
.teacher-course .campaign-container > .chapter-card { grid-column: 2; margin: 0; border: 1px solid #e3e7ef; border-radius: 16px; box-shadow: 0 12px 36px rgba(20,30,55,.07); transform: none; }
.teacher-course .chapter-header { background: #fff !important; border-bottom: 1px solid #e3e7ef; padding: 18px 22px; }
.teacher-course .chapter-header:hover { background: #f7f5ff !important; }
.teacher-course .chapter-title { font-size: 19px; color: #172033; }
.teacher-course .chapter-icon { font-size: 23px; }
.teacher-course .chapter-content { padding: 16px; }
.teacher-course .level-row, .teacher-course .level-row:nth-child(even) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 15px 17px; margin-bottom: 9px; border: 1px solid #e5e8f0; border-radius: 12px; background: #fff; transform: none; }
.teacher-course .level-info { min-width: 0; margin: 0; }
.teacher-course .level-title { white-space: nowrap; color: #5945d8; font-size: 15px; }
.teacher-course .level-desc { color: #687187; font-size: 13px; line-height: 1.55; }
.teacher-course .action-group { justify-content: flex-end; }
.teacher-course .action-btn { min-height: 38px; padding: 7px 11px; border-radius: 8px; box-shadow: none; font-size: 13px; }
.teacher-course .action-btn:hover { transform: none; }
.teacher-course .level-row.teacher-hidden, .teacher-course .chapter-card.teacher-hidden { display: none !important; }
body.teacher-oj { background: #f5f7fb !important; overflow-x: hidden; }
.teacher-oj > header { background: #fff !important; box-shadow: 0 8px 28px rgba(20,30,55,.08); }
.teacher-oj > header h1 { color: #172033; }
.teacher-oj .container { max-width: 1320px; width: calc(100% - 40px); display: grid; grid-template-columns: 248px minmax(0,1fr); align-items: start; gap: 16px 20px; }
.teacher-oj .teacher-index { grid-column: 1; grid-row: 1 / span 100; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; padding: 18px; border: 1px solid #e3e7ef; border-radius: 16px; background: #fff; box-shadow: 0 12px 36px rgba(20,30,55,.08); }
.teacher-oj .container > .chapter-card { grid-column: 2; margin: 0; padding: 22px; border: 1px solid #e3e7ef; border-radius: 16px; box-shadow: 0 12px 36px rgba(20,30,55,.07); transform: none; }
.teacher-oj .chapter-header { align-items: center; border-bottom: 1px solid #e3e7ef; }
.teacher-oj .chapter-num { flex: none; border-radius: 8px; box-shadow: none; white-space: nowrap; }
.teacher-oj .chapter-title { font-size: 20px; letter-spacing: 0; }
.teacher-oj .knowledge-area { border-left: 3px solid #356ae6; border-radius: 9px; }
.teacher-oj .k-tag { font-size: 12px; border-width: 1px; }
.teacher-oj .step-container { gap: 0; }
.teacher-oj .step-row { min-height: 54px; }
.teacher-oj .btn { min-height: 38px; box-shadow: none; border-radius: 8px; }
.teacher-oj .topic-row { border-style: solid; }
.teacher-oj .chapter-card.teacher-hidden { display: none !important; }
@media (max-width: 900px) {
  .teacher-course .header-nav, .teacher-course .campaign-container, .teacher-oj .container { width: calc(100% - 24px); }
  .teacher-course .campaign-container, .teacher-oj .container { display: block; }
  .teacher-course .teacher-index, .teacher-oj .teacher-index { position: static; max-height: none; margin-bottom: 16px; }
  .teacher-index nav { display: flex; overflow-x: auto; padding-bottom: 5px; }
  .teacher-index button { min-width: 150px; }
  .teacher-course .campaign-container > .chapter-card, .teacher-oj .container > .chapter-card { margin-bottom: 14px; }
}
@media (max-width: 600px) {
  .teacher-course .header-nav { gap: 8px; padding: 14px; }
  .teacher-course .chapter-header { padding: 14px; }
  .teacher-course .chapter-title, .teacher-oj .chapter-title { font-size: 16px; }
  .teacher-course .level-row, .teacher-course .level-row:nth-child(even) { grid-template-columns: 1fr; gap: 9px; }
  .teacher-course .action-group { justify-content: flex-start; }
  .teacher-course .action-btn { flex: 1; justify-content: center; }
  .teacher-oj .container > .chapter-card { padding: 16px; }
  .teacher-oj .chapter-header { flex-direction: row; flex-wrap: wrap; }
  .teacher-oj .step-row { align-items: stretch; }
  .teacher-oj .step-content { min-width: 0; }
  .teacher-oj .solution-select { font-size: 14px; }
}
/* 信奥教师页：与主线课保持相同信息层级，保留原题目搜索和题解选择。 */
body.teacher-oj{font-family:"Comic Sans MS","YouYuan","幼圆","Microsoft YaHei",sans-serif;background:#f5f7fb!important;user-select:text}
body.teacher-oj>header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:22px;width:100%;max-width:none;margin:0 0 22px;padding:13px max(20px,calc((100vw - 1320px)/2));border-bottom:1px solid #e3e7ef;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)}
body.teacher-oj>header h1{flex:none;display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-shadow:none;animation:none;color:#172033;font-size:22px;line-height:1.35;white-space:nowrap}
body.teacher-oj>header .search-container{flex:1;width:auto;max-width:520px;margin:0 0 0 auto}
body.teacher-oj>header #searchBox{min-height:44px;padding:9px 15px;border:1px solid #dce2eb;border-radius:10px;background:#f7f8fc;box-shadow:none;font-size:14px;transform:none}
body.teacher-oj>header #searchBox:focus{border-color:#705cf6;box-shadow:0 0 0 3px #705cf622;transform:none}
body.teacher-oj>header #searchResults{top:50px;border:1px solid #e3e7ef;border-radius:10px;box-shadow:0 16px 42px #17203322}
body.teacher-oj .container{gap:0;max-width:1320px;grid-template-columns:258px minmax(0,1fr)}
body.teacher-oj .teacher-index{grid-row:1 / span 30;top:88px;border-top:4px solid #41bbaa}
body.teacher-oj .teacher-index h2{font-size:18px}
body.teacher-oj .teacher-index button{font-size:14px;padding:10px 12px}
body.teacher-oj .teacher-index button strong{display:block;color:#1e8b7d;font-size:12px}
body.teacher-oj .teacher-index button span{display:block;margin-top:3px;color:#172033;font-size:16px;font-weight:900;line-height:1.45}
body.teacher-oj .teacher-index button.active{background:#e7f7f3;color:#08796b}
body.teacher-oj .teacher-index button.active span{color:#08796b}
body.teacher-oj .container>.chapter-card{display:none;border-top:4px solid #41bbaa}
body.teacher-oj .container>.chapter-card.teacher-current{display:flex}
body.teacher-oj .chapter-num{background:#e7f7f3;color:#08796b}
body.teacher-oj .chapter-title{color:#172033}
body.teacher-oj .knowledge-area{background:#f3faf8;border-left-color:#41bbaa}
body.teacher-oj .k-tag{background:#fff;color:#425268}
body.teacher-oj .step-label{background:#e7f7f3;color:#08796b}
body.teacher-oj .topic-row{background:#f7f8fc}
body.teacher-oj .topic-title::before{content:none}
body.teacher-oj .chapter-card.teacher-hidden{display:none!important}
body.teacher-oj.algo-teacher{background:#f6f7fc!important}
body.algo-teacher .teacher-index,body.algo-teacher .container>.chapter-card{border-top-color:#6c78db}
body.algo-teacher .teacher-index button strong,body.algo-teacher .teacher-index button.active span{color:#4e58b9}
body.algo-teacher .teacher-index button.active{background:#eeefff}
body.algo-teacher .chapter-num,body.algo-teacher .step-label{background:#eeefff;color:#4e58b9}
body.algo-teacher .knowledge-area{background:#f7f7ff;border-left-color:#6c78db}
@media(max-width:900px){body.teacher-oj>header{position:relative;padding:14px;flex-wrap:wrap}body.teacher-oj>header h1{font-size:19px}body.teacher-oj>header .search-container{flex:1 1 100%;max-width:none}body.teacher-oj .container{display:block;width:calc(100% - 24px)}body.teacher-oj .teacher-index{position:static;max-height:none}body.teacher-oj .teacher-index nav{display:flex;overflow-x:auto}body.teacher-oj .teacher-index button{min-width:180px}body.teacher-oj .container>.chapter-card{margin-top:14px}}
/* 双栏各自滚动：鼠标在哪一栏，滚轮就只移动那一栏。 */
@media(min-width:901px){
  body.teacher-oj{height:100vh;overflow:hidden}
  body.teacher-oj>header{height:72px;margin:0}
  body.teacher-oj .container{height:calc(100vh - 72px);max-height:calc(100vh - 72px);padding:18px 0;grid-template-columns:258px minmax(0,1fr);gap:20px;overflow:hidden}
  body.teacher-oj .teacher-index{grid-row:1;grid-column:1;position:static;align-self:stretch;max-height:none;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  body.teacher-oj .oj-main{grid-column:2;min-width:0;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 18px 0}
}
body.teacher-oj>header{justify-content:space-between;gap:14px}
body.teacher-oj>header .oj-back{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #e3e7ef;border-radius:9px;background:#fff;color:#4e58b9;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
body.teacher-oj>header .oj-logo{display:block;flex:none;width:112px;height:auto}
body.teacher-oj>header h1{font-size:18px}
body.teacher-oj>header .search-container{min-width:180px;max-width:360px}
body.teacher-oj .oj-main>.chapter-card{display:none;margin:0;padding:22px;border:1px solid #e3e7ef;border-top:4px solid #41bbaa;border-radius:16px;background:#fff;box-shadow:0 12px 36px rgba(20,30,55,.07)}
body.teacher-oj .oj-main>.chapter-card.teacher-current{display:flex}
body.teacher-oj.algo-teacher .oj-main>.chapter-card{border-top-color:#6c78db}
body.teacher-oj .oj-overview{margin-bottom:16px;padding:26px;border:1px solid #e3e7ef;border-radius:16px;background:linear-gradient(135deg,#fff,#edfaf6);box-shadow:0 12px 36px rgba(20,30,55,.06)}
body.teacher-oj.algo-teacher .oj-overview{background:linear-gradient(135deg,#fff,#eff0ff)}
body.teacher-oj .oj-overview .oj-eyebrow{margin:0 0 8px;color:#08796b;font-size:12px;font-weight:900}
body.teacher-oj.algo-teacher .oj-overview .oj-eyebrow{color:#4e58b9}
body.teacher-oj .oj-overview h2{margin:0;font-size:clamp(25px,3vw,34px);color:#172033;line-height:1.3}
body.teacher-oj .oj-overview>p:not(.oj-eyebrow){margin:12px 0 17px;color:#566277;font-size:14px;line-height:1.75}
body.teacher-oj .oj-meta{display:flex;flex-wrap:wrap;gap:8px}
body.teacher-oj .oj-meta span{padding:7px 10px;border-radius:999px;background:#fff;color:#08796b;font-size:12px;font-weight:800}
body.teacher-oj.algo-teacher .oj-meta span{color:#4e58b9}
body.teacher-oj .teacher-index button[hidden]{display:none}
@media(max-width:900px){body.teacher-oj>header .oj-logo{display:none}body.teacher-oj>header h1{flex:1;font-size:17px}body.teacher-oj>header .search-container{flex:1 1 100%;max-width:none}body.teacher-oj .oj-main{min-width:0}body.teacher-oj .oj-overview{padding:18px}body.teacher-oj .oj-main>.chapter-card{padding:16px;margin-top:0}}
/* 目录和本章概览使用清晰字形，避免幼圆字体的复杂笔画粘连。 */
body.teacher-oj .teacher-index,body.teacher-oj .teacher-index button,body.teacher-oj .oj-overview,body.teacher-oj .oj-overview h2,body.teacher-oj>header h1,body.teacher-oj>header #searchBox{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif}
body.teacher-oj .teacher-index button span,body.teacher-oj .oj-meta span{font-weight:800;letter-spacing:0;line-height:1.55;-webkit-font-smoothing:antialiased}
