/* 액션영어 v0.9.5 디자인 토큰 (단일 소스) — Pretendard + 12단계 컬러 + 5단계 그림자 */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

:root{
  /* === 컬러 12단계 (Tailwind 표준) === */
  /* Primary (Navy Blue) */
  --lp-primary-50:#EBF3FB;
  --lp-primary-100:#C7DCF0;
  --lp-primary-200:#A2C4E5;
  --lp-primary-300:#5E8EC2;
  --lp-primary-400:#3D72AE;
  --lp-primary-500:#1F4E79;  /* base */
  --lp-primary-600:#1A416A;
  --lp-primary-700:#133355;
  --lp-primary-800:#0C233D;
  --lp-primary-900:#061927;
  /* Accent (Gold) */
  --lp-accent-50:#FFF9E6;
  --lp-accent-100:#FFF0B8;
  --lp-accent-300:#FFD54F;
  --lp-accent-500:#F4B400;  /* base */
  --lp-accent-700:#9C7400;
  /* Semantic */
  --lp-success-50:#E1F5EE;
  --lp-success-500:#0F6E56;
  --lp-success-700:#0A4F3D;
  --lp-warn-50:#FFF4E6;
  --lp-warn-500:#FFA94D;
  --lp-danger-50:#FCEBEB;
  --lp-danger-500:#E24B4A;
  /* Neutral 12단계 */
  --lp-gray-50:#F8FAFC;
  --lp-gray-100:#F1F5F9;
  --lp-gray-200:#E2E8F0;
  --lp-gray-300:#CBD5E1;
  --lp-gray-400:#94A3B8;
  --lp-gray-500:#64748B;
  --lp-gray-600:#475569;
  --lp-gray-700:#334155;
  --lp-gray-800:#1E293B;
  --lp-gray-900:#0F172A;

  /* === 별칭 (기존 코드 호환) === */
  --lp-primary:var(--lp-primary-500);
  --lp-accent:var(--lp-accent-500);
  --lp-bg:#F7FAFC;
  --lp-surface:#FFFFFF;
  --lp-text:var(--lp-gray-900);
  --lp-text-mute:var(--lp-gray-500);
  --lp-text-faint:var(--lp-gray-400);
  --lp-success:var(--lp-success-500);
  --lp-warn:var(--lp-warn-500);
  --lp-danger:var(--lp-danger-500);
  --lp-coin:#F5A623;
  --lp-line:var(--lp-gray-200);

  /* === 폰트 (Pretendard 표준 위계) === */
  --lp-font:'Pretendard',-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --lp-h1:22px;
  --lp-h2:16px;
  --lp-body:14px;
  --lp-caption:12px;

  /* 간격 (4px 베이스) */
  --lp-s1:4px; --lp-s2:8px; --lp-s3:16px; --lp-s4:24px; --lp-s5:32px;
  /* 모서리 */
  --lp-r-sm:8px; --lp-r-md:12px; --lp-r-lg:16px; --lp-r-xl:24px;

  /* === 그림자 5단계 (소프트 + 자연) === */
  --lp-shadow-sm: 0 1px 2px rgba(15,23,42,.06);
  --lp-shadow:    0 2px 8px rgba(15,23,42,.07);
  --lp-shadow-md: 0 4px 14px rgba(15,23,42,.10);
  --lp-shadow-lg: 0 10px 30px rgba(15,23,42,.12);
  --lp-shadow-xl: 0 20px 50px rgba(15,23,42,.16);

  /* 모션 이징 (자연스러운 애니메이션) */
  --lp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --lp-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* 리셋 */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}
body{margin:0;font-family:var(--lp-font);
     background:var(--lp-bg);color:var(--lp-text);min-height:100vh;font-size:var(--lp-body);line-height:1.5;
     -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
     letter-spacing:-0.01em}
h1,h2,h3,h4,h5,h6{letter-spacing:-0.02em}

/* 컨테이너 */
.lp-app{max-width:480px;margin:0 auto;min-height:calc(100vh - 80px);padding-bottom:88px;display:flex;flex-direction:column}

/* 상단 헤더 (모든 페이지 공통) */
.lp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;background:var(--lp-bg);position:sticky;top:0;z-index:50}
.lp-header h1{margin:0;font-size:var(--lp-h1);font-weight:800;color:var(--lp-primary)}
.lp-header .lp-back{background:none;border:none;font-size:22px;color:var(--lp-primary);cursor:pointer;padding:0;width:32px}
.lp-header .lp-streak{display:flex;align-items:center;gap:4px;font-size:var(--lp-caption);font-weight:700;color:var(--lp-text-mute);padding:4px 10px;background:var(--lp-surface);border-radius:14px}
.lp-header .lp-coin{display:flex;align-items:center;gap:3px;background:linear-gradient(135deg,#FFD93D,#F5A623);color:#5A4500;padding:4px 10px;border-radius:14px;font-size:var(--lp-caption);font-weight:800;text-decoration:none}

/* 카드 — 단일 표준 */
.lp-card{background:var(--lp-surface);border-radius:var(--lp-r-md);padding:var(--lp-s3);box-shadow:var(--lp-shadow-sm);margin-bottom:var(--lp-s2)}
.lp-card.lp-clickable{cursor:pointer;transition:transform .1s}
.lp-card.lp-clickable:active{transform:scale(0.98)}

/* 큰 강조 카드 (홈의 메인 CTA) */
.lp-hero{background:linear-gradient(135deg,var(--lp-primary),var(--lp-accent));color:white;border-radius:var(--lp-r-xl);padding:20px 18px;margin:0 var(--lp-s3) var(--lp-s3);box-shadow:0 6px 18px rgba(31,78,121,.18)}
.lp-hero .lp-eyebrow{font-size:var(--lp-caption);opacity:.85;margin-bottom:4px}
.lp-hero .lp-title{font-size:18px;font-weight:800;line-height:1.3}
.lp-hero .lp-bar{height:6px;background:rgba(255,255,255,.25);border-radius:4px;overflow:hidden;margin:12px 0 14px}
.lp-hero .lp-bar-fill{height:100%;background:white;border-radius:4px;transition:width .3s}
.lp-hero .lp-cta{display:block;width:100%;padding:12px;background:white;color:var(--lp-primary);border:none;border-radius:var(--lp-r-md);font-size:var(--lp-body);font-weight:800;cursor:pointer}

/* 섹션 제목 */
.lp-section-title{font-size:var(--lp-h2);font-weight:800;color:var(--lp-text);margin:var(--lp-s4) var(--lp-s3) var(--lp-s2);display:flex;justify-content:space-between;align-items:baseline}
.lp-section-title .lp-more{font-size:var(--lp-caption);color:var(--lp-text-mute);text-decoration:none;font-weight:500}

/* 리스트 아이템 (추천 카드 등) */
.lp-list{padding:0 var(--lp-s3)}
.lp-item{background:var(--lp-surface);border-radius:var(--lp-r-md);padding:14px;margin-bottom:var(--lp-s2);display:flex;align-items:center;gap:12px;cursor:pointer;box-shadow:var(--lp-shadow-sm)}
.lp-item .lp-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--lp-bg);border-radius:50%}
.lp-item .lp-info{flex:1;min-width:0}
.lp-item .lp-name{font-size:var(--lp-body);font-weight:700;color:var(--lp-text)}
.lp-item .lp-desc{font-size:var(--lp-caption);color:var(--lp-text-mute);margin-top:2px}
.lp-item .lp-arrow{color:var(--lp-text-faint);font-size:18px}

/* 그리드 (학습 카테고리 등) */
.lp-grid{padding:0 