1 line
5.6 KiB
JSON
1 line
5.6 KiB
JSON
{"file":"SubjectMastery-styles-1.mjs-N8TZYLjA.js","mappings":"","names":[],"sources":["../../../../components/SubjectMastery.vue"],"sourcesContent":["<template>\n <section class=\"mastery-section\">\n <div class=\"section-header\">\n <span class=\"section-badge\">🎯 {{ curriculum.name }} 전문 클리닉</span>\n <h2 class=\"section-title\">{{ regionDong }} {{ grade }} {{ curriculum.name }} 맞춤 커리큘럼</h2>\n <p class=\"section-desc\">{{ curriculum.slogan }}</p>\n </div>\n\n <!-- 학년별 집중 공략 포인트 -->\n <div class=\"grade-focus-grid\">\n <div v-for=\"(g, idx) in curriculum.grades\" :key=\"idx\" class=\"grade-focus-card\">\n <div class=\"grade-header\">\n <span class=\"grade-pill\">{{ g.grade }}</span>\n <h3 class=\"focus-title\">{{ g.focus }}</h3>\n </div>\n <p class=\"exam-pattern-box\">\n <span class=\"badge-tag\">📌 내신 출제 패턴</span>\n {{ g.examPattern }}\n </p>\n <ul class=\"points-list\">\n <li v-for=\"(pt, pIdx) in g.points\" :key=\"pIdx\">\n <span class=\"check-icon\">✓</span>\n <span class=\"pt-text\">{{ pt }}</span>\n </li>\n </ul>\n </div>\n </div>\n\n <!-- 핵심 솔루션 3단계 스킬 -->\n <div class=\"skills-wrap\">\n <h3 class=\"skills-title\">💡 {{ curriculum.name }} 1등급 도약을 위한 3대 핵심 솔루션</h3>\n <div class=\"skills-grid\">\n <div v-for=\"(sk, sIdx) in curriculum.skills\" :key=\"sIdx\" class=\"skill-item\">\n <div class=\"skill-num\">0{{ sIdx + 1 }}</div>\n <h4 class=\"skill-name\">{{ sk.title }}</h4>\n <p class=\"skill-desc\">{{ sk.desc }}</p>\n </div>\n </div>\n </div>\n </section>\n</template>\n\n<script setup>\ndefineProps({\n regionDong: {\n type: String,\n required: true\n },\n grade: {\n type: String,\n default: '중학생'\n },\n curriculum: {\n type: Object,\n required: true\n }\n})\n</script>\n\n<style scoped>\n.mastery-section {\n max-width: 1080px;\n margin: 0 auto 50px;\n padding: 0 16px;\n}\n\n.section-header {\n text-align: center;\n margin-bottom: 28px;\n}\n\n.section-badge {\n display: inline-block;\n font-size: clamp(0.78rem, 2vw, 0.88rem);\n font-weight: 700;\n color: var(--primary-color, #1e3a8a);\n background: var(--badge-bg, rgba(30, 58, 138, 0.08));\n padding: 5px 12px;\n border-radius: 9999px;\n margin-bottom: 8px;\n}\n\n.section-title {\n font-size: clamp(1.3rem, 3.8vw, 1.95rem);\n font-weight: 800;\n color: var(--text-color, #1e293b);\n letter-spacing: -0.6px;\n word-break: keep-all;\n line-height: 1.35;\n}\n\n.section-desc {\n font-size: clamp(0.85rem, 2.2vw, 0.98rem);\n color: #64748b;\n margin-top: 6px;\n word-break: keep-all;\n}\n\n.grade-focus-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 18px;\n margin-bottom: 30px;\n}\n\n.grade-focus-card {\n background: var(--bg-card, #ffffff);\n border: 1px solid var(--border-color, #e2e8f0);\n border-radius: var(--card-radius, 14px);\n padding: clamp(18px, 3.5vw, 24px);\n box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);\n}\n\n.grade-header {\n margin-bottom: 12px;\n}\n\n.grade-pill {\n display: inline-block;\n font-size: 0.75rem;\n font-weight: 800;\n color: #ffffff;\n background: var(--primary-color, #1e3a8a);\n padding: 3px 10px;\n border-radius: 9999px;\n margin-bottom: 6px;\n}\n\n.focus-title {\n font-size: clamp(1.02rem, 2.5vw, 1.2rem);\n font-weight: 800;\n color: var(--text-color, #0f172a);\n letter-spacing: -0.4px;\n}\n\n.exam-pattern-box {\n background: #f8fafc;\n border-left: 3px solid var(--accent-color, #d97706);\n padding: 10px 12px;\n border-radius: 4px;\n font-size: clamp(0.78rem, 2vw, 0.86rem);\n line-height: 1.55;\n color: #334155;\n margin-bottom: 14px;\n word-break: keep-all;\n}\n\n.badge-tag {\n display: block;\n font-weight: 800;\n color: var(--accent-color, #d97706);\n margin-bottom: 3px;\n font-size: 0.82em;\n}\n\n.points-list {\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.points-list li {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n font-size: clamp(0.8rem, 2vw, 0.88rem);\n color: #475569;\n line-height: 1.5;\n word-break: keep-all;\n}\n\n.check-icon {\n color: #10b981;\n font-weight: 900;\n flex-shrink: 0;\n}\n\n.skills-wrap {\n background: var(--skills-bg, #f8fafc);\n border: 1px solid var(--border-color, #e2e8f0);\n border-radius: var(--card-radius, 14px);\n padding: clamp(20px, 4vw, 30px);\n}\n\n.skills-title {\n font-size: clamp(1.05rem, 2.8vw, 1.3rem);\n font-weight: 800;\n color: var(--text-color, #0f172a);\n text-align: center;\n margin-bottom: 20px;\n letter-spacing: -0.4px;\n}\n\n.skills-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 14px;\n}\n\n.skill-item {\n background: #ffffff;\n border: 1px solid var(--border-color, #e2e8f0);\n border-radius: 10px;\n padding: 16px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);\n}\n\n.skill-num {\n font-size: 1.1rem;\n font-weight: 900;\n color: var(--accent-color, #d97706);\n margin-bottom: 4px;\n}\n\n.skill-name {\n font-size: clamp(0.9rem, 2.2vw, 1rem);\n font-weight: 800;\n color: var(--text-color, #1e293b);\n margin-bottom: 6px;\n}\n\n.skill-desc {\n font-size: clamp(0.78rem, 1.9vw, 0.85rem);\n color: #64748b;\n line-height: 1.5;\n word-break: keep-all;\n}\n\n@media (max-width: 768px) {\n .grade-focus-grid {\n grid-template-columns: 1fr;\n }\n .skills-grid {\n grid-template-columns: 1fr;\n }\n}\n</style>\n"],"version":3} |