html.course-modal-open{overflow:hidden}
.course-modal{width:min(580px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);margin:auto;border:0;border-radius:18px;padding:0;background:#fff;color:#19283c;box-shadow:0 25px 90px #081a4440;overflow:hidden}
.course-modal[open]{display:flex;flex-direction:column}
.course-modal::backdrop{background:rgba(15,30,53,.55)}
.course-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 18px;border-bottom:1px solid #e3eaf3;flex-shrink:0}
.course-modal-header small{display:block;color:#506d98;font-size:12px;line-height:1.7;margin-bottom:7px}
.new-home .course-modal-header h2{font-size:26px;line-height:1.4;letter-spacing:-.7px}
.course-modal-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #dde6f2;border-radius:50%;font-size:26px;line-height:1;background:#f6f8fc;color:#4e6586}
.course-modal-body{padding:20px 26px;overflow-y:auto;overscroll-behavior:contain;min-height:0;-webkit-overflow-scrolling:touch}
.new-home .course-modal-body>p{font-size:15px;line-height:1.85;color:#526c8c}
.course-modal-section{margin-top:20px}.course-modal-section h3{font-size:16px;line-height:1.7;margin-bottom:10px!important;color:#2e496f}
.new-home .course-modal-section ul{list-style:none;padding:0;display:grid;gap:10px}
.course-modal-section li{font-size:14px;line-height:1.85;padding-left:16px;position:relative;color:#506987;overflow-wrap:anywhere}
.course-modal-section li:before{content:'•';position:absolute;left:0;color:#4576ce}
.course-modal-checks{background:#f2f6fc;border-radius:10px;padding:15px;margin-top:20px}
.new-home .course-modal-note{font-size:12px!important;line-height:1.8!important;color:#677d9b!important;margin-top:18px!important}
.course-modal-footer{padding:15px 26px 20px;border-top:1px solid #e3eaf3;background:#fff;flex-shrink:0;display:grid;gap:9px}
.course-modal-footer .btn{width:100%;font-size:15px;min-height:48px}
.course-modal-kakao{text-align:center;display:flex;align-items:center;justify-content:center;min-height:40px;font-size:14px;color:#526d93;text-decoration:underline!important;text-underline-offset:4px}
@media(max-width:680px){
 .course-modal{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px}
 .course-modal-header{padding:18px 18px 15px;gap:10px}.new-home .course-modal-header h2{font-size:24px}.course-modal-header small{font-size:13px}
 .course-modal-body{padding:17px 18px}.new-home .course-modal-body>p{font-size:16px;line-height:1.8}
 .course-modal-section h3{font-size:16px}.course-modal-section li{font-size:15px;line-height:1.85}
 .new-home .course-modal-note{font-size:13px!important}.course-modal-checks{padding:13px}
 .course-modal-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))}.course-modal-footer .btn{font-size:15px;min-height:49px}.course-modal-kakao{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.course-modal{scroll-behavior:auto}}
.course-modal-highlights{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 5px}
.course-modal-highlights span{font-size:12px;line-height:1.7;color:#315b99;background:#edf3ff;border:1px solid #dce7fd;padding:5px 9px;border-radius:6px}
#course-modal-details .course-modal-section{border-top:1px solid #e3eaf3;padding-top:20px;margin-top:22px}
.course-modal-references{border-top:1px solid #e3eaf3;margin-top:18px;padding-top:12px;font-size:12px;color:#617a9c;line-height:1.8}
.course-modal-references summary{cursor:pointer;min-height:35px}
#course-modal-sources{display:grid;gap:9px;margin-top:8px}
#course-modal-sources a{display:block;color:#416aab;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.new-home .course-modal-references p{font-size:12px;color:#7386a1;line-height:1.8;margin-top:12px}
@media(max-width:680px){.course-modal-highlights span{font-size:13px}.course-modal-references,.new-home .course-modal-references p{font-size:13px}.course-modal-references summary{min-height:44px}.course-modal-section li{font-size:15px}}
