/* 🍁⚔️ 영어 RPG · 단어 모험 — 캐나다의 하루 */

body {
  margin: 0; padding: 0 16px 60px;
  background: linear-gradient(160deg, #0f1f46, #1d4b8f 55%, #3a9ddc);
  color: #fff; font-family: "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}
h1 { margin: 18px 0 6px; font-size: 32px; text-align: center; text-shadow: 3px 3px 0 rgba(0,0,0,.28); }
.설명 { margin: 0 0 16px; font-size: 17px; text-align: center; color: #dff1ff; }
.설명 a { color: #ffe98a; font-weight: 900; }
.큰그림 { font-size: 40px; line-height: 1.1; display: block; }
.딱지 { display: inline-block; padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.2); font-size: 14px; font-weight: 800; }
.딱지.좋음 { background: #d6ffe0; color: #14663a; }
.딱지.나쁨 { background: #ffdada; color: #8a2020; }
.작은버튼 { padding: 8px 14px; border: none; border-radius: 10px; background: #ffb62e; color: #4b3405; font-size: 15px; font-weight: 900; cursor: pointer; box-shadow: 0 3px 0 #c98a17; }
.작은버튼:disabled { background: #ccc; box-shadow: 0 3px 0 #999; cursor: not-allowed; }
.작은버튼.위험 { background: #ff9ec4; color: #52203a; box-shadow: 0 3px 0 #c96590; }
.듣기버튼 { padding: 3px 9px; border: none; border-radius: 8px; background: #bfe4ff; color: #123a5c; font-size: 14px; font-weight: 800; cursor: pointer; vertical-align: middle; }

/* 캐릭터 만들기 */
.소개판 { max-width: 940px; margin: 0 auto; padding: 20px; background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.35); border-radius: 18px; }
.소개판 h2 { margin: 0 0 8px; }
.소개판 p { font-size: 16px; line-height: 1.6; }
.이름칸 { display: block; font-size: 18px; font-weight: 800; margin: 12px 0; }
.이름칸 input { margin-left: 8px; padding: 8px 12px; font-size: 18px; border-radius: 10px; border: 2px solid #fff; }
.직업줄 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.직업카드 { padding: 16px; background: #fff; color: #2b2140; border: 3px solid transparent; border-radius: 16px; text-align: left; cursor: pointer; box-shadow: 0 6px 14px rgba(0,0,0,.2); font-family: inherit; }
.직업카드:hover { border-color: #ffb62e; transform: translateY(-2px); }
.직업카드 b { font-size: 20px; display: block; margin: 6px 0 4px; }
.직업카드 p { margin: 0 0 6px; font-size: 15px; }
.직업카드 small { display: block; font-size: 13px; color: #6a5f85; }

/* 허브 상태판 */
.상태판 { max-width: 940px; margin: 0 auto 12px; padding: 14px 18px; background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.35); border-radius: 18px; }
.내카드 { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; font-size: 17px; }
.내카드 .큰그림 { font-size: 52px; }
.내카드 b { font-size: 22px; }
.바줄 { display: grid; grid-template-columns: 90px 1fr 90px; gap: 8px; align-items: center; margin: 4px 0; font-size: 14px; }
.바줄 small { text-align: right; }
.바 { height: 14px; background: rgba(0,0,0,.3); border-radius: 999px; overflow: hidden; }
.바 span { display: block; height: 100%; transition: width .3s; }
.바.체력 span { background: linear-gradient(90deg,#7ef29b,#2fae63); }
.바.마나 span { background: linear-gradient(90deg,#8fd3ff,#2b86d9); }
.바.경험 span { background: linear-gradient(90deg,#ffe98a,#ffb62e); }
.바.적체력 span { background: linear-gradient(90deg,#ff7a7a,#e03c3c); }

.탭줄 { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; max-width: 940px; margin: 0 auto 12px; }
.탭 { padding: 10px 16px; border: 2px solid rgba(255,255,255,.4); border-radius: 12px; background: rgba(255,255,255,.12); color: #fff; font-size: 16px; font-weight: 800; cursor: pointer; font-family: inherit; }
.탭.뽑힘 { background: #ffe98a; color: #4b3405; border-color: #ffe98a; }

.퀘스트판 { max-width: 940px; margin: 0 auto 12px; padding: 12px 16px; background: rgba(255,233,138,.18); border: 2px dashed #ffe98a; border-radius: 14px; font-size: 16px; }

/* 시간선 지도 */
.시간선 { max-width: 940px; margin: 0 auto; display: grid; gap: 8px; position: relative; }
.챕터 { display: grid; grid-template-columns: 60px 48px 1fr; gap: 10px; align-items: center; padding: 10px 14px; background: rgba(255,255,255,.14); color: #fff; border: 2px solid rgba(255,255,255,.4); border-radius: 14px; text-align: left; cursor: pointer; font-family: inherit; }
.챕터:hover { background: rgba(255,255,255,.26); }
.챕터 .시각 { font-size: 15px; font-weight: 900; color: #ffe98a; }
.챕터 .곳 { font-size: 32px; }
.챕터 .글 b { font-size: 17px; display: block; }
.챕터 .글 small { font-size: 13px; opacity: .9; }
.챕터.깸 { background: rgba(126,242,155,.25); border-color: #7ef29b; }
.챕터.지금 { border-color: #ffe98a; box-shadow: 0 0 0 3px rgba(255,233,138,.35); }
.챕터.잠김 { opacity: .45; cursor: not-allowed; }

/* 상점 · 가방 · 동료 · 노트 */
.가게판 { max-width: 940px; margin: 0 auto 14px; padding: 16px; background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.35); border-radius: 18px; }
.가게판 h3 { margin: 0 0 10px; font-size: 20px; }
.가게판 h3 small { font-size: 13px; font-weight: 700; opacity: .85; }
.가게판 a { color: #ffe98a; font-weight: 900; }
.물건줄 { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.물건 { padding: 12px; background: #fff; color: #2b2140; border-radius: 14px; border: 3px solid transparent; }
.물건.뽑힘 { border-color: #2fae63; }
.물건.흐림 { opacity: .6; }
.물건 b { display: block; font-size: 16px; margin: 4px 0 2px; }
.물건 p { margin: 0 0 6px; font-size: 14px; }
.물건 small { display: block; font-size: 12px; color: #6a5f85; margin-bottom: 6px; }
.노트줄 { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.25); font-size: 15px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.노트줄 b { font-size: 17px; color: #ffe98a; }
.노트줄 i { opacity: .9; }

/* 막 (챕터 · 전투) */
.전투막 { position: fixed; inset: 0; z-index: 500; background: rgba(10,5,25,.85); display: flex; align-items: flex-start; justify-content: center; padding: 14px; overflow-y: auto; }
.전투막.숨김 { display: none; }
.전투창 { width: 100%; max-width: 640px; margin: auto; padding: 18px; background: #fff; color: #2b2140; border-radius: 22px; box-shadow: 0 14px 30px rgba(0,0,0,.4); }
.전투창 h2 { margin: 0; font-size: 22px; }
.창메뉴 { display: flex; gap: 8px; justify-content: flex-end; margin: -6px -6px 10px; padding-bottom: 8px; border-bottom: 1px dashed rgba(91,42,134,.25); }
.창메뉴버튼 { padding: 7px 12px; border: 2px solid #5b9cff; border-radius: 10px; background: #fff; color: #1f3a66; font-size: 14px; font-weight: 900; cursor: pointer; font-family: inherit; }
.창메뉴버튼.위험 { border-color: #ff6b6b; color: #8a1f1f; }
.창메뉴버튼 small.영 { font-weight: 600; margin-left: 3px; }

.챕터머리 { display: flex; gap: 12px; align-items: center; }
.챕터머리 .곳 { font-size: 48px; }
.챕터머리 small { color: #6a5f85; font-weight: 700; }
.대사 { display: flex; gap: 12px; margin: 12px 0; padding: 12px; background: #f4f0ff; border-radius: 14px; }
.대사 .엔그림 { font-size: 44px; }
.대사 b { font-size: 15px; color: #5b2a86; }
.대사 .영어 { margin: 4px 0; font-size: 17px; font-weight: 800; line-height: 1.4; }
.대사 .한글 { margin: 0; font-size: 14px; color: #5a5470; }
.적줄 { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.적칸 { padding: 12px; background: #fff; border: 3px solid #b18ce0; border-radius: 14px; text-align: center; cursor: pointer; font-family: inherit; color: #2b2140; }
.적칸:hover { background: #efe6ff; }
.적칸.보스 { border-color: #e03c3c; background: #fff4f4; }
.적칸.끝 { border-color: #2fae63; background: #f0fff4; }
.적칸.잠김 { opacity: .5; cursor: not-allowed; }
.적칸 b { display: block; font-size: 15px; margin: 4px 0; }
.적칸 small { font-size: 12px; color: #6a5f85; display: block; }
.적칸 em { font-style: normal; color: #2fae63; font-weight: 900; font-size: 13px; }

/* 전장 */
.전장 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.적쪽, .내쪽 { padding: 10px; border-radius: 14px; text-align: center; }
.적쪽 { background: #fff0f0; }
.내쪽 { background: #eefaf1; }
.전장 b { font-size: 16px; }
.전장 .바줄 { grid-template-columns: 0 1fr 70px; gap: 4px; font-size: 12px; }
.몬그림 { font-size: 64px; line-height: 1.1; position: relative; }
.몬그림 small { position: absolute; font-size: 26px; bottom: -2px; right: 14%; }
.몬그림.맞음 { animation: 흔들 .35s; }
@keyframes 흔들 { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-12px)} 75%{transform:translateX(12px)} }

.행동줄 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-top: 10px; }
.행동 { padding: 10px 8px; background: #fff; border: 3px solid #b18ce0; border-radius: 12px; font-size: 22px; cursor: pointer; text-align: center; color: #2b2140; font-family: inherit; }
.행동:hover { background: #efe6ff; }
.행동:disabled { opacity: .45; cursor: not-allowed; }
.행동 b { display: block; font-size: 15px; }
.행동 small { display: block; font-size: 11px; color: #6a5f85; line-height: 1.3; }
.행동.도망 { border-color: #ff9ec4; }

.문제박스 { margin-top: 10px; padding: 14px; background: #f4f0ff; border-radius: 14px; }
.기술알림 { margin: 0 0 8px; font-size: 14px; color: #5b2a86; }
.문제글 { margin: 0 0 10px; font-size: 20px; font-weight: 800; line-height: 1.4; }
.문제글 .예문 { color: #5b2a86; font-style: italic; }
.보기줄 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.보기 { padding: 12px; border: 3px solid #b18ce0; border-radius: 12px; background: #fff; color: #2b2140; font-size: 17px; font-weight: 800; cursor: pointer; font-family: inherit; }
.보기:hover { background: #efe6ff; }
.보기.정답 { background: #d6ffe0; border-color: #2fae63; }
.보기.오답 { background: #ffdada; border-color: #e03c3c; }

.단어카드 { margin-top: 10px; padding: 12px 14px; border-radius: 12px; font-size: 16px; line-height: 1.5; }
.단어카드.좋음 { background: #d6ffe0; }
.단어카드.나쁨 { background: #ffdada; }
.단어카드 .영 { font-size: 20px; font-weight: 900; }
.단어카드 i { color: #5b2a86; }

.전투로그 { margin-top: 10px; max-height: 120px; overflow-y: auto; padding: 10px; background: #efeaf9; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.결과 { text-align: center; margin-top: 10px; }
.결과 p { font-size: 17px; line-height: 1.6; }
.닫기줄 { display: flex; gap: 8px; justify-content: center; margin-top: 12px; flex-wrap: wrap; }
.닫기 { padding: 10px 18px; border: none; border-radius: 12px; background: #ff9ec4; color: #52203a; font-size: 16px; font-weight: 900; cursor: pointer; box-shadow: 0 4px 0 #c96590; font-family: inherit; }
.계속 { background: #7ef29b; color: #1d4a2c; box-shadow: 0 4px 0 #3fae63; }

@media (max-width: 600px) {
  h1 { font-size: 24px; }
  .전장 { grid-template-columns: 1fr; }
  .챕터 { grid-template-columns: 52px 40px 1fr; }
  .몬그림 { font-size: 52px; }
}

/* 🇨🇦 한글 문제 밑 영어 한 줄 */
.영어줄 { margin: -4px 0 10px; font-size: 15px; font-weight: 800; color: #5b2a86; line-height: 1.5; }
.뱅크연동{margin-top:10px;padding:8px 10px;color:#315f4d;border:1px solid #a9dfc9;border-radius:9px;background:#e9faf2;font-size:13px;font-weight:900}

/* 🇨🇦 영어 부제 (한글 옆·밑 작은 영어) */
.영제목 { display: block; font-size: 16px; font-weight: 700; opacity: .85; margin-top: 4px; }
.설명 .영어줄 { display: block; margin-top: 6px; font-size: 15px; color: #ffe98a; font-weight: 700; }
small.영, i.영 { font-style: normal; font-weight: 700; font-size: 12px; opacity: .8; }
.탭 small.영 { display: block; font-size: 11px; }
.챕터 small.영, .스테이지 small.영 { display: block; color: #ffe98a; opacity: 1; }

/* 🍁 영어 줄 — 어두운 배경에선 노랗게 크게, 흰 창 안에선 보라색 */
.영어줄 { margin: 2px 0 12px; font-size: 16px; font-weight: 800; line-height: 1.5; color: #ffe98a; }
.전투창 .영어줄, .직업카드 .영어줄, .물건 .영어줄 { color: #5b2a86; }
small.영, i.영 { font-size: 13px; opacity: .95; color: #ffe98a; }
.전투창 small.영, .전투창 i.영, .직업카드 small.영, .물건 small.영, .행동 i.영 { color: #5b2a86; }
.탭.뽑힘 small.영 { color: #4b3405; }
.이름칸 small.영 { font-size: 14px; }

/* =====================================================================
   👶 아이 눈 기준 손질 (A안) — 글씨 크게 · 색 역할 4개 · 화면 단순하게
   색 역할: 노랑 = 강조/보상, 초록 = 정답/계속, 빨강 = 오답/위험, 파랑 = 누를 수 있는 것
   ===================================================================== */
:root { --강조: #ffe98a; --좋음: #2fae63; --좋음연: #d6ffe0; --나쁨: #e03c3c; --나쁨연: #ffdada; --누름: #2b86d9; --누름연: #e3f2ff; --글: #1f1a33; --글연: #5a5470; }
body { font-size: 18px; line-height: 1.55; }
h1 { font-size: 34px; }
.설명 { font-size: 18px; }
.설명 .영어줄 { font-size: 17px; }
.영제목 { font-size: 18px; }

/* 라벨 최소 15px, 본문 18px, 버튼 18~20px */
small, .딱지, .챕터 .글 small, .적칸 small, .물건 small, .행동 small, .직업카드 small, .챕터머리 small, .대사 .한글, .체력줄 small, .바줄 { font-size: 15px !important; }
small.영, i.영 { font-size: 15px; }
.탭 small.영 { font-size: 13px; }
.영어줄 { font-size: 17px; }
.소개판 p, .물건 p, .직업카드 p, .퀘스트판, .가게판 p, .결과 p, .단어카드, .전투로그, .노트줄 { font-size: 17px; }
.직업카드 b, .물건 b, .적칸 b, .챕터 .글 b { font-size: 20px; }
.탭, .작은버튼, .닫기, .강화버튼 { font-size: 18px; padding: 12px 18px; }
.행동 { font-size: 26px; padding: 12px 10px; }
.행동 b { font-size: 18px; }
.보기 { font-size: 20px; padding: 16px 12px; min-height: 60px; }
.문제글 { font-size: 23px; }
.문제글 .예문 { font-size: 21px; }
.듣기버튼 { font-size: 16px; padding: 5px 12px; }
.이름칸 input { font-size: 20px; }

/* 색 정리 — 보라·분홍·주황을 네 가지 역할색으로 */
.전투창, .직업카드, .물건, .적칸 { color: var(--글); }
.전투창 .영어줄, .직업카드 .영어줄, .물건 .영어줄, .전투창 small.영, .전투창 i.영, .직업카드 small.영, .물건 small.영, .행동 i.영 { color: var(--누름); }
.문제박스 { background: #f3f7ff; }
.문제글 .예문, .기술알림, .대사 b, .단어카드 i, .노트줄 b { color: var(--누름); }
.대사 { background: var(--누름연); }
.보기, .행동, .적칸 { border-color: var(--누름); background: #fff; }
.보기:hover, .행동:hover, .적칸:hover { background: var(--누름연); }
.보기.정답 { background: var(--좋음연); border-color: var(--좋음); }
.보기.오답 { background: var(--나쁨연); border-color: var(--나쁨); }
.행동.도망, .적칸.보스 { border-color: var(--나쁨); }
.적칸.끝 { border-color: var(--좋음); }
.닫기 { background: var(--누름연); color: #123a5c; box-shadow: 0 4px 0 #9fc6ea; }
.계속 { background: var(--좋음연); color: #14663a; box-shadow: 0 4px 0 #6fcf93; }
.작은버튼, .강화버튼 { background: var(--강조); color: #4b3405; box-shadow: 0 3px 0 #d9b84a; }
.작은버튼.위험 { background: var(--나쁨연); color: #8a2020; box-shadow: 0 3px 0 #e09a9a; }
.전투로그 { background: #f3f7ff; color: var(--글); }
.노트줄 b { color: var(--강조); }

/* 상태줄 단순화 — 한 줄에 핵심만, 능력치는 작게 뒤로 */
.내카드 .딱지 { background: rgba(255,255,255,.18); }
.상태판 .바줄 { grid-template-columns: 110px 1fr 100px; }
.퀘스트판 { font-size: 17px; }

/* 흰 창 넓히기 — 읽는 영역 확보 */
.전투창 { max-width: 760px; padding: 22px 24px; }
.전장 .바줄 { font-size: 13px !important; }
.몬그림 { font-size: 72px; }

@media (max-width: 600px) {
  body { font-size: 17px; }
  h1 { font-size: 26px; }
  .문제글 { font-size: 20px; }
  .보기 { font-size: 18px; }
  .전투창 { padding: 16px; }
}
