*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

html,
body {
  height: 100%;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif; }

body {
  background-color: #fffaee; }

img {
  display: block;
  max-width: 100%; }

button {
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit; }

.popup-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s; }
  .popup-overlay.is-visible {
    opacity: 1;
    pointer-events: auto; }

.popup-modal {
  background: #fff;
  border-radius: 20px;
  width: 556px;
  padding: 60px 46px 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); }

.popup-text {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 22px;
  color: #333333;
  text-align: center;
  line-height: 1.7;
  letter-spacing: -0.44px; }

.popup-actions {
  display: flex;
  gap: 14px;
  width: 100%; }

.popup-btn {
  flex: 1;
  height: 51px;
  border: none;
  border-radius: 7px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.4px;
  cursor: pointer;
  transition: filter 0.15s; }
  .popup-btn:hover {
    filter: brightness(0.9); }
  .popup-btn--skip {
    background-color: #ddd;
    color: #777; }
  .popup-btn--record {
    background-color: #7b4bcd;
    color: #fff; }

.page-topic-select {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 36px; }

.topic-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  font-style: normal;
  color: #333333;
  text-align: center;
  letter-spacing: -0.8px;
  white-space: nowrap; }

.sketchbook-wrap {
  position: relative;
  width: 928px;
  height: 616px;
  flex-shrink: 0; }

.book-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  max-width: none; }

.sticky-wrap {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  overflow: visible; }
  .sticky-wrap--middle-school {
    top: 28.41%;
    right: 51.44%;
    bottom: 56%;
    left: 15.68%; }
  .sticky-wrap--emotion {
    top: 44.91%;
    right: 14.59%;
    bottom: 38.3%;
    left: 59.14%; }
  .sticky-wrap--travel {
    top: 63.78%;
    right: 52.38%;
    bottom: 22.76%;
    left: 27.67%; }
  .sticky-wrap:hover .sticky {
    filter: brightness(0.93); }

.sticky {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: filter 0.15s ease; }
  .sticky__vector, .sticky__mask {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none; }
  .sticky__vector {
    z-index: 0; }
  .sticky__mask {
    z-index: 1; }
  .sticky__label {
    position: relative;
    z-index: 2;
    font-family: "Ownglyph PDH", "Nanum Pen Script", cursive;
    font-size: 34px;
    font-style: normal;
    color: #333333;
    text-align: center;
    letter-spacing: -0.68px;
    line-height: 1.2;
    pointer-events: none;
    user-select: none; }
  .sticky--middle-school {
    width: 301px;
    height: 69px;
    transform: rotate(-5.26deg); }
  .sticky--emotion {
    width: 236px;
    height: 68px;
    transform: rotate(8.69deg); }
  .sticky--travel {
    width: 180px;
    height: 69px;
    transform: rotate(-4.62deg); }

.selection-circle {
  position: absolute;
  display: none;
  pointer-events: none;
  z-index: 6; }
  .selection-circle img {
    display: block;
    width: 100%;
    height: 100%; }
  .selection-circle.is-visible {
    display: block; }

.btn-study {
  width: 331px;
  height: 73px;
  background-color: #7b4bcd;
  color: #ffffff;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 30px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: -0.6px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: background-color 0.2s ease, transform 0.1s ease;
  flex-shrink: 0; }
  .btn-study.is-visible {
    display: flex; }
  .btn-study:hover {
    background-color: #6634bb; }
  .btn-study:active {
    transform: scale(0.97); }

.page-card-game {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px 80px;
  gap: 20px; }

.topic-badge {
  background-color: #7b4bcd;
  color: #fff;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 26px;
  font-weight: 500;
  padding: 9px 24px;
  border-radius: 28px;
  margin-bottom: 20px;
  white-space: nowrap; }

.game-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  color: #333333;
  text-align: center;
  letter-spacing: -0.8px;
  margin-bottom: 8px; }

.game-subtitle {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #333333;
  text-align: center;
  margin-bottom: 40px; }

.card-grid {
  display: grid;
  grid-template-columns: repeat(5, 161px);
  grid-template-rows: repeat(2, 233px);
  column-gap: 14px;
  row-gap: 14px; }

