.yjsc,.yjsc *{box-sizing:border-box}
.yjsc{--navy:#123a52;--blue:#1975a2;--line:#dce5e9;--soft:#edf6f9;--muted:#6d7c84;max-width:1500px;margin:0 auto;background:#f5f8f9;color:#20323b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
.yjsc a{text-decoration:none}
.yjsc-head{min-height:96px;padding:18px 22px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.yjsc-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.8px;color:#4f8095}
.yjsc-head h1{margin:5px 0 2px;font-size:25px;line-height:1.2;color:var(--navy)}
.yjsc-head p{margin:0;color:var(--muted);font-size:13px}
.yjsc-progress{width:220px}.yjsc-progress>span{font-size:10px;color:var(--muted)}.yjsc-progress>strong{float:right;font-size:14px;color:var(--blue)}
.yjsc-progress>div{height:7px;margin-top:8px;background:#e5edef;clear:both}.yjsc-progress i{display:block;height:100%;background:#2d8cb4}
.yjsc-layout{display:grid;grid-template-columns:275px minmax(0,1fr);min-height:720px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.yjsc-sidebar{background:#fff;border-right:1px solid var(--line);min-width:0}
.yjsc-side-title{height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.yjsc-side-title strong{color:var(--navy);font-size:14px}.yjsc-side-title a{font-size:11px;color:var(--blue)}
.yjsc-lessons{max-height:calc(100vh - 180px);overflow:auto}
.yjsc-lessons a{display:grid;grid-template-columns:30px minmax(0,1fr) 38px;gap:8px;align-items:center;min-height:52px;padding:8px 12px;border-bottom:1px solid #eef2f3;color:#374a54}
.yjsc-lessons a:hover{background:#f7fafb}.yjsc-lessons a.active{background:var(--soft);border-left:4px solid var(--blue);padding-left:8px}
.yjsc-lessons span{font-size:10px;color:#86959c}.yjsc-lessons strong{font-size:12px;line-height:1.35;overflow:hidden}.yjsc-lessons em{font-style:normal;font-size:9px;color:#68818c;text-align:right}
.yjsc-main{padding:14px;min-width:0}
.yjsc-study{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr);gap:12px}
.yjsc-pane{background:#fff;border:1px solid var(--line);min-width:0}
.yjsc-pane-head{height:48px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.yjsc-pane-head b{display:block;font-size:13px;color:var(--navy)}.yjsc-pane-head small{display:block;margin-top:1px;font-size:9px;color:#8a979d}.yjsc-pane-head span{font-size:11px;color:#58727e}
.yjsc-pane-head button{border:1px solid #bfd0d8;background:#fff;color:#2d637b;padding:6px 10px;font-size:10px;cursor:pointer}
.yjsc-video-stage,.yjsc-book-stage{position:relative;background:#07131a;min-height:0}
.yjsc-video-stage{aspect-ratio:16/9}.yjsc-book-stage{aspect-ratio:3/4;background:#e9eef0}
.yjsc-video-stage iframe,.yjsc-video-stage video,.yjsc-book-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yjsc-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:20px;color:#78909b;background:#edf2f4}
.yjsc-empty b{font-size:14px;color:#4f6873}.yjsc-empty span{font-size:11px;line-height:1.5}
.yjsc-tools{margin-top:12px;background:#fff;border:1px solid var(--line)}
.yjsc-tabs{height:48px;display:flex;align-items:end;border-bottom:1px solid var(--line);padding:0 12px;gap:2px}
.yjsc-tabs button{height:47px;padding:0 18px;border:0;background:transparent;color:#667b85;font-weight:700;font-size:12px;cursor:pointer;border-bottom:3px solid transparent}
.yjsc-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}
.yjsc-tab-panel{display:none;padding:16px}.yjsc-tab-panel.active{display:block}
.yjsc-qna-form{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}
.yjsc-qna-form textarea{min-height:72px;resize:vertical;border:1px solid #cfdde3;padding:10px;font:inherit}.yjsc-qna-form button{border:0;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}
[data-yjsc-question-result]{min-height:20px;margin:7px 0;color:#2d718e;font-size:11px}
.yjsc-qna-list article{padding:12px 0;border-top:1px solid #edf1f3}.yjsc-qna-list article>div:first-child{display:flex;justify-content:space-between}.yjsc-qna-list b{font-size:11px;color:var(--navy)}.yjsc-qna-list time{font-size:9px;color:#99a4a9}
.yjsc-qna-list p{margin:6px 0;font-size:12px;line-height:1.6}.yjsc-answer{margin-top:8px;padding:10px;background:#f0f7f9;border-left:3px solid #76aabd}.yjsc-waiting{font-size:10px;color:#9b7a4f}
.yjsc-empty-small{padding:30px;text-align:center;color:#81929a;font-size:12px}
.yjsc-problem{padding:14px;border:1px solid #e0e7ea;margin-bottom:12px}.yjsc-problem h3{margin:0 0 10px;font-size:13px;color:var(--navy)}.yjsc-problem label{display:block;padding:8px 5px;font-size:12px}.yjsc-problem>button{margin-top:8px;border:0;background:#225d79;color:#fff;padding:8px 14px;font-weight:700;cursor:pointer}
.yjsc-problem-result{display:none;margin-top:8px;padding:9px;font-size:11px}.yjsc-problem-result.show{display:block}.yjsc-problem-result.correct{background:#eef8f1;color:#24643a}.yjsc-problem-result.wrong{background:#fff3f1;color:#87473e}
.yjsc-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.yjsc-info-grid>div{padding:12px;background:#f7f9fa}.yjsc-info-grid span{display:block;font-size:9px;color:#839198}.yjsc-info-grid b{display:block;margin-top:4px;font-size:12px}
.yjsc-safety-note{margin:14px 0 0;padding:10px 12px;background:#eff7f3;color:#35634b;font-size:11px;line-height:1.5}
.yjsc-course-grid{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.yjsc-course-grid a{min-height:130px;padding:18px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;color:inherit}.yjsc-course-grid span{font-size:9px;color:#7d939d}.yjsc-course-grid strong{margin-top:8px;font-size:16px;color:var(--navy)}.yjsc-course-grid em{margin-top:auto;font-style:normal;font-size:11px;color:var(--blue)}
.yjsc-notice{max-width:1180px;margin:20px auto;padding:18px;border:1px solid #dce5e9;background:#fff;color:#4b646f}.yjsc-error{border-color:#e1c9c9;color:#8b4c4c}
.yjsc-entry-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 18px;background:#176f98;color:#fff!important;font-weight:800}
@media(max-width:1050px){.yjsc-study{grid-template-columns:1fr}.yjsc-book-stage{aspect-ratio:16/10}.yjsc-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){.yjsc-head{align-items:flex-start;flex-direction:column}.yjsc-progress{width:100%}.yjsc-layout{grid-template-columns:1fr}.yjsc-sidebar{border-right:0;border-bottom:1px solid var(--line)}.yjsc-lessons{max-height:240px}.yjsc-main{padding:8px}.yjsc-course-grid{grid-template-columns:1fr}.yjsc-qna-form{grid-template-columns:1fr}.yjsc-qna-form button{min-height:42px}.yjsc-info-grid{grid-template-columns:1fr}}

/* V0.1.2 — 강좌 선택 및 실제 강의실 본체 시각화 */
.yjsc-course-grid a{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.yjsc-course-grid a:hover{
  transform:translateY(-2px);
  border-color:#b9d3df;
  box-shadow:0 10px 26px rgba(26,76,99,.08);
}
.yjsc-course-grid a .yjsc-course-no{
  position:absolute;
  right:16px;
  top:12px;
  font-size:28px;
  font-weight:900;
  line-height:1;
  color:#e0edf2;
}
.yjsc-course-grid a small{
  margin-top:8px;
  font-size:10px;
  color:#7b8d96;
}
.yjsc-course-grid a em{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #edf2f4;
}
.yjsc-course-grid a em b{
  font-size:18px;
  font-weight:500;
}
.yjsc-room-toolbar{
  min-height:52px;
  margin-bottom:10px;
  padding:8px 12px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.yjsc-room-toolbar b{
  display:block;
  font-size:12px;
  color:var(--navy);
}
.yjsc-room-toolbar>div>span{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:#80919a;
}
.yjsc-room-badges{
  display:flex!important;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.yjsc-room-badges span{
  margin:0!important;
  padding:4px 7px;
  border:1px solid #d2e1e7;
  background:#f7fbfc;
  color:#477185!important;
  font-size:8px!important;
  font-weight:800;
  letter-spacing:.3px;
}
.yjsc-empty{
  gap:7px;
}
.yjsc-empty .yjsc-empty-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbdce3;
  background:#f8fbfc;
  color:#527b8e;
  font-size:19px;
}
.yjsc-empty small{
  max-width:280px;
  color:#9aa8ae;
  font-size:9px;
  line-height:1.5;
}
.yjsc-empty-video{
  background:#0d1c24;
  color:#b9c9d0;
}
.yjsc-empty-video b{color:#edf5f8}
.yjsc-empty-video .yjsc-empty-icon{
  border-color:#35505d;
  background:#152a34;
  color:#dcebf1;
}
.yjsc-empty-book{
  background:#eef2f3;
}
@media(max-width:760px){
  .yjsc-room-toolbar{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V0.1.3 나의강의실 기본 포맷
   - 좌측: 구매강좌목록 / 장바구니 / 주문·배송조회 / 게시글 관리 / 회원정보
   - 우측: 선택한 메뉴 내용
   ========================================================= */
.yjsc-mypage{
  max-width:1180px;
  margin:0 auto;
  background:#f6f8f9;
}
.yjsc-mypage-head{
  min-height:108px;
  padding:20px 24px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.yjsc-mypage-head h1{
  margin:5px 0 3px;
  font-size:26px;
  line-height:1.2;
  color:var(--navy);
}
.yjsc-mypage-head p{
  margin:0;
  font-size:12px;
  color:var(--muted);
}
.yjsc-mypage-status{
  min-width:110px;
  padding:11px 14px;
  border:1px solid #dce7eb;
  background:#f8fbfc;
  text-align:center;
}
.yjsc-mypage-status span{
  display:block;
  font-size:9px;
  color:#7e929b;
}
.yjsc-mypage-status strong{
  display:block;
  margin-top:3px;
  font-size:22px;
  color:var(--navy);
}
.yjsc-mypage-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:14px;
  margin-top:14px;
}
.yjsc-account-menu{
  min-height:620px;
  background:#fff;
  border:1px solid var(--line);
}
.yjsc-account-title{
  padding:18px 16px 15px;
  border-bottom:1px solid var(--line);
}
.yjsc-account-title b{
  display:block;
  font-size:17px;
  color:var(--navy);
}
.yjsc-account-title span{
  display:block;
  margin-top:3px;
  font-size:8px;
  letter-spacing:.7px;
  color:#93a3aa;
}
.yjsc-account-menu nav{
  padding:6px 0;
}
.yjsc-account-link{
  min-height:50px;
  padding:0 13px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 16px;
  align-items:center;
  gap:8px;
  border-left:3px solid transparent;
  border-bottom:1px solid #f0f3f4;
  color:#536872;
}
.yjsc-account-link:hover{
  background:#f7fafb;
}
.yjsc-account-link.active{
  background:#eaf4f8;
  border-left-color:#277fa6;
  color:#174f69;
}
.yjsc-account-link i{
  font-style:normal;
  font-size:15px;
  color:#7a98a6;
  text-align:center;
}
.yjsc-account-link b{
  font-size:12px;
  font-weight:700;
}
.yjsc-account-link em{
  font-style:normal;
  font-size:16px;
  color:#9aabb2;
  text-align:right;
}
.yjsc-account-link.disabled{
  opacity:.48;
  cursor:default;
}
.yjsc-account-link.disabled em{
  font-size:8px;
}
.yjsc-account-help{
  margin:16px 12px 12px;
  padding:12px;
  background:#f7fafb;
  border:1px solid #e4ecef;
}
.yjsc-account-help b{
  display:block;
  font-size:10px;
  color:#466b7b;
}
.yjsc-account-help span{
  display:block;
  margin-top:5px;
  font-size:9px;
  line-height:1.55;
  color:#87969d;
}
.yjsc-account-content{
  min-width:0;
}
.yjsc-account-section{
  min-height:620px;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
}
.yjsc-account-section-head{
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.yjsc-account-section-head span{
  display:block;
  font-size:8px;
  letter-spacing:.7px;
  color:#7594a2;
  font-weight:800;
}
.yjsc-account-section-head h2{
  margin:4px 0 3px;
  font-size:20px;
  color:var(--navy);
}
.yjsc-account-section-head p{
  margin:0;
  font-size:10px;
  color:#8a989e;
}
.yjsc-account-section-head>strong{
  font-size:13px;
  color:#2c7593;
}
.yjsc-purchased-list{
  margin-top:12px;
}
.yjsc-purchased-card{
  position:relative;
  min-height:116px;
  padding:15px 15px 15px 64px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px;
  align-items:center;
  gap:16px;
  border:1px solid #e2e9ec;
  background:#fff;
  margin-bottom:9px;
}
.yjsc-purchased-card:hover{
  border-color:#bdd4df;
  background:#fbfdfe;
}
.yjsc-purchased-index{
  position:absolute;
  left:16px;
  top:20px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#edf5f8;
  color:#397996;
  font-size:11px;
  font-weight:800;
}
.yjsc-purchased-info>span{
  display:block;
  font-size:8px;
  color:#7e98a4;
  font-weight:800;
  letter-spacing:.5px;
}
.yjsc-purchased-info h3{
  margin:4px 0 3px;
  font-size:15px;
  color:#173f55;
}
.yjsc-purchased-info>p{
  margin:0;
  font-size:10px;
  color:#85949a;
}
.yjsc-course-progress{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
}
.yjsc-course-progress>div{
  width:150px;
  max-width:55%;
  height:6px;
  background:#e9eff1;
}
.yjsc-course-progress i{
  display:block;
  height:100%;
  background:#4b94b2;
}
.yjsc-course-progress b{
  font-size:9px;
  color:#4c7384;
}
.yjsc-purchased-action{
  text-align:right;
}
.yjsc-purchased-action a{
  display:inline-flex;
  min-width:108px;
  min-height:38px;
  align-items:center;
  justify-content:center;
  border:1px solid #246f91;
  background:#246f91;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.yjsc-purchased-action a:hover{
  background:#1d5e7a;
}
.yjsc-readonly-note{
  margin:14px 0 0;
  padding:10px 12px;
  background:#f1f7f4;
  border:1px solid #dcebe3;
  color:#52725f;
  font-size:9px;
  line-height:1.5;
}
.yjsc-account-empty{
  min-height:180px;
  margin-top:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed #ccd9de;
  background:#fafcfc;
  text-align:center;
}
.yjsc-account-empty b{
  font-size:13px;
  color:#536d79;
}
.yjsc-account-empty span{
  margin-top:6px;
  font-size:10px;
  color:#8b9aa1;
}
.yjsc-post-list{
  margin-top:12px;
}
.yjsc-post-list article{
  padding:13px 4px;
  border-bottom:1px solid #edf1f3;
}
.yjsc-post-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.yjsc-post-meta span{
  font-size:9px;
  color:#66899a;
}
.yjsc-post-meta time{
  font-size:9px;
  color:#a0aaaf;
}
.yjsc-post-list h3{
  margin:5px 0 4px;
  font-size:12px;
  color:#334d59;
}
.yjsc-post-list p{
  margin:0;
  font-size:9px;
  color:#7a8d96;
}
@media(max-width:760px){
  .yjsc-mypage-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .yjsc-mypage-status{
    width:100%;
  }
  .yjsc-mypage-layout{
    grid-template-columns:1fr;
  }
  .yjsc-account-menu{
    min-height:auto;
  }
  .yjsc-account-menu nav{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .yjsc-account-link{
    border-left:0;
    border-bottom:1px solid #edf1f3;
  }
  .yjsc-account-link.active{
    border-left:0;
    border-bottom:3px solid #277fa6;
  }
  .yjsc-account-help{
    display:none;
  }
  .yjsc-purchased-card{
    grid-template-columns:1fr;
    padding-right:15px;
  }
  .yjsc-purchased-action{
    text-align:left;
  }
}


/* =========================================================
   V0.1.4 — 중복 제거 + 대시보드 카드 + 3단계 서브메뉴
   ========================================================= */
.yjsc-mypage-layout{
  grid-template-columns:230px minmax(0,1fr);
}
.yjsc-account-menu{
  padding-top:0;
}
.yjsc-account-title{
  display:none!important;
}

/* 좌측 메뉴 */
.yjsc-account-nav{
  display:block;
  padding:0;
}
.yjsc-menu-group{
  border-bottom:1px solid #edf1f3;
}
.yjsc-menu-parent,
.yjsc-menu-single{
  min-height:49px;
  padding:0 14px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 16px;
  align-items:center;
  gap:8px;
  color:#435d69;
}
.yjsc-menu-parent{
  grid-template-columns:24px minmax(0,1fr);
  background:#fff;
}
.yjsc-menu-group.active>.yjsc-menu-parent{
  color:#175c7a;
  background:#f5fafc;
}
.yjsc-menu-parent i,
.yjsc-menu-single i{
  font-style:normal;
  color:#7594a2;
  text-align:center;
}
.yjsc-menu-parent b,
.yjsc-menu-single b{
  font-size:12px;
  font-weight:800;
}
.yjsc-menu-single em{
  font-style:normal;
  text-align:right;
  color:#91a6af;
}
.yjsc-menu-single:hover,
.yjsc-menu-single.active{
  background:#e9f4f8;
  color:#164f69;
}
.yjsc-submenu{
  padding:0 0 7px 0;
  background:#fafcfd;
}
.yjsc-submenu a{
  min-height:34px;
  padding:0 14px 0 46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#6b7f88;
  font-size:10px;
  border-left:3px solid transparent;
}
.yjsc-submenu a:hover{
  background:#f0f6f8;
  color:#2a6076;
}
.yjsc-submenu a.active{
  background:#e4f1f6;
  border-left-color:#3187aa;
  color:#154f69;
  font-weight:800;
}
.yjsc-submenu em{
  font-style:normal;
  color:#9babb2;
}

/* 첫 화면 2개 핵심 박스 */
.yjsc-dashboard-cards{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:12px;
  margin-bottom:12px;
}
.yjsc-summary-card{
  position:relative;
  min-height:210px;
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
}
.yjsc-summary-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#edf6f9;
  color:#286d8a;
  border:1px solid #d3e5ec;
  font-size:16px;
  margin-bottom:13px;
}
.yjsc-summary-body>span{
  display:block;
  color:#7393a1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.8px;
}
.yjsc-summary-body h3{
  margin:4px 0 10px;
  color:#143f55;
  font-size:19px;
}
.yjsc-today-items p{
  margin:4px 0;
  color:#4a5f69;
  font-size:11px;
}
.yjsc-today-items small{
  color:#84969e;
  font-size:9px;
}
.yjsc-summary-empty{
  min-height:42px;
  margin:6px 0;
  color:#87969d;
  font-size:11px;
}
.yjsc-summary-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #edf1f3;
}
.yjsc-summary-meta span{
  color:#83949c;
  font-size:9px;
}
.yjsc-summary-meta strong{
  color:#184f68;
  font-size:12px;
}
.yjsc-summary-mainlink{
  position:absolute;
  left:20px;
  right:20px;
  bottom:15px;
  min-height:38px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#1e6685;
  color:#fff!important;
  font-size:10px;
  font-weight:800;
}
.yjsc-cart-count{
  min-height:42px;
  margin:8px 0;
  color:#657780;
  font-size:11px;
}
.yjsc-cart-count strong{
  color:#1a5872;
  font-size:24px;
  margin-right:3px;
}
.yjsc-cart-actions{
  position:absolute;
  left:20px;
  right:20px;
  bottom:15px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.yjsc-cart-actions a{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #bfd1d9;
  color:#476d7d;
  font-size:10px;
  font-weight:800;
}
.yjsc-cart-actions a.primary{
  background:#1e6685;
  border-color:#1e6685;
  color:#fff;
}

/* 구매강좌 카드 — 사용자가 제시한 이미지+설명형 구조 */
.yjsc-purchased-card-v2{
  min-height:150px;
  padding:12px;
  display:grid;
  grid-template-columns:160px minmax(0,1fr) 116px;
  gap:14px;
}
.yjsc-purchased-card-v2 .yjsc-purchased-index{
  display:none;
}
.yjsc-course-thumb{
  width:160px;
  height:124px;
  background:#f1f3f4;
  border:1px solid #dce4e7;
  overflow:hidden;
}
.yjsc-course-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.yjsc-course-thumb-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8f9f9;
  color:#78868c;
  font-size:15px;
}
.yjsc-purchased-card-v2 .yjsc-purchased-info h3{
  margin-top:4px;
  font-size:15px;
}
.yjsc-purchased-card-v2 .yjsc-purchased-info>p{
  min-height:30px;
  margin-top:5px;
  line-height:1.55;
}
.yjsc-course-meta-row{
  margin-top:7px;
  display:flex;
  align-items:center;
  gap:12px;
}
.yjsc-course-meta-row span{
  color:#7a8d96;
  font-size:9px;
}
.yjsc-course-meta-row b{
  color:#2f7557;
  font-size:9px;
}

/* 주문 / 수료증 / 프로필 / 출석 */
.yjsc-order-list article,
.yjsc-certificate-list article{
  min-height:76px;
  padding:12px 4px;
  border-bottom:1px solid #edf1f3;
  position:relative;
}
.yjsc-order-list article>div,
.yjsc-certificate-list article>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.yjsc-order-list span,
.yjsc-certificate-list span{
  color:#6b8794;
  font-size:9px;
}
.yjsc-order-list h3{
  margin:5px 0 3px;
  color:#425c67;
  font-size:11px;
}
.yjsc-order-list p{
  margin:0;
  color:#193f52;
  font-size:12px;
  font-weight:800;
}
.yjsc-order-list a{
  position:absolute;
  right:3px;
  bottom:13px;
  color:#2b7594;
  font-size:9px;
}
.yjsc-certificate-list article>a,
.yjsc-certificate-list article>em{
  display:inline-block;
  margin-top:8px;
  font-size:9px;
  font-style:normal;
}
.yjsc-certificate-list article>a{
  color:#fff;
  background:#246b89;
  padding:7px 10px;
}
.yjsc-certificate-list article>em{
  color:#8b999f;
}
.yjsc-profile-card{
  margin-top:14px;
  max-width:650px;
  border:1px solid #e0e7ea;
}
.yjsc-profile-card>div{
  min-height:52px;
  padding:10px 14px;
  border-bottom:1px solid #edf1f3;
}
.yjsc-profile-card span{
  display:block;
  color:#89989f;
  font-size:9px;
}
.yjsc-profile-card b{
  display:block;
  margin-top:3px;
  color:#405762;
  font-size:12px;
}
.yjsc-profile-card>a{
  margin:14px;
  min-height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  background:#1f6685;
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.yjsc-attendance-list article{
  padding:13px 4px;
  border-bottom:1px solid #edf1f3;
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px 44px;
  gap:12px;
  align-items:center;
}
.yjsc-attendance-list article>div:first-child b{
  display:block;
  color:#354f5c;
  font-size:11px;
}
.yjsc-attendance-list article>div:first-child span{
  display:block;
  margin-top:3px;
  color:#89989f;
  font-size:9px;
}
.yjsc-attendance-bar{
  height:7px;
  background:#e8eef0;
}
.yjsc-attendance-bar i{
  display:block;
  height:100%;
  background:#438dac;
}
.yjsc-attendance-list strong{
  color:#477184;
  font-size:10px;
  text-align:right;
}
.yjsc-safe-pending,
.yjsc-withdraw-safe{
  margin-top:14px;
  padding:18px;
  border:1px solid #dbe6ea;
  background:#f8fbfc;
}
.yjsc-safe-pending b,
.yjsc-withdraw-safe b{
  color:#335d70;
  font-size:12px;
}
.yjsc-safe-pending p,
.yjsc-withdraw-safe p{
  margin:7px 0 0;
  color:#758890;
  font-size:10px;
  line-height:1.7;
}
.yjsc-withdraw-safe{
  border-color:#eadfce;
  background:#fffaf2;
}

/* 모바일 */
@media(max-width:900px){
  .yjsc-dashboard-cards{grid-template-columns:1fr}
  .yjsc-purchased-card-v2{
    grid-template-columns:130px minmax(0,1fr);
  }
  .yjsc-purchased-card-v2 .yjsc-purchased-action{
    grid-column:1/-1;
  }
  .yjsc-course-thumb{width:130px;height:105px}
}
@media(max-width:760px){
  .yjsc-mypage-layout{grid-template-columns:1fr}
  .yjsc-account-menu{min-height:auto}
  .yjsc-account-nav{display:block}
  .yjsc-menu-parent,.yjsc-menu-single{min-height:44px}
  .yjsc-submenu{display:grid;grid-template-columns:1fr 1fr}
  .yjsc-submenu a{padding-left:38px}
  .yjsc-purchased-card-v2{grid-template-columns:1fr}
  .yjsc-course-thumb{width:100%;height:180px}
  .yjsc-attendance-list article{grid-template-columns:1fr}
  .yjsc-attendance-list strong{text-align:left}
}


/* =========================================================
   V0.1.5 — 첫화면 조건부 오늘구매 4열 카드 + 장바구니 다음줄
   ========================================================= */
.yjsc-home-title-link{
  color:inherit!important;
  text-decoration:none!important;
}

/* 첫 화면 하이라이트는 데이터가 있을 때만 PHP에서 렌더링 */
.yjsc-home-highlights{
  margin-bottom:12px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
}
.yjsc-highlight-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #edf1f3;
}
.yjsc-highlight-heading span{
  display:block;
  font-size:8px;
  font-weight:900;
  letter-spacing:.8px;
  color:#6c93a5;
}
.yjsc-highlight-heading h2{
  margin:3px 0 0;
  font-size:18px;
  color:#143f55;
}
.yjsc-highlight-heading>strong{
  font-size:11px;
  color:#4f7d91;
}

/* 데스크톱 기준 한 줄 4칸 */
.yjsc-today-course-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.yjsc-today-course-card{
  min-width:0;
  min-height:340px;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #dce4e7;
  color:inherit!important;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.yjsc-today-course-card:hover{
  border-color:#b8d1dc;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(32,83,105,.07);
}
.yjsc-today-image{
  position:relative;
  width:100%;
  aspect-ratio:16/8.5;
  overflow:hidden;
  background:#e8edef;
}
.yjsc-today-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.yjsc-today-image-empty{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef2f3;
  color:#7f8d93;
  font-size:12px;
}
.yjsc-today-badge{
  position:absolute;
  left:10px;
  top:10px;
  padding:5px 8px;
  background:#fff;
  color:#1f7398;
  font-size:7px;
  font-weight:900;
  letter-spacing:.7px;
}
.yjsc-today-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:14px 15px 12px;
}
.yjsc-today-category{
  display:block;
  color:#19739a;
  font-size:8px;
  font-weight:800;
}
.yjsc-today-card-body h3{
  margin:7px 0 0;
  color:#14384d;
  font-size:15px;
  line-height:1.35;
}
.yjsc-today-card-body p{
  margin:14px 0 16px;
  color:#758891;
  font-size:10px;
  line-height:1.75;
}
.yjsc-today-card-link{
  margin-top:auto;
  min-height:39px;
  padding-top:11px;
  border-top:1px solid #e7edef;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#365f72;
}
.yjsc-today-card-link b{
  font-size:9px;
}
.yjsc-today-card-link em{
  color:#1680aa;
  font-size:17px;
  font-style:normal;
}

/* 장바구니는 구매카드 그리드 아래 새로운 줄에만 표시 */
.yjsc-cart-row{
  margin-top:12px;
}
.yjsc-cart-wide-card{
  min-height:100px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 150px 230px;
  gap:14px;
  align-items:center;
  border:1px solid #dce4e7;
  background:#f9fbfc;
}
.yjsc-cart-wide-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eaf4f8;
  color:#287695;
  border:1px solid #d2e3ea;
}
.yjsc-cart-wide-info>span,
.yjsc-cart-wide-total>span{
  display:block;
  color:#79909b;
  font-size:8px;
  letter-spacing:.5px;
  font-weight:800;
}
.yjsc-cart-wide-info h3{
  margin:3px 0 4px;
  color:#153f54;
  font-size:15px;
}
.yjsc-cart-wide-info p{
  margin:0;
  color:#75868e;
  font-size:10px;
}
.yjsc-cart-wide-info p strong{
  color:#1c6381;
  font-size:15px;
}
.yjsc-cart-wide-total strong{
  display:block;
  margin-top:4px;
  color:#173f53;
  font-size:13px;
}
.yjsc-cart-wide-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.yjsc-cart-wide-actions a{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #bfd0d8;
  background:#fff;
  color:#456d7e;
  font-size:9px;
  font-weight:800;
}
.yjsc-cart-wide-actions a.primary{
  background:#1e6685;
  border-color:#1e6685;
  color:#fff;
}

/* V0.1.4의 2분할 요약박스는 더 이상 사용하지 않음 */
.yjsc-dashboard-cards{display:none!important}

/* 첫 화면에서 구매목록은 하이라이트 아래에 자연스럽게 이어짐 */
.yjsc-home-highlights + .yjsc-purchased-section{
  margin-top:0;
}

/* 반응형 */
@media(max-width:1100px){
  .yjsc-today-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .yjsc-cart-wide-card{grid-template-columns:48px minmax(0,1fr) 140px}
  .yjsc-cart-wide-actions{grid-column:1/-1}
}
@media(max-width:700px){
  .yjsc-today-course-grid{grid-template-columns:1fr}
  .yjsc-today-course-card{min-height:310px}
  .yjsc-cart-wide-card{grid-template-columns:42px minmax(0,1fr)}
  .yjsc-cart-wide-total{grid-column:2}
  .yjsc-cart-wide-actions{grid-column:1/-1}
}


/* =========================================================
   V0.1.6 — 최근학습 이어보기 + TEST 4강좌/4장바구니
   ========================================================= */
.yjsc-mypage-head{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(330px,1.45fr) 110px;
  align-items:center;
}
.yjsc-mypage-identity{
  min-width:0;
}
.yjsc-recent-learning{
  min-width:0;
  min-height:72px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  background:#edf6fa;
  border:1px solid #cfe2eb;
  border-left:4px solid #2b83aa;
}
.yjsc-recent-icon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#237a9f;
  border:1px solid #c8dfe8;
  font-size:13px;
}
.yjsc-recent-text{
  min-width:0;
}
.yjsc-recent-label{
  display:flex;
  align-items:center;
  gap:6px;
}
.yjsc-recent-label span{
  color:#4c7f95;
  font-size:8px;
  font-weight:900;
  letter-spacing:.5px;
}
.yjsc-recent-label em{
  padding:2px 4px;
  background:#fff;
  border:1px solid #bcd6e1;
  color:#3182a3;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}
.yjsc-recent-text b{
  display:block;
  margin-top:3px;
  color:#153f55;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-recent-text p{
  margin:2px 0 0;
  color:#657e89;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-recent-learning>a{
  min-height:36px;
  padding:0 11px;
  display:flex;
  align-items:center;
  gap:8px;
  background:#1d6c8d;
  color:#fff!important;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.yjsc-recent-learning>a strong{
  font-size:14px;
}

/* TEST chip */
.yjsc-test-chip{
  display:inline-flex;
  vertical-align:middle;
  margin-left:5px;
  padding:3px 5px;
  border:1px solid #c8dbe3;
  background:#f6fbfd;
  color:#3a7e9c;
  font-size:7px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.3px;
}

/* 장바구니는 오늘구매 4칸 다음 줄에 별도 4칸 */
.yjsc-cart-section{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e5ecef;
}
.yjsc-cart-heading{
  margin-bottom:10px;
}
.yjsc-cart-item-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.yjsc-cart-item-card{
  position:relative;
  min-height:126px;
  padding:16px 13px 13px;
  display:flex;
  flex-direction:column;
  border:1px solid #dce4e7;
  background:#fbfcfd;
  color:inherit!important;
}
.yjsc-cart-item-card:hover{
  border-color:#b9d2dc;
  background:#f7fbfc;
}
.yjsc-cart-item-no{
  color:#b6c9d1;
  font-size:20px;
  font-weight:900;
  line-height:1;
}
.yjsc-cart-item-card b{
  margin-top:9px;
  color:#294b5b;
  font-size:11px;
  line-height:1.4;
}
.yjsc-cart-item-card p{
  margin:5px 0 0;
  color:#1d6684;
  font-size:11px;
  font-weight:800;
}
.yjsc-cart-item-card em{
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid #e7edef;
  color:#557583;
  font-size:8px;
  font-style:normal;
  font-weight:800;
}
.yjsc-cart-checkout-bar{
  min-height:64px;
  margin-top:10px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#f3f8fa;
  border:1px solid #dce8ed;
}
.yjsc-cart-checkout-bar>div:first-child span{
  display:block;
  color:#7d929b;
  font-size:8px;
}
.yjsc-cart-checkout-bar>div:first-child strong{
  display:block;
  margin-top:3px;
  color:#173f54;
  font-size:13px;
}
.yjsc-cart-checkout-bar>div:last-child{
  display:flex;
  gap:6px;
}
.yjsc-cart-checkout-bar a{
  min-height:36px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #bfd1da;
  background:#fff;
  color:#496f7f;
  font-size:9px;
  font-weight:800;
}
.yjsc-cart-checkout-bar a.primary{
  background:#1e6685;
  border-color:#1e6685;
  color:#fff;
}

@media(max-width:1050px){
  .yjsc-mypage-head{
    grid-template-columns:1fr 1.4fr;
  }
  .yjsc-mypage-status{
    grid-column:1/-1;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
  }
  .yjsc-cart-item-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .yjsc-mypage-head{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .yjsc-recent-learning{
    grid-template-columns:36px minmax(0,1fr);
  }
  .yjsc-recent-learning>a{
    grid-column:1/-1;
    justify-content:center;
  }
  .yjsc-cart-item-grid{
    grid-template-columns:1fr;
  }
  .yjsc-cart-checkout-bar{
    flex-direction:column;
    align-items:stretch;
  }
  .yjsc-cart-checkout-bar>div:last-child{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   V0.1.7 — 상단 수강중강좌 제거, 최근 Q&A 요약으로 교체
   ========================================================= */
.yjsc-mypage-head{
  grid-template-columns:minmax(210px,.72fr) minmax(340px,1.25fr) minmax(250px,.85fr);
}
.yjsc-mypage-status{
  display:none!important;
}

.yjsc-qna-header{
  min-width:0;
  min-height:78px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid #d6e4ea;
  border-left:4px solid #4f8ba5;
  background:#f8fbfc;
  color:inherit!important;
  text-decoration:none!important;
}
.yjsc-qna-header:hover{
  background:#f1f8fa;
  border-color:#c5dce6;
}
.yjsc-qna-header-label{
  display:block;
  color:#4e8197;
  font-size:8px;
  font-weight:900;
  letter-spacing:.4px;
}
.yjsc-qna-header>b{
  display:block;
  margin-top:3px;
  color:#153f55;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-qna-header>small{
  display:block;
  margin-top:1px;
  color:#66808b;
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-qna-header>p{
  margin:5px 0 0;
  color:#6f828b;
  font-size:9px;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-qna-header>em{
  margin-top:5px;
  color:#287899;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.yjsc-qna-header-empty{
  border-left-color:#a8bac2;
}

/* 내질문과 답변: 질문/답변 동시 노출 카드 */
.yjsc-myqna-list{
  margin-top:12px;
}
.yjsc-myqna-card{
  margin-bottom:10px;
  border:1px solid #dce5e9;
  background:#fff;
}
.yjsc-myqna-card.open{
  border-color:#a8cad8;
  box-shadow:0 5px 18px rgba(37,91,113,.06);
}
.yjsc-myqna-summary{
  width:100%;
  padding:0;
  display:grid;
  grid-template-columns:170px minmax(0,1fr) 92px;
  align-items:stretch;
  border:0;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.yjsc-myqna-summary:hover{
  background:#fbfdfe;
}
.yjsc-myqna-context{
  padding:14px 13px;
  border-right:1px solid #edf1f3;
  background:#f7fafb;
}
.yjsc-myqna-context span{
  display:block;
  color:#4f7c91;
  font-size:9px;
  font-weight:800;
}
.yjsc-myqna-context strong{
  display:block;
  margin-top:5px;
  color:#1d485c;
  font-size:11px;
  line-height:1.45;
}
.yjsc-myqna-preview{
  min-width:0;
  padding:11px 14px;
}
.yjsc-myqna-q,
.yjsc-myqna-a{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.yjsc-myqna-a{
  margin-top:6px;
  padding-top:6px;
  border-top:1px dashed #e3e9ec;
}
.yjsc-myqna-q>b,
.yjsc-myqna-a>b{
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c9dce4;
  background:#eef6f9;
  color:#257393;
  font-size:10px;
}
.yjsc-myqna-a>b{
  background:#f1f7f3;
  border-color:#d0e1d5;
  color:#3d7654;
}
.yjsc-myqna-q p,
.yjsc-myqna-a p{
  margin:2px 0 0;
  color:#536b76;
  font-size:10px;
  line-height:1.5;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.yjsc-myqna-state{
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  border-left:1px solid #edf1f3;
}
.yjsc-myqna-state span{
  padding:4px 6px;
  font-size:8px;
  font-weight:800;
}
.yjsc-myqna-state span.answered{
  background:#eef7f1;
  color:#397052;
}
.yjsc-myqna-state span.waiting{
  background:#fff7ec;
  color:#8b6a3b;
}
.yjsc-myqna-state em{
  color:#547a8b;
  font-size:8px;
  font-style:normal;
}

.yjsc-myqna-detail{
  padding:15px 16px 16px;
  border-top:1px solid #dce7eb;
  background:#f9fbfc;
}
.yjsc-myqna-detail[hidden]{
  display:none!important;
}
.yjsc-myqna-detail-head{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:11px;
  color:#78909b;
  font-size:9px;
}
.yjsc-myqna-detail-head time{
  margin-left:auto;
  color:#9aa8ae;
}
.yjsc-myqna-full-question,
.yjsc-myqna-full-answer{
  padding:13px 14px;
  border:1px solid #dfe7ea;
  background:#fff;
}
.yjsc-myqna-full-answer{
  margin-top:8px;
  background:#f3f8f5;
  border-color:#d7e6dc;
}
.yjsc-myqna-full-question>b,
.yjsc-myqna-full-answer>b{
  display:block;
  color:#1e607d;
  font-size:10px;
}
.yjsc-myqna-full-answer>b{
  color:#3d7654;
}
.yjsc-myqna-full-question p,
.yjsc-myqna-full-answer p{
  margin:7px 0 0;
  color:#465e69;
  font-size:11px;
  line-height:1.75;
}
.yjsc-myqna-full-answer .waiting-text{
  color:#8d795d;
}
.yjsc-qna-return-course{
  display:inline-flex;
  min-height:36px;
  margin-top:10px;
  padding:0 12px;
  align-items:center;
  background:#1e6685;
  color:#fff!important;
  font-size:9px;
  font-weight:800;
}

@media(max-width:1050px){
  .yjsc-mypage-head{
    grid-template-columns:1fr 1fr;
  }
  .yjsc-qna-header{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .yjsc-myqna-summary{
    grid-template-columns:1fr;
  }
  .yjsc-myqna-context{
    border-right:0;
    border-bottom:1px solid #edf1f3;
  }
  .yjsc-myqna-state{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    border-left:0;
    border-top:1px solid #edf1f3;
  }
  .yjsc-myqna-q p,
  .yjsc-myqna-a p{
    white-space:normal;
  }
}


/* =========================================================
   V0.1.8 — 내질문답변 / 최근학습 위치 교체 + 이전 Q&A 샘플
   ========================================================= */
.yjsc-mypage-head{
  grid-template-columns:minmax(210px,.72fr) minmax(390px,1.45fr) minmax(300px,1fr);
}

/* 가운데: 내 질문과 답변 */
.yjsc-qna-header{
  order:2;
  min-height:84px;
  background:#eef7fa;
  border-left-color:#257da2;
}
.yjsc-qna-header>p{
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 오른쪽: 최근 학습 / 이어보기 */
.yjsc-recent-learning{
  order:3;
  min-height:84px;
  background:#f7fafb;
  border-left-color:#8eacb9;
}
.yjsc-recent-learning>a{
  background:#2d708d;
}
.yjsc-inline-test{
  display:inline-flex;
  margin-left:4px;
  padding:2px 4px;
  border:1px solid #bfd6e0;
  background:#fff;
  color:#2c7c9c;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}
.yjsc-qna-demo-note{
  display:inline-block;
  margin-top:10px;
  padding:8px 10px;
  background:#fff8eb;
  border:1px solid #eadbbf;
  color:#806842;
  font-size:9px;
}
@media(max-width:1120px){
  .yjsc-mypage-head{grid-template-columns:1fr 1fr}
  .yjsc-mypage-identity{grid-column:1/-1}
}
@media(max-width:760px){
  .yjsc-qna-header,.yjsc-recent-learning{width:100%}
}


/* =========================================================
   V0.1.9 — 상단 박스 세로선 정렬 + 높이 균형
   기능 로직 변경 없음 / CSS 전용 수정
   ========================================================= */

/*
 * 아래 본문:
 * 230px 좌측 메뉴 + 14px 간격 + 우측 본문
 * 상단도 같은 기준선을 사용하여 세로줄을 정확히 맞춤.
 */
.yjsc-mypage-head{
  min-height:96px;
  padding:12px 0;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 292px;
  column-gap:14px;
  align-items:center;
}

/* 좌측 제목은 본문 좌측 메뉴 폭과 동일한 230px 안에서 정렬 */
.yjsc-mypage-identity{
  min-width:0;
  padding:0 18px;
}

/* 가운데 내 질문과 답변 — 높이를 줄이고 한눈에 읽히도록 압축 */
.yjsc-qna-header{
  order:2;
  width:100%;
  height:70px;
  min-height:70px;
  padding:7px 11px;
  justify-content:center;
  overflow:hidden;
  background:#eef7fa;
}

.yjsc-qna-header-label{
  font-size:7px;
  line-height:1.15;
}

.yjsc-qna-header>b{
  margin-top:2px;
  font-size:10px;
  line-height:1.2;
}

.yjsc-qna-header>small{
  margin-top:0;
  font-size:8px;
  line-height:1.15;
}

.yjsc-qna-header>p{
  margin:3px 0 0;
  font-size:8px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
}

/* 박스 전체가 클릭 가능하므로 별도의 큰 링크 문구는 작게 정리 */
.yjsc-qna-header>em{
  margin-top:2px;
  font-size:7px;
  line-height:1;
}

/* 오른쪽 최근학습 박스도 Q&A와 정확히 같은 높이 */
.yjsc-recent-learning{
  order:3;
  width:100%;
  height:70px;
  min-height:70px;
  padding:7px 9px;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:8px;
  overflow:hidden;
}

.yjsc-recent-icon{
  width:30px;
  height:30px;
  font-size:11px;
}

.yjsc-recent-label span{
  font-size:7px;
}

.yjsc-recent-label em{
  padding:1px 3px;
  font-size:6px;
}

.yjsc-recent-text b{
  margin-top:2px;
  font-size:10px;
  line-height:1.2;
}

.yjsc-recent-text p{
  margin-top:1px;
  font-size:8px;
  line-height:1.2;
}

.yjsc-recent-learning>a{
  min-height:32px;
  padding:0 9px;
  font-size:8px;
}

.yjsc-recent-learning>a strong{
  font-size:12px;
}

/* 아래 본문과 상단 박스의 좌우 외곽선을 동일하게 유지 */
.yjsc-mypage-layout{
  grid-template-columns:230px minmax(0,1fr);
  gap:14px;
}

/* 중간 화면 */
@media(max-width:1050px){
  .yjsc-mypage-head{
    padding:12px 14px;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .yjsc-mypage-identity{
    grid-column:1/-1;
    padding:0;
  }
  .yjsc-qna-header,
  .yjsc-recent-learning{
    height:72px;
    min-height:72px;
  }
}

/* 모바일 */
@media(max-width:760px){
  .yjsc-mypage-head{
    display:flex;
    padding:12px;
    gap:8px;
  }
  .yjsc-mypage-identity{
    width:100%;
  }
  .yjsc-qna-header,
  .yjsc-recent-learning{
    width:100%;
    height:auto;
    min-height:68px;
  }
}


/* =========================================================
   V0.1.10 — 전체 폰트 한 단계 확대
   기능/레이아웃 로직 변경 없음, CSS 전용
   ========================================================= */

/* 기본 텍스트 */
.yjsc{
  font-size:15px;
}

/* 상단 나의강의실 */
.yjsc-kicker{font-size:11px}
.yjsc-mypage-head h1{font-size:28px}
.yjsc-mypage-head p{font-size:13px}

/* 좌측 메뉴 */
.yjsc-menu-parent b,
.yjsc-menu-single b{font-size:13px}
.yjsc-menu-parent i,
.yjsc-menu-single i{font-size:16px}
.yjsc-submenu a{font-size:11px}
.yjsc-account-help b{font-size:11px}
.yjsc-account-help span{font-size:10px}

/* 상단 최근 Q&A */
.yjsc-qna-header-label{font-size:8px}
.yjsc-qna-header>b{font-size:11px}
.yjsc-qna-header>small{font-size:9px}
.yjsc-qna-header>p{font-size:9px}
.yjsc-qna-header>em{font-size:8px}

/* 상단 최근학습 */
.yjsc-recent-label span{font-size:8px}
.yjsc-recent-text b{font-size:11px}
.yjsc-recent-text p{font-size:9px}
.yjsc-recent-learning>a{font-size:9px}

/* 본문 제목 */
.yjsc-account-section-head span{font-size:9px}
.yjsc-account-section-head h2{font-size:22px}
.yjsc-account-section-head p{font-size:11px}
.yjsc-account-section-head>strong{font-size:14px}

/* 오늘 구매 카드 */
.yjsc-highlight-heading span{font-size:9px}
.yjsc-highlight-heading h2{font-size:20px}
.yjsc-highlight-heading>strong{font-size:12px}
.yjsc-today-category{font-size:9px}
.yjsc-today-card-body h3{font-size:17px}
.yjsc-today-card-body p{font-size:11px}
.yjsc-today-card-link b{font-size:10px}
.yjsc-today-badge{font-size:8px}

/* 장바구니 카드 */
.yjsc-cart-item-card b{font-size:12px}
.yjsc-cart-item-card p{font-size:12px}
.yjsc-cart-item-card em{font-size:9px}
.yjsc-cart-checkout-bar>div:first-child span{font-size:9px}
.yjsc-cart-checkout-bar>div:first-child strong{font-size:14px}
.yjsc-cart-checkout-bar a{font-size:10px}

/* 구매강좌 목록 */
.yjsc-purchased-info>span{font-size:9px}
.yjsc-purchased-info h3{font-size:17px}
.yjsc-purchased-info>p{font-size:11px}
.yjsc-course-meta-row span,
.yjsc-course-meta-row b{font-size:10px}
.yjsc-course-progress b{font-size:10px}
.yjsc-purchased-action a{font-size:12px}

/* 내질문과 답변 카드 */
.yjsc-myqna-context span{font-size:10px}
.yjsc-myqna-context strong{font-size:12px}
.yjsc-myqna-q>b,
.yjsc-myqna-a>b{font-size:11px}
.yjsc-myqna-q p,
.yjsc-myqna-a p{font-size:11px}
.yjsc-myqna-state span{font-size:9px}
.yjsc-myqna-state em{font-size:9px}
.yjsc-myqna-detail-head{font-size:10px}
.yjsc-myqna-full-question>b,
.yjsc-myqna-full-answer>b{font-size:11px}
.yjsc-myqna-full-question p,
.yjsc-myqna-full-answer p{font-size:12px}
.yjsc-qna-return-course{font-size:10px}

/* 주문 / 수료증 / 프로필 / 출석 */
.yjsc-order-list span,
.yjsc-certificate-list span{font-size:10px}
.yjsc-order-list h3{font-size:12px}
.yjsc-order-list p{font-size:13px}
.yjsc-order-list a{font-size:10px}
.yjsc-profile-card span{font-size:10px}
.yjsc-profile-card b{font-size:13px}
.yjsc-profile-card>a{font-size:11px}
.yjsc-attendance-list article>div:first-child b{font-size:12px}
.yjsc-attendance-list article>div:first-child span{font-size:10px}
.yjsc-attendance-list strong{font-size:11px}

/* 실제 강의실 */
.yjsc-head h1{font-size:27px}
.yjsc-head p{font-size:14px}
.yjsc-side-title strong{font-size:15px}
.yjsc-side-title a{font-size:12px}
.yjsc-lessons span{font-size:11px}
.yjsc-lessons strong{font-size:13px}
.yjsc-lessons em{font-size:10px}
.yjsc-pane-head b{font-size:14px}
.yjsc-pane-head small{font-size:10px}
.yjsc-pane-head span{font-size:12px}
.yjsc-tabs button{font-size:13px}
.yjsc-qna-form textarea{font-size:13px}
.yjsc-qna-list b{font-size:12px}
.yjsc-qna-list p{font-size:13px}
.yjsc-problem h3{font-size:14px}
.yjsc-problem label{font-size:13px}
.yjsc-info-grid b{font-size:13px}
.yjsc-info-grid span{font-size:10px}

/* 안내문 */
.yjsc-readonly-note,
.yjsc-safety-note,
.yjsc-safe-pending p,
.yjsc-withdraw-safe p{font-size:10px}


/* =========================================================
   V0.1.11 — 요청값 그대로 폰트 미세조정
   기본메뉴 +1px / 서브메뉴 +3px / 상단 박스 내용 +2px
   기능 및 레이아웃 로직 변경 없음
   ========================================================= */

/* 좌측 기본메뉴: V0.1.10의 13px → 14px */
.yjsc-menu-parent b,
.yjsc-menu-single b{
  font-size:14px;
}

/* 좌측 서브메뉴: V0.1.10의 11px → 14px */
.yjsc-submenu a{
  font-size:14px;
  line-height:1.35;
}

/* 상단 '내 질문과 답변' 박스 내용 +2px */
.yjsc-qna-header-label{
  font-size:10px;
}
.yjsc-qna-header>b{
  font-size:13px;
}
.yjsc-qna-header>small{
  font-size:11px;
}
.yjsc-qna-header>p{
  font-size:11px;
  line-height:1.3;
}
.yjsc-qna-header>em{
  font-size:10px;
}
.yjsc-inline-test{
  font-size:9px;
}

/* 상단 '최근 학습 / 이어보기' 박스 내용 +2px */
.yjsc-recent-label span{
  font-size:10px;
}
.yjsc-recent-label em{
  font-size:8px;
}
.yjsc-recent-text b{
  font-size:13px;
}
.yjsc-recent-text p{
  font-size:11px;
}
.yjsc-recent-learning>a{
  font-size:11px;
}
.yjsc-recent-learning>a strong{
  font-size:14px;
}

/* 글자가 커져도 박스 높이는 과도하게 늘지 않도록 유지 */
.yjsc-qna-header,
.yjsc-recent-learning{
  min-height:74px;
  height:74px;
}


/* =========================================================
   V0.1.12 — 상단 Q/A 가로 흐름 + 본문 폰트 +2px
   기능/DB 로직 변경 없음
   ========================================================= */

/* 상단 최근 질문 박스: 과정/강의 → Q → A 순서로 한 줄 배치 */
.yjsc-qna-header-inline{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 42px;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  height:76px;
  min-height:76px;
}

.yjsc-qna-header-context{
  min-width:0;
  padding-right:9px;
  border-right:1px solid #d7e6ec;
}
.yjsc-qna-header-context .yjsc-qna-header-label{
  display:block;
  font-size:10px;
  line-height:1.15;
}
.yjsc-qna-header-context>b{
  display:block;
  margin-top:4px;
  color:#153f55;
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-qna-header-context>small{
  display:block;
  margin-top:2px;
  color:#687f8a;
  font-size:11px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.yjsc-qna-header-flow{
  min-width:0;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:8px;
  align-items:center;
}
.yjsc-qna-mini{
  min-width:0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:6px;
  align-items:center;
}
.yjsc-qna-mini>b{
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c7dce5;
  background:#fff;
  color:#257494;
  font-size:11px;
  line-height:1;
}
.yjsc-qna-mini.a>b{
  border-color:#cfe0d4;
  color:#3d7654;
}
.yjsc-qna-mini p{
  margin:0;
  color:#4e6671;
  font-size:11px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.yjsc-qna-header-more{
  margin:0!important;
  color:#267696!important;
  font-size:10px!important;
  font-style:normal;
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

/* V0.1.11의 직접 자식용 규칙이 새 구조에 간섭하지 않도록 정리 */
.yjsc-qna-header-inline>p,
.yjsc-qna-header-inline>small,
.yjsc-qna-header-inline>b{
  display:none!important;
}

/* 아래 본문: 약 +2px */
.yjsc-account-section-head span{font-size:11px}
.yjsc-account-section-head h2{font-size:24px}
.yjsc-account-section-head p{font-size:13px}
.yjsc-account-section-head>strong{font-size:16px}

.yjsc-myqna-context span{font-size:12px}
.yjsc-myqna-context strong{font-size:14px}

.yjsc-myqna-q>b,
.yjsc-myqna-a>b{font-size:13px}

.yjsc-myqna-q p,
.yjsc-myqna-a p{
  font-size:13px;
  line-height:1.55;
}

.yjsc-myqna-state span{font-size:11px}
.yjsc-myqna-state em{font-size:11px}

.yjsc-myqna-detail-head{font-size:12px}

.yjsc-myqna-full-question>b,
.yjsc-myqna-full-answer>b{font-size:13px}

.yjsc-myqna-full-question p,
.yjsc-myqna-full-answer p{
  font-size:14px;
  line-height:1.75;
}

.yjsc-qna-return-course{font-size:12px}

/* 반응형 */
@media(max-width:1050px){
  .yjsc-qna-header-inline{
    grid-template-columns:135px minmax(0,1fr) 40px;
  }
  .yjsc-qna-header-flow{
    grid-template-columns:1fr;
    gap:3px;
  }
}
@media(max-width:760px){
  .yjsc-qna-header-inline{
    height:auto;
    min-height:88px;
    grid-template-columns:1fr;
  }
  .yjsc-qna-header-context{
    padding-right:0;
    padding-bottom:6px;
    border-right:0;
    border-bottom:1px solid #d7e6ec;
  }
  .yjsc-qna-header-flow{
    grid-template-columns:1fr;
  }
  .yjsc-qna-header-more{
    text-align:left;
  }
}


/* =========================================================
   V0.1.13 — 결제내역 전용 표
   WooCommerce 읽기 전용 / 다른 화면 영향 없음
   ========================================================= */
.yjsc-payment-history{
  padding:0 24px 24px;
}
.yjsc-payment-title{
  padding:22px 0 36px;
}
.yjsc-payment-title h2{
  margin:0;
  color:#111;
  font-size:30px;
  font-weight:500;
  line-height:1.2;
}
.yjsc-payment-table-wrap{
  width:100%;
  overflow-x:auto;
  border-top:2px solid #2f65b8;
}
.yjsc-payment-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.yjsc-payment-table th,
.yjsc-payment-table td{
  border-right:1px solid #d9dde2;
  border-bottom:1px solid #d9dde2;
  padding:13px 12px;
  vertical-align:middle;
  font-size:13px;
  line-height:1.45;
}
.yjsc-payment-table th:last-child,
.yjsc-payment-table td:last-child{
  border-right:0;
}
.yjsc-payment-table thead th{
  height:54px;
  padding-top:10px;
  padding-bottom:10px;
  background:#f5f6fa;
  color:#222;
  font-size:13px;
  font-weight:500;
  text-align:center;
}
.yjsc-payment-table .col-no{width:8%;text-align:center;color:#6f7780}
.yjsc-payment-table .col-name{width:42%;text-align:left}
.yjsc-payment-table .col-price{width:14%;text-align:center;font-weight:700;color:#4a5661}
.yjsc-payment-table .col-method{width:12%;text-align:center;color:#4b555e}
.yjsc-payment-table .col-status{width:10%;text-align:center;color:#111}
.yjsc-payment-table .col-date{width:14%;text-align:center;color:#7b7370}

.yjsc-payment-products{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.yjsc-payment-product{
  display:flex;
  align-items:flex-start;
  gap:5px;
  min-width:0;
}
.yjsc-payment-kind{
  flex:0 0 auto;
  font-size:12px;
}
.yjsc-payment-kind.course{color:#2b65af}
.yjsc-payment-kind.book{color:#d32222}
.yjsc-payment-name{
  min-width:0;
  color:#45515b;
  font-size:13px;
  line-height:1.45;
}

.yjsc-payment-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  margin:54px 0 8px;
}
.yjsc-payment-pagination a{
  width:39px;
  height:39px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfd4da;
  background:#fff;
  color:#47515b;
  font-size:13px;
  text-decoration:none!important;
}
.yjsc-payment-pagination a.active{
  background:#2e63b5;
  border-color:#2e63b5;
  color:#fff;
  font-weight:800;
}
.yjsc-payment-pagination a.disabled{
  color:#aeb4b9;
  pointer-events:none;
}
.yjsc-payment-history .yjsc-readonly-note{
  margin-top:22px;
}

@media(max-width:900px){
  .yjsc-payment-history{padding:0 14px 18px}
  .yjsc-payment-title{padding:18px 0 24px}
  .yjsc-payment-title h2{font-size:25px}
  .yjsc-payment-table{min-width:820px}
}


/* =========================================================
   V0.1.14 — 장바구니 / 주문배송 / 수료증 유료사이트형
   ========================================================= */
.yjsc-legacy-table-page{
  padding:0 18px 24px;
}
.yjsc-legacy-title{
  padding:22px 0 48px;
}
.yjsc-legacy-title h2{
  margin:0;
  color:#111;
  font-size:30px;
  font-weight:500;
  line-height:1.2;
}
.yjsc-legacy-table-wrap{
  width:100%;
  overflow-x:auto;
  border-top:2px solid #2d66bf;
}
.yjsc-legacy-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.yjsc-legacy-table th,
.yjsc-legacy-table td{
  border-right:1px solid #d8dce1;
  border-bottom:1px solid #d8dce1;
  padding:13px 12px;
  vertical-align:middle;
  font-size:13px;
  line-height:1.45;
}
.yjsc-legacy-table th:last-child,
.yjsc-legacy-table td:last-child{
  border-right:0;
}
.yjsc-legacy-table thead th{
  height:52px;
  background:#f5f6fa;
  color:#111;
  font-weight:500;
  text-align:center;
}
.yjsc-empty-table-row td{
  height:90px;
  text-align:center!important;
  color:#88939a!important;
}

/* 장바구니 */
.yjsc-cart-table .cart-select{width:16%;text-align:center}
.yjsc-cart-table .cart-kind{width:11%;text-align:center}
.yjsc-cart-table .cart-name{width:47%;text-align:left}
.yjsc-cart-table .cart-qty{width:11%;text-align:center}
.yjsc-cart-table .cart-price{width:15%;text-align:center;font-weight:700}
.yjsc-cart-table input[type=checkbox]{
  width:17px;
  height:17px;
}
.yjsc-kind-chip{
  font-size:12px;
  font-weight:800;
}
.yjsc-kind-chip.course{color:#2d66b6}
.yjsc-kind-chip.book{color:#d72a2a}
.yjsc-cart-bottom{
  margin-top:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.yjsc-cart-total span{
  display:block;
  color:#7a858d;
  font-size:10px;
}
.yjsc-cart-total strong{
  display:block;
  margin-top:4px;
  color:#1c4255;
  font-size:15px;
}
.yjsc-cart-buttons{
  display:flex;
  gap:8px;
}
.yjsc-cart-buttons button,
.yjsc-cart-buttons a{
  min-width:108px;
  height:52px;
  padding:0 18px;
  border:1px solid #d5d8dc;
  background:#fff;
  color:#333;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  cursor:pointer;
  text-decoration:none!important;
}
.yjsc-cart-buttons .yjsc-cart-pay{
  min-width:140px;
  background:#ef4b52;
  border-color:#ef4b52;
  color:#fff;
}

/* 주문/배송조회 */
.yjsc-shipping-table .ship-no{width:9%;text-align:center;color:#6d7378}
.yjsc-shipping-table .ship-order{width:17%;text-align:center;color:#f12c2c}
.yjsc-shipping-table .ship-name{width:36%;text-align:left;color:#56616a}
.yjsc-shipping-table .ship-price{width:15%;text-align:center;color:#f12c2c;font-weight:700}
.yjsc-shipping-table .ship-status{width:12%;text-align:center;color:#58636b}
.yjsc-shipping-table .ship-date{width:11%;text-align:center;color:#756d68}

/* 수료증 */
.yjsc-certificate-table .cert-no{width:8%;text-align:center;color:#6e7478}
.yjsc-certificate-table .cert-title{width:52%;text-align:left;color:#59636b}
.yjsc-certificate-table .cert-print{width:15%;text-align:center}
.yjsc-certificate-table .cert-download{width:15%;text-align:center}
.yjsc-certificate-table .cert-date{width:10%;text-align:center;color:#756d68}
.yjsc-certificate-table .cert-print a,
.yjsc-certificate-table .cert-download a{
  min-width:104px;
  min-height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #8eb7ff;
  color:#3c7dea;
  font-size:13px;
  text-decoration:none!important;
}
.yjsc-cert-unavailable{
  color:#9aa3a8;
  font-size:11px;
}

/* 페이지번호 */
.yjsc-legacy-pagination{
  margin:84px 0 10px;
  display:flex;
  justify-content:center;
  gap:5px;
}
.yjsc-legacy-pagination a{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d3d7dc;
  background:#fff;
  color:#525d65;
  font-size:13px;
  text-decoration:none!important;
}
.yjsc-legacy-pagination a.active{
  background:#3169bd;
  border-color:#3169bd;
  color:#fff;
  font-weight:800;
}

@media(max-width:900px){
  .yjsc-legacy-title{padding-bottom:28px}
  .yjsc-legacy-title h2{font-size:25px}
  .yjsc-cart-table{min-width:720px}
  .yjsc-shipping-table{min-width:820px}
  .yjsc-certificate-table{min-width:850px}
  .yjsc-cart-bottom{margin-top:38px}
}


/* =========================================================
   V0.1.15 — 본문 내질문과답변 2열 카드형
   상단 Q&A 요약은 그대로 유지
   ========================================================= */
.yjsc-qna-card-view .yjsc-account-section-head{
  margin-bottom:14px;
}

.yjsc-qna-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.yjsc-qna-tile{
  min-width:0;
  border:1px solid #d9e3e7;
  background:#fff;
}

.yjsc-qna-tile.open{
  grid-column:1/-1;
  border-color:#9fc7d8;
  box-shadow:0 6px 18px rgba(32,82,103,.06);
}

.yjsc-qna-tile-summary{
  width:100%;
  min-height:176px;
  padding:14px 16px 13px;
  border:0;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}

.yjsc-qna-tile-summary:hover{
  background:#fbfdfe;
}

.yjsc-qna-tile-top{
  min-height:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.yjsc-qna-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  font-size:10px;
  font-weight:800;
}

.yjsc-qna-status.answered{
  background:#eaf5fa;
  color:#17658a;
}

.yjsc-qna-status.waiting{
  background:#fff5df;
  color:#8b661f;
}

.yjsc-qna-tile-top time{
  color:#93a1a8;
  font-size:10px;
}

.yjsc-qna-tile h3{
  margin:10px 0 6px;
  color:#173f55;
  font-size:15px;
  line-height:1.45;
  font-weight:800;
}

.yjsc-qna-tile-context{
  margin:0;
  color:#7b8d95;
  font-size:10px;
  line-height:1.5;
}

.yjsc-qna-tile-answer{
  margin-top:12px;
  padding:10px 12px;
  background:#f4f7f8;
  border-left:3px solid #548eaa;
}

.yjsc-qna-tile-answer b{
  display:block;
  color:#3c6273;
  font-size:10px;
}

.yjsc-qna-tile-answer p{
  margin:5px 0 0;
  color:#536b76;
  font-size:11px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.yjsc-qna-tile-waiting{
  margin-top:12px;
  padding:10px 12px;
  background:#fffaf0;
  border-left:3px solid #d7b46a;
  color:#826b3e;
  font-size:10px;
}

.yjsc-qna-tile-more{
  margin-top:auto;
  padding-top:11px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  color:#557987;
  font-size:10px;
}

.yjsc-qna-tile-more em{
  color:#2b7da0;
  font-size:15px;
  font-style:normal;
}

.yjsc-qna-tile-detail{
  border-top:1px solid #dce7eb;
  background:#f9fbfc;
}

.yjsc-qna-tile-detail[hidden]{
  display:none!important;
}

/* 열렸을 때는 전체폭에서 내용이 편하게 보이도록 */
.yjsc-qna-tile.open .yjsc-qna-tile-summary{
  min-height:auto;
  padding-bottom:10px;
}

@media(max-width:900px){
  .yjsc-qna-card-grid{
    grid-template-columns:1fr;
  }
  .yjsc-qna-tile.open{
    grid-column:auto;
  }
}

@media(max-width:760px){
  .yjsc-qna-tile-summary{
    min-height:160px;
    padding:13px;
  }
}


/* =========================================================
   V0.1.16 — Q&A 상세 중복 제거
   접힘 = 요약카드 / 펼침 = 상세내용으로 교체
   ========================================================= */

/* 펼쳐진 카드에서는 요약을 숨겨 같은 질문/답변이 두 번 보이지 않게 함 */
.yjsc-qna-tile.open > .yjsc-qna-tile-summary{
  display:none!important;
}

/* 상세는 카드 자리에서 바로 이어지도록 여백 정리 */
.yjsc-qna-tile.open > .yjsc-qna-tile-detail{
  display:block;
  border-top:0;
  padding:16px;
  background:#fbfcfd;
}

/* 상세 상단 정보는 한 줄로 단정하게 */
.yjsc-qna-tile-detail .yjsc-myqna-detail-head{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #e2e9ec;
}

/* 상세 질문/답변 사이의 시각적 구분 */
.yjsc-qna-tile-detail .yjsc-myqna-full-question{
  background:#fff;
}

.yjsc-qna-tile-detail .yjsc-myqna-full-answer{
  background:#f3f8f5;
}

/* 상세 하단 버튼 영역 */
.yjsc-qna-detail-actions{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.yjsc-qna-detail-close{
  min-height:36px;
  padding:0 12px;
  border:1px solid #bfd0d8;
  background:#fff;
  color:#4d7080;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.yjsc-qna-detail-close:hover{
  background:#f4f8fa;
}

/* 데모 안내가 있을 때도 하단 정렬 유지 */
.yjsc-qna-detail-actions .yjsc-qna-demo-note{
  margin-top:0;
}

@media(max-width:760px){
  .yjsc-qna-detail-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .yjsc-qna-detail-close,
  .yjsc-qna-detail-actions .yjsc-qna-return-course{
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V0.1.17 — 화면 테스트용 답변완료 Q&A 4건
   실제 DB 미저장
   ========================================================= */
.yjsc-qna-card-test{
  display:inline-flex;
  margin-left:5px;
  padding:1px 4px;
  border:1px solid #c9dce4;
  background:#f8fbfc;
  color:#347b98;
  font-size:8px;
  line-height:1.25;
  font-style:normal;
  font-weight:800;
  vertical-align:middle;
}

/* 4개가 보일 때 카드 높이가 지나치게 달라지지 않도록 */
.yjsc-qna-card-grid .yjsc-qna-tile:not(.open) .yjsc-qna-tile-summary{
  min-height:205px;
}

.yjsc-qna-card-grid .yjsc-qna-tile:not(.open) .yjsc-qna-tile-answer p{
  -webkit-line-clamp:3;
}

@media(max-width:900px){
  .yjsc-qna-card-grid .yjsc-qna-tile:not(.open) .yjsc-qna-tile-summary{
    min-height:185px;
  }
}


/* =========================================================
   V0.1.18 — Q&A 펼침상태 유지
   ========================================================= */
/* 한번 열린 상세 Q&A는 그대로 유지하며 접기 UI는 사용하지 않음 */
.yjsc-qna-detail-close{
  display:none!important;
}

/* 여러 카드가 동시에 펼쳐져도 각 상세영역 사이 간격 유지 */
.yjsc-qna-tile.open{
  margin-bottom:2px;
}


/* =========================================================
   V0.1.19 — 사용자 선택 접기
   자동접기 없음 / 직접 접기 시 요약카드 복원
   ========================================================= */
.yjsc-qna-detail-close{
  display:inline-flex!important;
  min-height:36px;
  padding:0 13px;
  align-items:center;
  justify-content:center;
  border:1px solid #bfd0d8;
  background:#fff;
  color:#4d7080;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.yjsc-qna-detail-close:hover{
  background:#f2f7f9;
  border-color:#a9c4d0;
}

@media(max-width:760px){
  .yjsc-qna-detail-close{
    width:100%;
  }
}


/* =========================================================
   V0.1.20 — Q&A 리스트형 + 상단 3영역 한줄 고정
   데이터/기능 로직 변경 없음
   ========================================================= */

/* ---------- 상단: 나의 강의실 | 최근Q&A | 최근학습 ---------- */
@media (min-width: 761px){
  .yjsc-mypage-head{
    display:grid!important;
    grid-template-columns:260px minmax(0,1fr) 360px!important;
    column-gap:14px!important;
    row-gap:0!important;
    align-items:center!important;
    padding:12px 14px!important;
  }

  .yjsc-mypage-identity{
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    padding:0 8px!important;
  }

  .yjsc-qna-header{
    grid-column:auto!important;
    order:2!important;
    width:100%!important;
    min-width:0!important;
    height:76px!important;
    min-height:76px!important;
  }

  .yjsc-recent-learning{
    grid-column:auto!important;
    order:3!important;
    width:100%!important;
    min-width:0!important;
    height:76px!important;
    min-height:76px!important;
  }

  .yjsc-mypage-identity h1{
    white-space:nowrap;
  }
}

/* 화면이 조금 좁아도 데스크톱에서는 줄바꿈 대신 내부 내용을 압축 */
@media (min-width:761px) and (max-width:1180px){
  .yjsc-mypage-head{
    grid-template-columns:235px minmax(0,1fr) 320px!important;
    column-gap:10px!important;
  }

  .yjsc-qna-header-inline{
    grid-template-columns:125px minmax(0,1fr) 36px!important;
    gap:7px!important;
  }

  .yjsc-recent-learning{
    grid-template-columns:30px minmax(0,1fr) auto!important;
    gap:7px!important;
  }
}

/* ---------- 본문 Q&A 리스트 ---------- */
.yjsc-qna-row-list{
  margin-top:14px;
  border-top:1px solid #dbe5e9;
}

.yjsc-qna-row{
  border-left:1px solid #dbe5e9;
  border-right:1px solid #dbe5e9;
  border-bottom:1px solid #dbe5e9;
  background:#fff;
}

.yjsc-qna-row + .yjsc-qna-row{
  margin-top:0;
}

.yjsc-qna-row-summary{
  width:100%;
  min-height:92px;
  padding:0;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 118px;
  align-items:stretch;
  border:0;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.yjsc-qna-row-summary:hover{
  background:#fbfdfe;
}

.yjsc-qna-row-context{
  min-width:0;
  padding:15px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid #e6ecef;
  background:#f7fafb;
}

.yjsc-qna-row-context>span{
  color:#34738f;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}

.yjsc-qna-row-context>strong{
  margin-top:6px;
  color:#173f55;
  font-size:14px;
  line-height:1.35;
}

.yjsc-qna-row-context .yjsc-qna-card-test{
  width:max-content;
  margin:6px 0 0;
}

.yjsc-qna-row-main{
  min-width:0;
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.yjsc-qna-row-line{
  min-width:0;
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:9px;
  align-items:center;
}

.yjsc-qna-row-line + .yjsc-qna-row-line{
  margin-top:7px;
  padding-top:7px;
  border-top:1px dashed #e3e9ec;
}

.yjsc-qna-row-line>b{
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c8dce5;
  background:#f0f7fa;
  color:#247495;
  font-size:13px;
}

.yjsc-qna-row-line.answer>b{
  border-color:#cde1d4;
  background:#f1f8f3;
  color:#397552;
}

.yjsc-qna-row-line p{
  min-width:0;
  margin:0;
  color:#435f6c;
  font-size:13px;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.yjsc-qna-row-state{
  padding:12px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
  border-left:1px solid #e6ecef;
}

.yjsc-qna-row-state>span{
  padding:4px 7px;
  font-size:10px;
  font-weight:800;
}

.yjsc-qna-row-state>span.answered{
  background:#eaf5fa;
  color:#17658a;
}

.yjsc-qna-row-state>span.waiting{
  background:#fff5df;
  color:#8b661f;
}

.yjsc-qna-row-state time{
  color:#9aa6ac;
  font-size:9px;
}

.yjsc-qna-row-state em{
  color:#467587;
  font-size:10px;
  font-style:normal;
}

/* 펼쳤을 때 요약은 숨기고 상세만 표시 */
.yjsc-qna-row.open > .yjsc-qna-row-summary{
  display:none!important;
}

.yjsc-qna-row-detail{
  padding:16px;
  background:#fbfcfd;
  border-top:0;
}

.yjsc-qna-row-detail[hidden]{
  display:none!important;
}

/* 모바일은 한 열 안에서 자연스럽게 */
@media(max-width:760px){
  .yjsc-qna-row-summary{
    grid-template-columns:1fr;
  }

  .yjsc-qna-row-context{
    border-right:0;
    border-bottom:1px solid #e6ecef;
  }

  .yjsc-qna-row-state{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    border-left:0;
    border-top:1px solid #e6ecef;
  }

  .yjsc-qna-row-line p{
    white-space:normal;
  }
}


/* =========================================================
   V0.1.21 — 대화형 Q&A / 재질문 / 추가답변
   ========================================================= */
.yjsc-conversation-head{
  min-height:72px;
  margin-bottom:14px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#f3f8fa;
  border:1px solid #d8e7ed;
  border-left:4px solid #277fa5;
}

.yjsc-conversation-head>div:first-child>span{
  display:block;
  color:#397995;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
}

.yjsc-conversation-head h3{
  margin:4px 0 2px;
  color:#153f54;
  font-size:18px;
}

.yjsc-conversation-head p{
  margin:0;
  color:#72858e;
  font-size:11px;
}

.yjsc-conversation-count{
  min-width:58px;
  padding:8px 10px;
  background:#fff;
  border:1px solid #d5e2e7;
  text-align:center;
}

.yjsc-conversation-count span{
  display:block;
  color:#84949b;
  font-size:8px;
}

.yjsc-conversation-count strong{
  display:block;
  margin-top:2px;
  color:#1c607d;
  font-size:18px;
}

.yjsc-conversation-thread{
  position:relative;
  padding:4px 0 2px;
}

.yjsc-conversation-thread:before{
  content:"";
  position:absolute;
  left:22px;
  top:24px;
  bottom:24px;
  width:2px;
  background:#dde8ec;
}

.yjsc-conversation-message{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-bottom:12px;
}

.yjsc-conversation-avatar{
  position:relative;
  z-index:2;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:2px solid #9fc7d7;
  color:#226d8e;
  font-size:13px;
  font-weight:900;
}

.yjsc-conversation-message.instructor .yjsc-conversation-avatar{
  border-color:#9bc8a9;
  color:#36734d;
}

.yjsc-conversation-message.followup .yjsc-conversation-avatar{
  border-style:dashed;
}

.yjsc-conversation-bubble{
  min-width:0;
  padding:13px 15px;
  background:#fff;
  border:1px solid #dce6ea;
  border-left:4px solid #4f93b0;
}

.yjsc-conversation-message.instructor .yjsc-conversation-bubble{
  background:#f4f9f5;
  border-color:#d7e5db;
  border-left-color:#65a37a;
}

.yjsc-conversation-message.followup.student .yjsc-conversation-bubble{
  background:#f7fbfd;
}

.yjsc-conversation-message.followup.instructor .yjsc-conversation-bubble{
  background:#f1f8f3;
}

.yjsc-conversation-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}

.yjsc-conversation-meta b{
  color:#246c8a;
  font-size:12px;
}

.yjsc-conversation-message.instructor .yjsc-conversation-meta b{
  color:#397252;
}

.yjsc-conversation-meta time{
  color:#95a2a8;
  font-size:9px;
}

.yjsc-conversation-bubble>p{
  margin:0;
  color:#405b68;
  font-size:14px;
  line-height:1.75;
}

.yjsc-followup-compose{
  margin-top:18px;
  padding:15px;
  background:#fff;
  border:1px solid #cadde5;
  border-top:3px solid #2d82a6;
}

.yjsc-followup-compose-head span{
  display:block;
  color:#337a98;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
}

.yjsc-followup-compose-head b{
  display:block;
  margin-top:4px;
  color:#173f54;
  font-size:15px;
}

.yjsc-followup-compose-head p{
  margin:4px 0 0;
  color:#7a8c94;
  font-size:10px;
  line-height:1.5;
}

.yjsc-followup-compose textarea{
  width:100%;
  min-height:92px;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid #cbdbe2;
  background:#fbfcfd;
  color:#344f5b;
  font-size:13px;
  line-height:1.6;
  resize:vertical;
}

.yjsc-followup-compose textarea:focus{
  outline:2px solid rgba(45,130,166,.14);
  border-color:#6fa7bc;
}

.yjsc-followup-compose-bottom{
  min-height:42px;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.yjsc-followup-compose-bottom>span{
  color:#527886;
  font-size:10px;
}

.yjsc-followup-compose-bottom>button{
  min-width:142px;
  min-height:40px;
  padding:0 14px;
  border:0;
  background:#1f6d8c;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.yjsc-followup-compose-bottom>button:hover{
  background:#185a75;
}

.yjsc-followup-compose-bottom>button:disabled{
  opacity:.6;
  cursor:wait;
}

.yjsc-followup-compose.demo{
  background:#fffaf2;
  border-color:#ead9b8;
  border-top-color:#d1a24b;
}

.yjsc-followup-demo-input{
  margin-top:12px;
  min-height:54px;
  padding:15px;
  border:1px dashed #d9c59b;
  background:#fff;
  color:#9a8761;
  font-size:11px;
}

@media(max-width:760px){
  .yjsc-conversation-head{
    align-items:flex-start;
  }

  .yjsc-conversation-message{
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
  }

  .yjsc-conversation-avatar{
    width:36px;
    height:36px;
    font-size:11px;
  }

  .yjsc-conversation-thread:before{
    left:17px;
  }

  .yjsc-conversation-bubble{
    padding:11px 12px;
  }

  .yjsc-conversation-bubble>p{
    font-size:13px;
  }

  .yjsc-followup-compose-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .yjsc-followup-compose-bottom>button{
    width:100%;
  }
}


/* =========================================================
   V0.1.22 — Q+ / A+ 추가대화 10px 들여쓰기
   기능 로직 변경 없음 / CSS 전용
   ========================================================= */

/* 원래 Q/A보다 추가질문·추가답변을 약 10px 안쪽으로 */
.yjsc-conversation-message.followup{
  margin-left:10px;
}

/* 들여쓰기 후에도 가로폭이 넘치지 않도록 */
.yjsc-conversation-message.followup{
  width:calc(100% - 10px);
}

/* 세로 연결선과 시각적 계층 유지 */
.yjsc-conversation-message.followup .yjsc-conversation-bubble{
  position:relative;
}

/* 모바일에서도 너무 깊게 들어가지 않도록 동일하게 10px 유지 */
@media(max-width:760px){
  .yjsc-conversation-message.followup{
    margin-left:10px;
    width:calc(100% - 10px);
  }
}


/* =========================================================
   V0.1.23 — Q+ / A+ 추가대화 50px 들여쓰기
   기능 로직 변경 없음 / CSS 전용
   ========================================================= */
.yjsc-conversation-message.followup{
  margin-left:50px;
  width:calc(100% - 50px);
}

/* 모바일에서는 화면폭을 고려해 24px로 완화 */
@media(max-width:760px){
  .yjsc-conversation-message.followup{
    margin-left:24px;
    width:calc(100% - 24px);
  }
}


/* =========================================================
   V0.1.24 — Q+/A+ 60px 들여쓰기 + 추가질문 최대 2회
   ========================================================= */

/* V0.1.23의 50px에서 10px 더 들여쓰기 */
.yjsc-conversation-message.followup{
  margin-left:60px;
  width:calc(100% - 60px);
}

/* 추가질문 사용횟수 */
.yjsc-followup-compose-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.yjsc-followup-limit{
  flex:0 0 auto;
  min-width:72px;
  padding:8px 10px;
  background:#f5fafc;
  border:1px solid #cfe0e7;
  text-align:center;
}

.yjsc-followup-limit span{
  display:block;
  color:#728993;
  font-size:8px;
}

.yjsc-followup-limit strong{
  display:block;
  margin-top:3px;
  color:#1f6785;
  font-size:15px;
}

/* 2회 사용 완료 */
.yjsc-followup-closed{
  margin-top:18px;
  padding:14px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#f6f7f8;
  border:1px solid #d9e0e3;
  border-left:4px solid #879da7;
}

.yjsc-followup-closed>div>span{
  display:block;
  color:#7c8e96;
  font-size:9px;
  font-weight:900;
  letter-spacing:.5px;
}

.yjsc-followup-closed>div>b{
  display:block;
  margin-top:4px;
  color:#3c5560;
  font-size:14px;
}

.yjsc-followup-closed>div>p{
  margin:4px 0 0;
  color:#788991;
  font-size:10px;
  line-height:1.5;
}

.yjsc-followup-closed>strong{
  flex:0 0 auto;
  min-width:58px;
  padding:9px 10px;
  background:#fff;
  border:1px solid #d4dde1;
  color:#536d79;
  font-size:16px;
  text-align:center;
}

/* 모바일은 화면폭을 고려해 30px */
@media(max-width:760px){
  .yjsc-conversation-message.followup{
    margin-left:30px;
    width:calc(100% - 30px);
  }

  .yjsc-followup-compose-head,
  .yjsc-followup-closed{
    flex-direction:column;
    align-items:stretch;
  }

  .yjsc-followup-limit{
    width:100%;
  }
}


/* =========================================================
   V0.1.25 — TEST 2번째 추가질문/추가답변 표시
   실제 DB 미저장
   ========================================================= */
.yjsc-conversation-message.followup:nth-of-type(5) .yjsc-conversation-bubble,
.yjsc-conversation-message.followup:nth-of-type(6) .yjsc-conversation-bubble{
  box-shadow:inset 0 0 0 1px rgba(45,126,159,.03);
}


/* =========================================================
   V0.1.26 — 1차/2차 추가대화 동일 60px 들여쓰기
   ========================================================= */
.yjsc-conversation-message.followup,
.yjsc-conversation-message.followup-1,
.yjsc-conversation-message.followup-2{
  margin-left:60px!important;
  width:calc(100% - 60px)!important;
}

/* 첫번째/두번째 모두 같은 계층선상에 표시 */
.yjsc-conversation-message.followup-1 .yjsc-conversation-bubble,
.yjsc-conversation-message.followup-2 .yjsc-conversation-bubble{
  margin-left:0!important;
}

@media(max-width:760px){
  .yjsc-conversation-message.followup,
  .yjsc-conversation-message.followup-1,
  .yjsc-conversation-message.followup-2{
    margin-left:30px!important;
    width:calc(100% - 30px)!important;
  }
}


/* =========================================================
   V0.1.27 — 추가대화 단계별 들여쓰기
   1차 Q+/A+ = 60px
   2차 Q+/A+ = 120px
   기능 로직 변경 없음 / CSS 전용
   ========================================================= */

/* 기본 followup 규칙을 초기화하고 단계별로 명확히 지정 */
.yjsc-conversation-message.followup{
  margin-left:0!important;
  width:100%!important;
}

.yjsc-conversation-message.followup-1{
  margin-left:60px!important;
  width:calc(100% - 60px)!important;
}

.yjsc-conversation-message.followup-2{
  margin-left:120px!important;
  width:calc(100% - 120px)!important;
}

/* 모바일에서는 계층은 유지하되 폭을 완화 */
@media(max-width:760px){
  .yjsc-conversation-message.followup{
    margin-left:0!important;
    width:100%!important;
  }

  .yjsc-conversation-message.followup-1{
    margin-left:30px!important;
    width:calc(100% - 30px)!important;
  }

  .yjsc-conversation-message.followup-2{
    margin-left:60px!important;
    width:calc(100% - 60px)!important;
  }
}


/* =========================================================
   V0.1.28 — 학습토큰 + 글자수 제한 UI
   ========================================================= */

/* 강의실 Q&A 상단 토큰바 */
.yjsc-learning-token-bar{
  margin-bottom:12px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#f4f9fb;
  border:1px solid #d5e5eb;
  border-left:4px solid #2f82a5;
}

.yjsc-token-balance{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto auto;
  column-gap:9px;
  align-items:baseline;
}

.yjsc-token-balance>span{
  color:#567985;
  font-size:10px;
  font-weight:800;
}

.yjsc-token-balance>strong{
  color:#155d7a;
  font-size:20px;
  letter-spacing:-.3px;
}

.yjsc-token-balance>small{
  grid-column:1 / -1;
  margin-top:2px;
  color:#8a9aa1;
  font-size:9px;
}

.yjsc-token-policy{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}

.yjsc-token-policy>span{
  padding:6px 8px;
  background:#fff;
  border:1px solid #d9e5ea;
  color:#5a747f;
  font-size:9px;
  white-space:nowrap;
}

.yjsc-token-policy b{
  color:#1e718f;
}

/* 최초 질문 입력 */
.yjsc-qna-form-tokenized{
  display:block!important;
  padding:0!important;
  border:1px solid #d6e1e6;
  background:#fff;
}

.yjsc-qna-form-tokenized>textarea{
  width:100%!important;
  min-height:92px;
  padding:13px 14px!important;
  border:0!important;
  border-bottom:1px solid #e2e9ec!important;
  background:#fff!important;
  font-size:13px;
  line-height:1.65;
  resize:vertical;
}

.yjsc-qna-form-tokenized>textarea:focus{
  outline:2px solid rgba(45,130,166,.10);
  outline-offset:-2px;
}

.yjsc-qna-form-bottom{
  min-height:46px;
  padding:7px 8px 7px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#fafcfd;
}

.yjsc-qna-form-bottom>span{
  color:#718790;
  font-size:10px;
}

.yjsc-qna-form-bottom>button{
  min-width:112px;
  min-height:34px;
  padding:0 12px;
  border:0;
  background:#216e8d;
  color:#fff;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.yjsc-qna-form-bottom>button:hover{
  background:#195c77;
}

.yjsc-qna-form-bottom>button:disabled{
  opacity:.6;
}

.yjsc-question-result{
  min-height:24px;
  padding:5px 1px 0;
  color:#4c7585;
  font-size:10px;
}

/* 추가질문 토큰 안내 */
.yjsc-followup-token-line{
  margin-top:11px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  background:#f5f9fa;
  border:1px solid #dce7eb;
}

.yjsc-followup-token-line>span{
  color:#738891;
  font-size:9px;
}

.yjsc-followup-token-line>strong{
  color:#1e6885;
  font-size:12px;
}

.yjsc-followup-token-line>em{
  margin-left:auto;
  color:#6e828b;
  font-size:9px;
  font-style:normal;
}

.yjsc-followup-compose-bottom>span{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.yjsc-followup-compose-bottom i{
  color:#71858e;
  font-size:9px;
  font-style:normal;
}

/* 나의 강의실 좌측 토큰 카드 */
.yjsc-account-token-mini{
  margin-top:12px;
  padding:12px 11px;
  background:#f4f9fb;
  border:1px solid #d6e5eb;
  border-left:3px solid #2c80a3;
}

.yjsc-account-token-mini>span{
  display:block;
  color:#6c8b98;
  font-size:8px;
  font-weight:900;
  letter-spacing:.5px;
}

.yjsc-account-token-mini>div{
  margin-top:5px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}

.yjsc-account-token-mini b{
  color:#355967;
  font-size:11px;
}

.yjsc-account-token-mini strong{
  color:#17627f;
  font-size:16px;
}

.yjsc-account-token-mini small{
  display:block;
  margin-top:4px;
  color:#89989e;
  font-size:8px;
  line-height:1.4;
}

@media(max-width:760px){
  .yjsc-learning-token-bar{
    align-items:stretch;
    flex-direction:column;
  }

  .yjsc-token-policy{
    justify-content:flex-start;
  }

  .yjsc-qna-form-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .yjsc-qna-form-bottom>button{
    width:100%;
  }

  .yjsc-followup-token-line{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .yjsc-followup-token-line>em{
    width:100%;
    margin-left:0;
  }
}


/* =========================================================
   V0.1.29 — 나의 강의실 새 질문 + 답변완료 차감 UI
   ========================================================= */
.yjsc-mypage-new-question{
  margin-top:14px;
  padding:15px;
  background:#f7fafb;
  border:1px solid #d7e3e8;
  border-top:3px solid #2e82a5;
}

.yjsc-mypage-new-question-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}

.yjsc-mypage-new-question-head>div:first-child>span{
  color:#3b7f9b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
}

.yjsc-mypage-new-question-head h3{
  margin:4px 0 3px;
  color:#173f54;
  font-size:16px;
}

.yjsc-mypage-new-question-head p{
  margin:0;
  color:#74878f;
  font-size:10px;
}

.yjsc-mypage-token-status{
  flex:0 0 auto;
  min-width:190px;
  padding:9px 11px;
  background:#fff;
  border:1px solid #d4e2e8;
}

.yjsc-mypage-token-status>span{
  color:#778e98;
  font-size:8px;
}

.yjsc-mypage-token-status>strong{
  margin-left:6px;
  color:#17627f;
  font-size:16px;
}

.yjsc-mypage-token-status>small{
  display:block;
  margin-top:4px;
  color:#81939a;
  font-size:8px;
}

.yjsc-mypage-token-status b{
  color:#526f7b;
}

.yjsc-mypage-question-form{
  background:#fff;
  border:1px solid #d6e1e6;
}

.yjsc-mypage-question-selects{
  padding:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  background:#f5f8f9;
  border-bottom:1px solid #dfe7ea;
}

.yjsc-mypage-question-selects label>span{
  display:block;
  margin-bottom:4px;
  color:#617b86;
  font-size:9px;
  font-weight:800;
}

.yjsc-mypage-question-selects select{
  width:100%;
  min-height:36px;
  padding:0 9px;
  border:1px solid #ccdbe1;
  background:#fff;
  color:#345461;
  font-size:11px;
}

.yjsc-mypage-question-form>textarea{
  width:100%;
  min-height:96px;
  padding:13px 14px;
  border:0;
  border-bottom:1px solid #e1e8eb;
  color:#385561;
  font-size:13px;
  line-height:1.65;
  resize:vertical;
}

.yjsc-mypage-question-form>textarea:focus{
  outline:2px solid rgba(46,130,165,.11);
  outline-offset:-2px;
}

.yjsc-mypage-question-bottom{
  min-height:46px;
  padding:7px 8px 7px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#fafcfd;
}

.yjsc-mypage-question-bottom>span{
  color:#70858e;
  font-size:10px;
}

.yjsc-mypage-question-bottom>button{
  min-width:112px;
  min-height:34px;
  padding:0 13px;
  border:0;
  background:#216e8d;
  color:#fff;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.yjsc-mypage-question-bottom>button:hover{
  background:#195b76;
}

.yjsc-token-balance small b,
.yjsc-followup-token-line small b,
.yjsc-account-token-mini small b{
  color:#426b7b;
  font-weight:900;
}

.yjsc-followup-token-line>small{
  color:#81939a;
  font-size:8px;
}

@media(max-width:760px){
  .yjsc-mypage-new-question-head{
    flex-direction:column;
  }

  .yjsc-mypage-token-status{
    width:100%;
  }

  .yjsc-mypage-question-selects{
    grid-template-columns:1fr;
  }

  .yjsc-mypage-question-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .yjsc-mypage-question-bottom>button{
    width:100%;
  }
}

/* =========================================================
   V0.1.30 — 6개 대표강좌 이미지 표시 안정화
   ========================================================= */
.yjsc-course-thumb img,
.yjsc-today-image img{
  object-position:center center;
}
