*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}
:root{
  --bg:#f4f7fb;
  --bg-2:#eef4ff;
  --surface:rgba(255,255,255,.82);
  --surface-strong:#ffffff;
  --line:#dbe5f3;
  --line-2:#e9eef7;
  --text:#172235;
  --muted:#66758f;
  --muted-2:#8d99ad;
  --primary:#4f7cf7;
  --primary-2:#7ea5ff;
  --green:#4fb37a;
  --amber:#f5b94f;
  --violet:#8967f3;
  --shadow:0 18px 50px rgba(32,53,94,.10);
  --shadow-soft:0 10px 28px rgba(32,53,94,.06);
  --radius-xl:30px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:14px;
}
body{
  font-family:'Inter','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(126,165,255,.20), transparent 22%),
    radial-gradient(circle at top right, rgba(79,179,122,.14), transparent 18%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg) 55%, #f8fbff 100%);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
textarea{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.page-shell{overflow:hidden}
.glass-card{
  background:var(--surface);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.hero-section{padding:32px 0 18px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:center}
.hero-copy,.source-card,.summary-card,.focus-panel,.matrix-card,.footer-card,.field-card,.example-card,.note-card,.quiz-shell,.quiz-card,.subjective-card{
  border-radius:var(--radius-xl);
}
.hero-copy{padding:40px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(79,124,247,.10);color:var(--primary);
  font-size:13px;font-weight:800;letter-spacing:.02em;
}
.eyebrow.small{font-size:12px;padding:7px 11px}
.hero-copy h1{
  margin:16px 0 0;
  font-size:clamp(34px,6vw,64px);
  line-height:1.02;letter-spacing:-.05em;
}
.hero-copy h1 span{color:var(--primary)}
.hero-copy p{
  margin:18px 0 0;color:var(--muted);
  font-size:18px;line-height:1.75;max-width:700px;
}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.primary-btn,.secondary-btn,.lang-tab,.matrix-chip{
  border:none;border-radius:999px;font-weight:800;transition:.22s ease;
}
.primary-btn,.secondary-btn{padding:14px 20px;font-size:15px}
.primary-btn{background:var(--primary);color:#fff;box-shadow:0 12px 26px rgba(79,124,247,.28)}
.primary-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(79,124,247,.33)}
.secondary-btn{background:#fff;border:1px solid var(--line);color:var(--text)}
.secondary-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}
.hero-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.hero-mini-stats article{padding:18px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.hero-mini-stats strong{display:block;font-size:30px;font-weight:900;color:var(--primary)}
.hero-mini-stats span{display:block;margin-top:4px;color:var(--muted);font-size:14px}
.hero-side{display:flex;justify-content:center}
.source-card{padding:18px;max-width:480px}
.source-image-wrap{border-radius:22px;overflow:hidden;border:1px solid var(--line-2);background:#fff}
.source-image-wrap img{aspect-ratio:4/3;object-fit:cover}
.source-card-body{padding:16px 8px 6px}
.source-card-body strong{font-size:20px}
.source-card-body p{margin:8px 0 12px;color:var(--muted);line-height:1.7}
.source-card-body a{color:var(--primary);font-weight:800}

.summary-strip{padding:12px 0 10px}
.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.summary-card{padding:22px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow-soft);transition:.24s ease}
.summary-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.summary-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;background:linear-gradient(180deg,#fff,#eef4ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(79,124,247,.10)}
.summary-card h3{margin:14px 0 8px;font-size:22px}
.summary-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}

.section-block{padding:34px 0}
.soft-section{background:linear-gradient(180deg, rgba(126,165,255,.08), rgba(255,255,255,0))}
.section-head{margin-bottom:18px}
.section-head h2{margin:12px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;line-height:1.1}
.section-head p{margin:10px 0 0;color:var(--muted);font-size:17px;max-width:760px;line-height:1.75}

.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field-card{padding:22px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow-soft);transition:.22s ease}
.field-card:hover{transform:translateY(-4px)}
.field-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.field-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:linear-gradient(180deg,#fff,#eef4ff)}
.field-card h3{margin:0;font-size:24px;letter-spacing:-.03em}
.field-card p{margin:8px 0 0;color:var(--muted);line-height:1.7}
.language-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.language-badge{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:800;box-shadow:0 6px 16px rgba(32,53,94,.05)}
.language-badge.active{background:linear-gradient(180deg,#5a84f8,#4f7cf7);border-color:transparent;color:#fff}

.language-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.lang-tab{padding:14px 18px;background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--text);font-size:15px}
.lang-tab:hover,.lang-tab.active{background:linear-gradient(180deg,#5a84f8,#4f7cf7);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 12px 24px rgba(79,124,247,.22)}
.interactive-layout{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}
.focus-panel{padding:26px;position:sticky;top:18px}
.focus-icon{width:92px;height:92px;border-radius:28px;background:linear-gradient(180deg,#fff,#eef4ff);display:grid;place-items:center;font-size:44px;box-shadow:var(--shadow-soft)}
.focus-copy{margin-top:18px}
.focus-label{display:inline-block;padding:7px 11px;border-radius:999px;background:rgba(79,124,247,.10);color:var(--primary);font-size:12px;font-weight:800}
.focus-copy h3{margin:12px 0 0;font-size:34px;letter-spacing:-.04em}
.focus-copy p{margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.8}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tag{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:800;color:var(--muted)}
.example-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.example-card{padding:22px;background:rgba(255,255,255,.80);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow-soft);transition:.22s ease;animation:fadeIn .35s ease}
.example-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.example-card h4{margin:0 0 10px;font-size:22px;letter-spacing:-.03em}
.example-card p{margin:0;color:var(--muted);line-height:1.75;font-size:15px}
.code-block{margin-top:16px;border-radius:20px;background:#151d2d;color:#edf2ff;padding:18px;overflow:auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.75}

.matrix-card{padding:20px}
.matrix-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.matrix-chip{padding:10px 14px;background:#fff;border:1px solid var(--line);font-size:14px;color:var(--text)}
.matrix-chip.active,.matrix-chip:hover{background:rgba(79,124,247,.10);color:var(--primary);border-color:rgba(79,124,247,.22)}
.matrix-wrap{overflow:auto;padding-bottom:4px}
table{width:100%;min-width:840px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}
th,td{padding:16px 14px;border-bottom:1px solid var(--line-2);border-right:1px solid #eef3fb;text-align:center}
th:first-child,td:first-child{text-align:left;font-weight:800;min-width:220px}
thead th{background:linear-gradient(180deg,#f4f8ff,#eaf0ff);font-size:17px}
tr:last-child td{border-bottom:none}th:last-child,td:last-child{border-right:none}
.matrix-on{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(79,124,247,.10);color:var(--primary);font-weight:900;border:1px solid rgba(79,124,247,.18)}
.matrix-off{color:#c1cad8;font-weight:700}
.cell-active{background:rgba(79,124,247,.06)}

.school-note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.note-card{padding:24px}
.note-card h3{margin:0 0 12px;font-size:24px;letter-spacing:-.03em}
.note-list{margin:0;padding-left:20px;color:var(--muted);line-height:1.85}
.note-list li+li{margin-top:8px}

.quiz-shell{padding:22px}
.quiz-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.quiz-summary strong{display:block;font-size:22px;letter-spacing:-.03em}
.quiz-summary span{display:block;margin-top:6px;color:var(--muted);line-height:1.7}
.quiz-actions{display:flex;gap:10px;flex-wrap:wrap}
.quiz-btn{padding:13px 18px;font-size:15px}
.quiz-progress-wrap{margin:18px 0 8px;height:14px;border-radius:999px;background:#e9effa;overflow:hidden}
.quiz-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#4f7cf7,#7ea5ff);transition:width .35s ease}
.quiz-group+.quiz-group{margin-top:26px}
.quiz-group-head{margin:18px 0 12px}
.quiz-group-head h3{margin:0;font-size:28px;letter-spacing:-.04em}
.quiz-group-head p{margin:8px 0 0;color:var(--muted);line-height:1.7}
.quiz-list,.subjective-list{display:grid;gap:16px;margin-top:18px}
.quiz-card,.subjective-card{padding:22px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.68);box-shadow:var(--shadow-soft)}
.quiz-card h3,.subjective-card h3{margin:0;font-size:21px;letter-spacing:-.03em;line-height:1.45}
.quiz-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.quiz-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(79,124,247,.10);color:var(--primary);font-size:12px;font-weight:800}
.quiz-options{display:grid;gap:10px;margin-top:16px}
.quiz-option{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:.18s ease}
.quiz-option:hover{transform:translateY(-1px);border-color:rgba(79,124,247,.28)}
.quiz-option input{margin-top:3px;accent-color:var(--primary);transform:scale(1.15)}
.quiz-option span{color:var(--text);line-height:1.65}
.quiz-card.correct{border-color:rgba(79,179,122,.35);box-shadow:0 12px 28px rgba(79,179,122,.10)}
.quiz-card.wrong{border-color:rgba(245,185,79,.45);box-shadow:0 12px 28px rgba(245,185,79,.12)}
.quiz-option.correct-answer{border-color:rgba(79,179,122,.40);background:rgba(79,179,122,.10)}
.quiz-option.user-wrong{border-color:rgba(245,185,79,.45);background:rgba(245,185,79,.12)}
.quiz-result{display:none;margin-top:16px;padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid var(--line);line-height:1.8;color:var(--muted)}
.quiz-result.show{display:block}
.quiz-result strong{color:var(--text)}
.subjective-guide{margin:14px 0 0;color:var(--muted);line-height:1.75}
.subjective-input{margin-top:16px;width:100%;min-height:140px;border-radius:20px;border:1px solid var(--line);background:#fff;padding:16px 18px;resize:vertical;line-height:1.75;color:var(--text);box-shadow:inset 0 1px 1px rgba(16,24,40,.02)}
.subjective-input:focus{outline:none;border-color:rgba(79,124,247,.45);box-shadow:0 0 0 4px rgba(79,124,247,.10)}
.subjective-toggle{margin-top:14px}
.subjective-answer{display:none;margin-top:14px;padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid var(--line);line-height:1.8;color:var(--muted)}
.subjective-answer.show{display:block}
.subjective-answer strong{display:block;margin-bottom:6px;color:var(--text)}
.page-footer{padding:10px 0 52px}.footer-card{padding:22px;color:var(--muted);line-height:1.75}

/* 콘텐츠가 안 보이는 문제를 막기 위해 기본 상태를 항상 보이도록 유지 */
.reveal{opacity:1;transform:none;transition:opacity .45s ease, transform .45s ease}
.reveal.in-view{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}
@keyframes fadeIn{from{opacity:.72;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:1100px){
  .summary-grid{grid-template-columns:repeat(3,1fr)}
  .interactive-layout,.school-note-grid{grid-template-columns:1fr}
  .focus-panel{position:static}
}
@media (max-width:900px){
  .hero-grid,.field-grid,.example-grid{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
  .quiz-topbar{align-items:flex-start}
}
@media (max-width:640px){
  .container{width:min(100% - 20px,1180px)}
  .hero-section{padding-top:18px}
  .hero-copy,.source-card,.summary-card,.field-card,.focus-panel,.example-card,.matrix-card,.footer-card,.quiz-shell,.quiz-card,.subjective-card,.note-card{padding:18px}
  .hero-mini-stats{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:1fr}
  .section-block{padding:22px 0}
  .hero-copy p,.section-head p,.focus-copy p{font-size:15px}
  .field-card h3,.example-card h4,.quiz-card h3,.subjective-card h3,.note-card h3{font-size:20px}
  .focus-copy h3{font-size:28px}
  .quiz-actions{width:100%}
  .quiz-actions .quiz-btn{flex:1}
  .quiz-group-head h3{font-size:24px}
  th,td{padding:13px 10px;font-size:14px}
  thead th{font-size:15px}
}