.card {
  width: 161px;
  height: 233px;
  perspective: 900px;
  cursor: pointer; }
  .card__inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.5s ease; }
  .card.is-flipped .card__inner {
    transform: rotateY(180deg); }
  .card.is-matched {
    cursor: default;
    animation: matchPulse 0.4s ease; }
    .card.is-matched .card__front {
      border-color: #4caf50;
      border-width: 3px;
      filter: brightness(0.88) saturate(1.2); }
  .card__front, .card__back {
    position: absolute;
    inset: 0;
    border-radius: 18px;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center; }
  .card__front {
    border: 2px solid #804f27; }
    .card__front.card__front--en {
      background-color: #fff1cb; }
    .card__front.card__front--ko {
      background-color: #fbdb83; }
  .card__text {
    font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #804f27;
    text-align: center;
    padding: 0 14px;
    line-height: 1.4; }
  .card__back {
    background-color: #a082e8;
    transform: rotateY(180deg); }
  .card__logo {
    width: 74px;
    height: 74px;
    object-fit: contain; }

@keyframes matchPulse {
  0% {
    transform: scale(1); }
  40% {
    transform: scale(1.06); }
  100% {
    transform: scale(1); } }

.nav-arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  transition: transform 0.15s ease, opacity 0.2s; }
  .nav-arrow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain; }
  .nav-arrow:hover {
    transform: translateY(-50%) scale(1.1); }
  .nav-arrow:active {
    transform: translateY(-50%) scale(0.95); }
  .nav-arrow--left {
    left: 3%; }
  .nav-arrow--right {
    right: 3%;
    visibility: hidden;
    pointer-events: none; }
    .nav-arrow--right img {
      transform: scaleX(-1); }
    .nav-arrow--right:hover {
      transform: translateY(-50%) scale(1.1); }
    .nav-arrow--right:active {
      transform: translateY(-50%) scale(0.95); }
    .nav-arrow--right.is-visible {
      visibility: visible;
      pointer-events: auto; }

.page-sentence {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px 80px;
  gap: 24px; }

.sentence-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px; }

.sentence-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  color: #333333;
  letter-spacing: -0.8px;
  text-align: center; }

.sentence-subtitle {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #333333;
  text-align: center; }

.word-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  max-width: 940px; }

.word-card {
  position: relative;
  background-color: #ffe7c8;
  border-radius: 8px;
  padding: 18px 44px 18px 20px;
  min-width: 140px;
  cursor: pointer;
  user-select: none;
  transition: filter 0.15s; }
  .word-card:hover {
    filter: brightness(0.95); }
  .word-card:active {
    filter: brightness(0.88); }
  .word-card__en {
    font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #333333;
    display: block;
    margin-bottom: 4px; }
  .word-card__ko {
    font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #967265;
    display: block; }
  .word-card__speaker {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer; }
    .word-card__speaker img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain; }

.sentence-area-wrap {
  width: 100%;
  max-width: 860px; }

.sentence-textarea {
  width: 100%;
  min-height: 240px;
  background-color: #fff;
  border: 2px solid #707070;
  border-radius: 11px;
  padding: 28px 32px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 22px;
  color: #333333;
  line-height: 1.6;
  resize: vertical;
  outline: none;
  box-sizing: border-box; }
  .sentence-textarea::placeholder {
    color: #898989; }
  .sentence-textarea:focus {
    border-color: #7b4bcd; }

.page-recording {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 32px; }

.recording-sentence-box {
  width: 100%;
  max-width: 860px;
  min-height: 240px;
  background-color: #fff;
  border: 2px solid #707070;
  border-radius: 11px;
  padding: 36px 36px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 22px;
  color: #333333;
  line-height: 1.7;
  letter-spacing: -0.44px;
  box-sizing: border-box;
  word-break: break-word;
  white-space: pre-wrap; }

.recording-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px; }

.record-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #ffe7c8;
  border: none;
  border-radius: 23px;
  padding: 8px 20px 8px 16px;
  height: 42px;
  min-width: 153px;
  cursor: pointer;
  transition: filter 0.15s; }
  .record-btn:hover {
    filter: brightness(0.95); }
  .record-btn:active {
    filter: brightness(0.88); }
  .record-btn.is-recording .record-dot {
    animation: recPulse 1s ease-in-out infinite; }

.record-dot {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background-color: #f77f34;
  flex-shrink: 0; }

.record-timer {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: #a38a7b;
  letter-spacing: 0.5px;
  min-width: 48px;
  text-align: center; }

@keyframes recPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1); }
  50% {
    opacity: 0.5;
    transform: scale(1.2); } }

.record-hint {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #967265;
  text-align: center; }

.record-actions {
  display: flex;
  gap: 12px;
  visibility: hidden;
  pointer-events: none; }
  .record-actions.is-visible {
    visibility: visible;
    pointer-events: auto; }

.record-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 39px;
  padding: 0 20px;
  border: none;
  border-radius: 6px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  letter-spacing: -0.54px;
  cursor: pointer;
  transition: filter 0.15s; }
  .record-action-btn:hover {
    filter: brightness(0.9); }
  .record-action-btn--retry {
    background-color: #f77f34; }
  .record-action-btn--complete {
    background-color: #7b4bcd; }
  .record-action-btn img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain; }

.page-drawing {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 20px 40px;
  gap: 16px; }

.drawing-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px; }

