@charset "UTF-8";
:root {
  /* text - 텍스트 색상 */
  --text-intro-base: #1b1810;
  --text-base: #131313;
  --text-revers: #fff;
  --text-primary: #3c3321;
  --text-secondary: #747474;
  --text-accent: #ff5c00;
  --text-myclass: #ffdf60;
  --text-main-primary: #4a4040;
  --text-main-secondary: #3a200d;
  --text-title-accent: #f5651d;
  --text-pick: #2b5045;
  --text-keyword-base: #c4c2c0;
  --text-keyword-primary: #fff;
  --text-keyword-secondary: #999999;
  --text-video-primary: #b6d5a7;
  --text-video-secondary: #ddd;
  --text-cate-primary: #edd8c2;
  --text-cate-secondary: #b6d5a7;
  --text-cate-tertiary: #e8cfe4;
  --text-comment-primary: #fff;
  --text-comment-secondary: #8d8d8d;
  --text-learning-base: #8d8888;
  --text-learning-primary: #ff5c00;
  --text-learning-secondary: #008c49;
  --text-card-category: #252525;
  --text-card-title-active: #ff7d33;
  --text-card-title-complete: #66ba92;
  --text-card-author: #d1cfcf;
  /* 배경 */
  --bg-base: #e4ddcf;
  --bg-primary: #ece3d2;
  --bg-secondary:
    radial-gradient(
      93.89% 93.89% at 49.32% 6.11%,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.11) 86.06%,
      rgba(134, 114, 77, 0.2) 88.94%
    ),
    linear-gradient(180deg, #f9f6f0 0%, #e6ddcc 100%);
  --bg-main-card: rgba(255, 255, 255, 0.6);
  --bg-intro-mask: #1b1810;
  --bg-intro: linear-gradient(
    180deg,
    #f9f5f2 0%,
    #fff 18.77%,
    #fff 41.8%,
    #ece8e4 100%
  );
  --bg-main:
    linear-gradient(
        90deg,
        #0f3025 0%,
        #194335 38%,
        #0b221b 87.51%,
        #0d231c 100%
      )
      top / 100% 114px no-repeat,
    #ece3d2;
  --bg-video: #1b1b1b;
  --bg-comment: #2a2a2a;
  --bg-nav: linear-gradient(
    90deg,
    #0f3025 0%,
    #194335 38%,
    #0b221b 87.51%,
    #0d231c 100%
  );
  --bg-nav-depth: #fff;
  --bg-nav-alerts: #ff2200;
  --bg-nav-alerts-hover: #188f6b;
  --bg-cate-primary: #ded7cf;
  --bg-cate-secondary: #d4decf;
  --bg-cate-tertiary: #e8cfe4;
  --bg-pick: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, #d5ede6 100%);
  --bg-gauge-base: #b4b4b4;
  --bg-gauge-primary: #ff5c00;
  --bg-search: #e4dbc9;
  --bg-keyword-base: rgba(230, 205, 177, 0.3);
  --bg-keyword-primary: #e47703;
  --bg-keyword-primary-hover: #e6cdb1;
  --bg-keyword-secondary: #786c60;
  --bg-keyword-secondary-hover: #dcd3c9;
  --bg-lecture-state: linear-gradient(270deg, #00ab66 0%, #058bb0 100%);
  --bg-lecture-progress-primary: rgba(3, 9, 7, 0.3);
  --bg-lecture-progress-secondary: #07855c;
  --bg-btn-base: #000;
  --bg-btn-primary: #ff5c00;
  --bg-btn-secondary: #1f1f1f;
  --bg-card: rgba(255, 255, 255, 0.6);
  --bg-card-hover-start: #ff6600;
  --bg-card-hover-end: rgba(255, 132, 0, 0.7);
  --bg-card-thumb-overlay: rgba(255, 255, 255, 0.3);
  --bg-card-shadow: rgba(217, 202, 190, 0.5);
  --bg-card-hover-shadow: rgba(198, 187, 177, 0.5);
  --bg-card-shadow-inner: rgba(0, 0, 0, 1);
  --bg-pick-shadow: rgba(166, 154, 97, 0.25);
  --bg-modal: rgba(0, 0, 0, 0.8);
  --bg-modal-content: #f6f1e9;
  --bg-modal-close-hover: #e00400;
  --bg-scrollbar-thumb: #D0D0D0;
  --bg-scrollbar-thumb-dark: #383838;
  --bg-scrollbar-track: #F3F3F3;
  --bg-scrollbar-thumb-light: rgba(255, 255, 255, 0.2);
  --bg-scrollbar-thumb-light-hover: rgba(255, 255, 255, 0.3);
  --bg-scrollbar-track-light: rgba(255, 255, 255, 0.05);
  --bg-video-gauge: #171717;
  --bg-video-gauge-fill: #ff6c19;
  --bg-video-gauge-border: rgba(0, 0, 0, 0.4);
  --bg-learning-line: #c6c3c3;
  --bg-learning-dot: #8d8888;
  --bg-learning-active: rgba(255, 92, 0, 0.2);
  --bg-learning-active-line: #ffad7f;
  --bg-learning-active-dot: #ff5c00;
  --bg-learning-complete: rgba(0, 140, 73, 0.2);
  --bg-learning-complete-line: #7fc5a4;
  --bg-learning-complete-dot: #008c49;
  --bg-chapter-current: #146b51;
  --bg-chapter-completed: #ba9a85;
  --bg-card-base: #7e7e7e;
  --bg-card-current: #1d9b75;
  --bg-card-current-border: #1f9b76;
  --bg-card-current-bg: #dbefe9;
  --bg-card-completed: #ab3d00;
  --bg-gauge-fill: #e25e00;
  --bg-shadow: #8a7d64;
  --bg-puzzle-family: #7ed29b;
  --bg-puzzle-hanmac: #ffccca;
  --bg-puzzle-value: #87a7d6;
  --bg-puzzle-company: #b49a65;
  --bg-piece-1: #1d375d;
  --bg-piece-2: #662a0d;
  --bg-piece-3: #5b4822;
  --bg-piece-4: #2a5338;
  --bg-circle-border: #a7790f;
  --bg-circle-start: rgba(127, 47, 0, 0.1);
  --bg-circle-end: rgba(167, 121, 15, 0.5);
  --bg-circle-dot: rgba(221, 144, 0, 0.6);
  --bg-circle-dot-hover: rgba(221, 144, 0, 0.8);
  --bg-circle-dot-stroke: rgba(221, 144, 0, 0.2);
  --bg-gradient-start: #ece3d2;
  --bg-gradient-end: #fff;
  --bg-learning-line-color: #edba8a;
  --bg-modal-header: #f04400;
  --bg-textarea: #2a2a2a;
  --bg-textarea-placeholder: rgba(255, 255, 255, 0.5);
  /* border */
  --border-base: rgba(0, 0, 0, 0.05);
  --border-primary: #fff;
  --border-keyword-base: rgba(0, 0, 0, 0.05);
  --border-keyword-primary: rgba(255, 255, 255, 0.4);
  --border-keyword-primary-hover: rgba(0, 0, 0, 0.05);
  --border-keyword-secondary: rgba(255, 255, 255, 0.4);
  --border-keyword-secondary-hover: rgba(0, 0, 0, 0.1);
  --border-pick: rgba(255, 255, 255, 0.5);
  --border-video: rgba(255, 255, 255, 0.1);
  --border-btn: rgba(255, 255, 255, 0.2);
  --border-card: rgba(255, 255, 255, 0.8);
  --border-modal: #888;
  --border-comment-resizer: rgba(230, 227, 225, 0.1);
  /* drop */
  --text-shadow:
    -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  --text-stroke: drop-shadow(0 0 0.5px #000);
  /* shadow */
  --shadow-pagination: rgba(0, 0, 0, 0.4);
  --shadow-modal: rgba(0, 0, 0, 0.25);
  --shadow-card-drop: 0 4px 8px rgba(0, 0, 0, 0.2);
  --shadow-card-drop-small: 0 4px 2px rgba(0, 0, 0, 0.05);
  --shadow-gauge-inset: rgba(0, 0, 0, 0.3);
  --shadow-comment: 0 8px 22px 22px rgba(0, 0, 0, 0.8);
}

/* 페이드 전환 */
.fade-out {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.fade-in {
  opacity: 1;
  transition: opacity 0.4s ease;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes arrow-next {
  0%, 100% {
    right: 72px;
  }
  50% {
    right: 50px;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-12px);
  }
}
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scroll-down {
  0% {
    transform-origin: 50% 100%;
    transform: scaleY(1);
  }
  50% {
    transform-origin: 50% 100%;
    transform: scaleY(0);
  }
  50.1% {
    transform-origin: 50% 0;
    transform: scaleY(0);
  }
  to {
    transform-origin: 50% 0;
    transform: scaleY(1);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.4;
  }
}
@keyframes borderFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes borderPulse {
  0%, 100% {
    border-color: #fff;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
  }
  50% {
    border-color: #fff;
    box-shadow: 0 0 30px rgba(255, 255, 255, 0.6);
  }
}
.study .study-container {
  display: flex;
  gap: 40px;
  margin: 0 auto;
  padding: 40px 60px;
  position: relative;
  background: linear-gradient(180deg, #F9F6F0 0%, #E6DDCC 100%);
}
.study .study-container::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 30.8333%;
  padding-top: 90.54054%;
  background-image: url("../images/myclass/bg_lo.png");
  background-size: contain;
  background-position: 0 0;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: multiply;
}
.study .page-title {
  margin-bottom: 72px;
}
.study .study-sidebar {
  flex-shrink: 0;
  width: 380px;
  position: sticky;
  top: 40px;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
}
.study .study-sidebar .sidebar-content {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 32px;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.study .study-sidebar .user-rank-info {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-sidebar .user-rank-info .rank-header {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  gap: 12px;
}
.study .study-sidebar .user-rank-info .rank-header .ico-trophy {
  background-image: url("../images/ico/ico_trophy.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 32px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
.study .study-sidebar .user-rank-info .rank-header .rank-text {
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-base);
}
.study .study-sidebar .user-rank-info .rank-header .rank-text strong {
  font-weight: 700;
  color: var(--text-primary);
}
.study .study-sidebar .user-rank-info .rank-header .rank-text em {
  font-style: normal;
  font-weight: 700;
  color: var(--text-accent);
  margin: 0 4px;
}
.study .study-sidebar .user-rank-info .rank-header .rank-text small {
  font-size: 14px;
  color: var(--text-secondary);
  font-weight: 400;
}
.study .study-sidebar .quarter-selector {
  margin-bottom: 32px;
}
.study .study-sidebar .quarter-selector .year-select {
  margin-bottom: 12px;
}
.study .study-sidebar .quarter-selector .year-select .btn-year {
  width: 100%;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: space-between;
  justify-content: center;
  flex-direction: row;
  transition: all 0.2s ease;
}
.study .study-sidebar .quarter-selector .year-select .btn-year:hover {
  background: #f5f5f5;
  border-color: rgba(0, 0, 0, 0.2);
}
.study .study-sidebar .quarter-selector .year-select .btn-year .ico-arrow-down {
  background-image: url("../images/ico/ico_arrow_down.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 16px;
  aspect-ratio: 1/1;
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter {
  width: 100%;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter.active {
  background: var(--text-accent);
  color: #fff;
  border-color: var(--text-accent);
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter:hover:not(.active) {
  background: #f5f5f5;
  border-color: rgba(0, 0, 0, 0.2);
}
.study .study-sidebar .learning-goal .goal-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
  line-height: 1.4;
}
.study .study-sidebar .learning-goal .goal-title .emoji {
  font-style: normal;
  margin-left: 4px;
}
.study .study-sidebar .learning-goal .goal-description {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 20px;
}
.study .study-sidebar .learning-goal .btn-change-goal {
  width: 100%;
  padding: 12px 20px;
  background: var(--text-accent);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.study .study-sidebar .learning-goal .btn-change-goal:hover {
  background: #e55000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 92, 0, 0.3);
}
.study .study-main {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.study .study-main .study-header {
  margin-bottom: 40px;
}
.study .study-main .study-header .study-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.study .study-main .study-header .study-title em {
  font-style: normal;
  color: var(--text-accent);
}
.study .study-main .study-header .study-countdown {
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.5;
}
.study .study-main .study-header .study-countdown small {
  font-size: 16px;
  color: var(--text-base);
}
.study .study-main .study-modules {
  margin-bottom: 40px;
}
.study .study-main .study-modules .modules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 24px;
}
.study .study-main .module-card {
  position: relative;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.study .study-main .module-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}
.study .study-main .module-card:hover .card-thumbnail img {
  transform: scale(1.05);
}
.study .study-main .module-card.card-color-teal {
  border-top: 4px solid #4db6ac;
}
.study .study-main .module-card.card-color-pink {
  border-top: 4px solid #f48fb1;
}
.study .study-main .module-card.card-color-blue {
  border-top: 4px solid #81d4fa;
}
.study .study-main .module-card.card-color-yellow {
  border-top: 4px solid #ffeb3b;
}
.study .study-main .module-card.card-color-green {
  border-top: 4px solid #a5d6a7;
}
.study .study-main .module-card.card-color-beige {
  border-top: 4px solid #d7ccc8;
}
.study .study-main .module-card .card-thumbnail {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #f5f5f5;
}
.study .study-main .module-card .card-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.study .study-main .module-card .card-content {
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.study .study-main .module-card .card-content .card-category {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 8px;
  padding: 4px 12px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 12px;
}
.study .study-main .module-card .card-content .card-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.study .study-main .module-card .card-content .card-subtitle {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-base);
  margin-bottom: 8px;
  font-weight: 500;
}
.study .study-main .module-card .card-content .card-description {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin-bottom: 16px;
}
.study .study-main .module-card .card-content .card-check {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-main .module-card .card-content .card-check .check-title {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-accent);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.study .study-main .module-card .card-content .card-check .check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.study .study-main .module-card .card-content .card-check .check-list li {
  position: relative;
  padding-left: 20px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.study .study-main .module-card .card-content .card-check .check-list li:last-child {
  margin-bottom: 0;
}
.study .study-main .module-card .card-content .card-check .check-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--text-accent);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}
.study .study-main .study-tags {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-main .study-tags .tag-quarter {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  padding: 8px 16px;
  background: rgba(255, 92, 0, 0.1);
  border-radius: 12px;
}
.study .study-main .study-tags .tag-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
}
.study .study-main .study-tags .tag-list .tag-item {
  padding: 8px 20px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}
.study .study-main .study-tags .tag-list .tag-item:hover {
  background: #f5f5f5;
  border-color: rgba(0, 0, 0, 0.2);
}
.study .study-main .study-tags .tag-list .tag-item.active {
  background: var(--text-accent);
  color: #fff;
  border-color: var(--text-accent);
}

@media (max-width: 1400px) {
  .study .study-container {
    padding: 32px 40px;
    gap: 32px;
  }
  .study .study-sidebar {
    width: 320px;
  }
  .study .study-main .modules-grid {
    gap: 24px 20px;
  }
}
@media (max-width: 1024px) {
  .study .study-container {
    flex-direction: column;
    padding: 24px 32px;
  }
  .study .study-sidebar {
    width: 100%;
    position: relative;
    top: 0;
  }
  .study .study-sidebar .sidebar-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .study .study-sidebar .user-rank-info,
  .study .study-sidebar .quarter-selector,
  .study .study-sidebar .learning-goal {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .study .study-main .modules-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .study .study-container {
    padding: 20px 24px;
  }
  .study .study-sidebar .sidebar-content {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .study .study-main .study-header .study-title {
    font-size: 24px;
  }
  .study .study-main .study-header .study-countdown {
    font-size: 16px;
  }
  .study .study-main .modules-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}