.drawing-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  color: #333333;
  letter-spacing: -0.8px;
  text-align: center; }

.drawing-subtitle {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #333333;
  text-align: center; }

.canvas-wrap {
  position: relative;
  width: 100%;
  max-width: 860px;
  height: 440px;
  background: #fff;
  border: 2px solid #707070;
  border-radius: 11px;
  overflow: hidden; }
  .canvas-wrap #drawingCanvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    touch-action: none; }
  .canvas-wrap.cursor-pen #drawingCanvas {
    cursor: crosshair; }
  .canvas-wrap.cursor-eraser #drawingCanvas {
    cursor: cell; }
  .canvas-wrap.cursor-fill #drawingCanvas {
    cursor: copy; }

.upload-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(180, 175, 190, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s; }
  .upload-overlay.is-visible {
    opacity: 1;
    pointer-events: auto; }

.upload-modal {
  background: #fff;
  border-radius: 12px;
  padding: 40px 48px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 360px; }

.upload-modal-text {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  color: #333333;
  text-align: center;
  line-height: 1.7; }

.upload-modal-actions {
  display: flex;
  gap: 12px;
  width: 100%; }

.upload-modal-btn {
  flex: 1;
  height: 44px;
  border: none;
  border-radius: 7px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: filter 0.15s; }
  .upload-modal-btn:hover {
    filter: brightness(0.9); }
  .upload-modal-btn--skip {
    background-color: #ddd;
    color: #777; }
  .upload-modal-btn--find {
    background-color: #7b4bcd;
    color: #fff; }

.drawing-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 860px;
  flex-wrap: wrap;
  justify-content: center; }

.toolbar-divider {
  width: 1px;
  height: 32px;
  background-color: #d0c8d8;
  flex-shrink: 0; }

.toolbar-history {
  display: flex;
  gap: 4px; }

.btn-history {
  width: 34px;
  height: 34px;
  border: none;
  background: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #555;
  transition: background 0.15s; }
  .btn-history:hover {
    background: rgba(0, 0, 0, 0.06); }
  .btn-history:disabled {
    opacity: 0.3;
    cursor: default; }
  .btn-history img {
    width: 20px;
    height: 20px;
    object-fit: contain; }

.toolbar-brush {
  display: flex;
  align-items: center;
  gap: 10px; }

.color-circle-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  cursor: pointer;
  flex-shrink: 0; }
  .color-circle-btn input[type="color"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer; }

.color-circle {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
  background-color: #000;
  pointer-events: none;
  transition: background-color 0.1s; }

.brush-dot-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px; }

.brush-dot {
  border-radius: 50%;
  background-color: #333;
  transition: width 0.1s, height 0.1s; }

.brush-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 120px;
  height: 4px;
  border-radius: 2px;
  background: #d0c8d8;
  outline: none;
  cursor: pointer; }
  .brush-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #7b4bcd;
    cursor: pointer; }
  .brush-slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #7b4bcd;
    border: none;
    cursor: pointer; }

.toolbar-tools {
  display: flex;
  gap: 6px; }

.tool-btn {
  width: 38px;
  height: 38px;
  border: none;
  background-color: #fff;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, box-shadow 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); }
  .tool-btn img {
    width: 22px;
    height: 22px;
    object-fit: contain; }
  .tool-btn:hover {
    background-color: #f0ebf8; }
  .tool-btn.is-active {
    background-color: #7b4bcd; }
    .tool-btn.is-active img {
      filter: brightness(10); }

.btn-complete {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 41px;
  padding: 0 20px;
  background-color: #7b4bcd;
  border: none;
  border-radius: 5px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.4px;
  cursor: pointer;
  transition: filter 0.15s; }
  .btn-complete:hover {
    filter: brightness(1.1); }
  .btn-complete:active {
    filter: brightness(0.9); }
  .btn-complete img {
    width: 20px;
    height: 20px;
    object-fit: contain; }

.drawing-sentence-box {
  width: 100%;
  max-width: 860px;
  background-color: #ffe7c8;
  border-radius: 10px;
  padding: 20px 32px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  color: #333333;
  line-height: 1.6;
  letter-spacing: -0.36px;
  word-break: break-word; }

.page-result {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px 80px;
  gap: 32px; }

.result-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px; }

.result-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  color: #333333;
  letter-spacing: -0.8px;
  text-align: center; }

.result-book-wrap {
  position: relative;
  width: 582px;
  height: 386px;
  flex-shrink: 0; }

.result-book-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block; }

.result-drawing-area {
  position: absolute;
  top: 52px;
  left: 42px;
  right: 42px;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px; }
  .result-drawing-area img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block; }
  .result-drawing-area .result-placeholder {
    font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
    font-size: 16px;
    color: #b0a8b8;
    text-align: center; }

.result-analysis {
  width: 100%;
  max-width: 860px;
  background-color: #fff;
  border: 2px solid #707070;
  border-radius: 11px;
  padding: 36px 48px;
  box-sizing: border-box; }

.result-analysis-title {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #7b4bcd;
  margin-bottom: 16px; }

.result-analysis-text {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  color: #333333;
  line-height: 1.8;
  letter-spacing: -0.48px; }

.page-evaluation {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px 80px;
  gap: 20px; }

.eval-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px; }

.eval-title {
  font-family: "BusanBada", "Do Hyeon", "Noto Sans KR", sans-serif;
  font-size: 40px;
  color: #333333;
  letter-spacing: -0.8px; }

.eval-tab {
  height: 49px;
  min-width: 153px;
  padding: 0 28px;
  border: none;
  border-radius: 9px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.44px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s; }
  .eval-tab.is-active {
    background-color: #f77f34;
    color: #fff; }
  .eval-tab:not(.is-active) {
    background-color: #ffe7c8;
    color: #f77f34; }
  .eval-tab:hover:not(.is-active) {
    background-color: #ffd5aa; }

.eval-card {
  width: 100%;
  max-width: 900px;
  background-color: #ffe7c8;
  border-radius: 10px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-sizing: border-box; }

.eval-tab-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 900px; }

.eval-tabs-group {
  display: flex;
  gap: 10px; }

.eval-download-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 16px;
  background-color: #7b4bcd;
  border: none;
  border-radius: 8px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 0.15s;
  flex-shrink: 0; }
  .eval-download-btn:hover {
    filter: brightness(1.1); }
  .eval-download-btn:active {
    filter: brightness(0.9); }
  .eval-download-btn svg {
    display: block;
    flex-shrink: 0; }

.eval-sentence-box {
  background-color: #fff7ec;
  border-radius: 11px;
  padding: 22px 32px 28px;
  min-height: 140px; }

.eval-sentence-label {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 25px;
  font-weight: 700;
  color: #f77f34;
  margin-bottom: 12px; }

.eval-sentence-text {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  color: #333333;
  line-height: 1.7;
  letter-spacing: -0.4px; }

.eval-feedback-box {
  background-color: #fff;
  border: 2px solid #a082e8;
  border-radius: 11px;
  padding: 20px 28px 22px; }

.eval-feedback-title {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #7b4bcd;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px; }
  .eval-feedback-title .star {
    color: #f4c542; }

.eval-feedback-text {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  color: #333333;
  line-height: 1.75;
  letter-spacing: -0.4px; }

.eval-pron-row {
  display: flex;
  gap: 18px;
  align-items: stretch; }

.eval-circle-box {
  flex: 0 0 240px;
  background-color: #fff7ec;
  border-radius: 19px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px; }

.score-chart-wrap {
  position: relative;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center; }

.score-chart-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg); }

.score-chart-center {
  position: relative;
  z-index: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center; }

.score-chart-label {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #f77f34;
  line-height: 1; }

.score-chart-value {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #7b4bcd;
  line-height: 1.1; }

.eval-detail-box {
  flex: 1;
  background-color: #fff7ec;
  border-radius: 19px;
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-around; }

.score-item {
  padding: 10px 0;
  border-bottom: 1px solid #e0d8f0; }
  .score-item:last-child {
    border-bottom: none; }

.score-item-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 5px; }

.score-tag {
  background-color: #a282e4;
  color: #fff;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  font-weight: 700;
  border-radius: 6px;
  padding: 3px 14px;
  flex-shrink: 0; }

.score-value {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #333333; }

.score-desc {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 15px;
  color: #333333;
  line-height: 1.5;
  letter-spacing: -0.3px; }

.eval-panel {
  display: none; }
  .eval-panel.is-active {
    display: contents; }

.page-complete {
  min-height: 100vh;
  background-color: #fffaee;
  display: flex;
  align-items: center;
  justify-content: center; }

.complete-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px; }

.complete-check {
  width: 77px;
  height: 43px;
  object-fit: contain;
  display: block; }

.complete-msg {
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 36px;
  font-weight: 600;
  color: #333333;
  letter-spacing: -0.72px;
  text-align: center; }

.complete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 67px;
  min-width: 231px;
  padding: 0 40px;
  background-color: #7b4bcd;
  border-radius: 7px;
  font-family: "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 30px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.6px;
  text-decoration: none;
  transition: filter 0.15s; }
  .complete-btn:hover {
    filter: brightness(1.1); }
  .complete-btn:active {
    filter: brightness(0.9); }

/*# sourceMappingURL=main.css.map */