/* Advanced SQL course only. Do not broaden these selectors to other course pages. */
body.fc-sql-page { margin:0; font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#011C40; background:#fff; -webkit-font-smoothing:antialiased; }
.fc-sql-page *, .fc-sql-page *::before, .fc-sql-page *::after { box-sizing:border-box; word-break:keep-all; overflow-wrap:break-word; }
.fc-sql-page a { text-decoration:none; }
.fc-sql-page button { font:inherit; cursor:pointer; }
.fc-sql-page .fc-footer { width:100%; margin-inline:0; }
.fc-sql-page .fc-footer ul { list-style:none; padding:0; }
.fc-sql-page .fc-footer h4 { margin-top:0; }
.fc-detail { --ink:#011C40; --muted:#48566A; --line:#DCE3ED; --paper:#F5F8FC; font-size:18px; line-height:1.8; max-width:1280px; margin-inline:auto; }
.fc-detail :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.fc-detail :is(h1,h2,h3) { color:var(--ink); letter-spacing:-.035em; line-height:1.4; }
.fc-detail h1 { font-size:clamp(32px,3.7vw,48px); line-height:1.24; font-weight:800; }
.fc-detail h1 span { display:block; }
.fc-detail h2 { font-size:clamp(27px,3vw,36px); font-weight:750; }
.fc-detail h3 { font-size:23px; font-weight:700; }
.fc-detail .font-md { font-size:18px; line-height:1.8; color:var(--muted); }
.fc-detail .font-sm { font-size:16px; line-height:1.65; color:var(--muted); }
.fc-detail .fc-detail-caption, .fc-detail figcaption { font-size:14px; line-height:1.65; color:var(--muted); }
.fc-detail :is(p,figcaption) a { color:#1243A6; text-decoration:underline; text-underline-offset:3px; }
.fc-detail strong { font-weight:700; }
.fc-detail .ms-highlight { display:inline; background:#011C40; color:#fff; padding:.08em .24em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.fc-detail img { display:block; max-width:100%; height:auto; }
.fc-detail :is(video,iframe) { display:block; max-width:100%; border:0; }
.fc-sql-page :is(a,button,summary):focus-visible { outline:3px solid #1D64F2; outline-offset:4px; }
.fc-detail-skip { position:fixed; top:-100px; left:20px; background:#fff; color:#011C40; padding:12px 18px; z-index:2000; }
.fc-detail-skip:focus { top:8px; }
.fc-detail section, .fc-detail article[id] { scroll-margin-top:130px; }
.fc-detail-container { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.fc-detail-reading { width:min(850px,calc(100% - 64px)); margin-inline:auto; }
.fc-detail-section { padding:72px 0; }
.fc-detail-white { background:#fff; }
.fc-detail-tint { background:var(--paper); }
.fc-detail-eyebrow { color:#1243A6; font-size:15px; font-weight:700; line-height:1.6; margin-bottom:14px !important; }
.fc-detail-section-heading { max-width:800px; margin:0 auto 40px; text-align:center; }
.fc-detail-section-heading h2 + p { margin-top:20px; }
.fc-detail-section-heading p + p { margin-top:12px; }
/* Keep deliberate sentence/clause boundaries, but allow each thought to reflow.
   No nowrap/fixed widths: enlarged text and narrow phones must still fit. */
.fc-detail :is(p,figcaption) { text-wrap:pretty; }
.fc-detail :is(h1,h2,h3), .fc-detail .fc-detail-trust,
.fc-detail-section-heading .font-md, .fc-detail-roadmap .font-md,
.fc-detail-bottom > div > .font-md { text-wrap:balance; }
.fc-detail-thought { display:block; text-wrap:balance; }
/* A separator belongs to its preceding term, never to the start of a line. */
.fc-detail-term { display:inline-block; max-width:100%; text-wrap:wrap; }
.fc-detail-term-group { display:inline-block; max-width:100%; text-wrap:balance; vertical-align:top; }
.fc-detail-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fc-detail .fc-course-hero { background:#323951; color:#fff; padding:60px 28px 52px; position:relative; isolation:isolate; overflow:hidden; }
.fc-detail .fc-course-hero::before { content:''; position:absolute; top:-20%; right:-10%; width:55%; height:140%; background:#1D64F2; transform:skewX(-12deg); z-index:-1; }
.fc-detail .fc-course-hero-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; align-items:center; }
.fc-detail .fc-course-hero-kicker { font-size:14px; font-weight:700; color:#CDD3E1; letter-spacing:.04em; margin-bottom:16px; }
.fc-detail .fc-course-hero h1 { font-size:clamp(26px,3.4vw,38px); font-weight:850; line-height:1.3; margin-bottom:16px; color:#fff; }
.fc-detail .fc-course-hero-sub { font-size:18px; line-height:1.7; color:#D2D7E3; margin-bottom:28px; }
.fc-detail .fc-course-hero-media { min-width:0; align-self:start; padding-top:46px; }
.fc-detail .fc-course-video { width:100%; aspect-ratio:16 / 9; border-radius:12px; overflow:hidden; position:relative; background:#011C40; box-shadow:0 8px 32px rgb(0 0 0 / 25%); }
.fc-detail .fc-course-video iframe { width:100%; height:100%; }
.fc-detail .fc-course-video-link { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; padding:0; background:#011C40; }
.fc-detail .fc-course-video-link img { width:100%; height:100%; object-fit:cover; }
.fc-detail .fc-course-video-play { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border-radius:100px; background:#1D64F2; color:#fff; font-size:15px; font-weight:800; white-space:nowrap; box-shadow:0 4px 16px rgb(1 28 64 / 25%); }
.fc-detail .fc-enroll-box { margin-top:28px; }
.fc-detail .fc-enroll-pricing { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.fc-detail .fc-enroll-discount { padding:3px 8px; background:#F24822; color:#fff; font-size:14px; font-weight:800; border-radius:4px; }
.fc-detail .fc-enroll-oldprice { font-size:16px; color:#BCC3D2; }
.fc-detail .fc-enroll-nowprice { font-size:30px; font-weight:850; color:#fff; line-height:1.3; }
.fc-detail .fc-enroll-note { font-size:14px; color:#D2D7E3; margin-bottom:10px; }
.fc-detail .fc-enroll-wrap { text-align:left; }
.fc-detail .fc-enroll-cta { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:16px 24px; background:#1D64F2; color:#fff; font-size:18px; font-weight:800; border-radius:12px; cursor:pointer; list-style:none; }
.fc-detail .fc-enroll-cta::-webkit-details-marker { display:none; }
.fc-detail .fc-enroll-cta:hover { background:#1243A6; }
.fc-detail .fc-enroll-cta i { font-size:14px; }
.fc-detail .fc-enroll-wrap[open] .fc-enroll-cta i { transform:rotate(180deg); }
.fc-detail .fc-enroll-panel { margin-top:10px; padding:20px; border:1px solid rgb(255 255 255 / 20%); border-radius:12px; background:rgb(255 255 255 / 7%); }
.fc-detail .fc-enroll-panel-section { padding:16px 0; border-bottom:1px solid rgb(255 255 255 / 18%); }
.fc-detail .fc-enroll-panel-section:first-child { padding-top:0; }
.fc-detail .fc-enroll-panel-section:last-child { border:0; padding-bottom:0; }
.fc-detail .fc-enroll-panel-label { font-size:13px; font-weight:700; color:#D2D7E3; margin-bottom:8px; }
.fc-detail .fc-enroll-panel-title { font-size:16px; font-weight:700; color:#fff; line-height:1.6; }
.fc-detail .fc-enroll-panel-sub { font-size:13px; color:#D2D7E3; margin-top:4px; }
.fc-detail .fc-enroll-panel-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:12px; }
.fc-detail .fc-enroll-panel-prices { display:flex; flex-wrap:wrap; gap:8px; align-items:baseline; }
.fc-detail .fc-enroll-panel-prices del { font-size:13px; color:#CDD3E1; }
.fc-detail .fc-enroll-panel-prices strong, .fc-detail .fc-enroll-roadmap-price { font-size:20px; color:#fff; }
.fc-detail .fc-enroll-panel-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; min-height:44px; background:#1D64F2; color:#fff; font-size:14px; font-weight:700; border-radius:8px; }
.fc-detail .fc-enroll-panel-btn:hover { background:#1243A6; color:#fff; }
.fc-detail .fc-enroll-roadmap-note { margin:20px 0 16px; padding:10px 12px; border-radius:8px; background:#F24822; color:#fff; font-size:14px; font-weight:700; text-align:center; }
.fc-detail .fc-enroll-preview { display:block; width:fit-content; margin:14px auto 0; color:#fff; font-size:15px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.fc-detail .fc-enroll-help { color:#D2D7E3; font-size:12px; text-align:center; margin-top:8px; }
.fc-detail .fc-course-features { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#203269; color:#fff; }
.fc-detail .fc-course-features > div { padding:24px 16px; text-align:center; }
.fc-detail .fc-course-features > div:nth-child(2) { background:#213878; }
.fc-detail .fc-course-features > div:nth-child(3) { background:#224089; }
.fc-detail .fc-course-features > div:nth-child(4) { background:#234899; }
.fc-detail .fc-course-features > div:nth-child(5) { background:#2450A9; }
.fc-detail .fc-course-features dt { font-size:14px; color:#E0E7F6; }
.fc-detail .fc-course-features dd { font-size:20px; font-weight:750; line-height:1.55; margin-top:8px; }
.fc-detail-introduction { max-width:900px; padding:32px 36px; margin:0 auto 64px; border:1px solid var(--line); border-radius:16px; }
.fc-detail-trust { font-size:23px; font-weight:750; line-height:1.6; margin-bottom:18px !important; }
.fc-detail-mobile-break { display:none; }
.fc-detail-hero-links { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; }
.fc-detail-hero-links a, .fc-detail-text-link { color:#1243A6; font-size:16px; font-weight:650; text-underline-offset:4px; }
.fc-detail-hero-links a:hover, .fc-detail-text-link:hover { text-decoration:underline; }
.fc-detail-button { display:flex; align-items:center; justify-content:center; gap:12px; padding:13px 20px; border:1px solid #1243A6; border-radius:8px; background:#1243A6; color:#fff; font-size:17px; line-height:1.5; font-weight:700; text-align:center; min-height:52px; }
.fc-detail-button:hover { background:#011C40; border-color:#011C40; }
.fc-detail-button-secondary { background:#fff; color:#1243A6; border-color:var(--line); }
.fc-detail-button-secondary:hover { background:#F5F8FC; color:#011C40; border-color:#1243A6; }
.fc-detail-section-nav { position:sticky; top:64px; z-index:20; background:#fff; border-bottom:1px solid var(--line); }
.fc-detail-section-nav .fc-detail-container { display:flex; gap:30px; overflow-x:auto; }
.fc-detail-section-nav a { flex:none; color:var(--muted); font-size:16px; padding:16px 0; }
.fc-detail-section-nav a:hover { color:#1243A6; }
.fc-detail-learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:32px; }
.fc-detail-learning-grid li { border-top:1px solid var(--line); padding-top:22px; }
.fc-detail-step { display:block; color:#1243A6; font-size:15px; font-weight:700; margin-bottom:12px; }
.fc-detail-learning-grid h3 { margin-bottom:14px; }
.fc-detail-tech { font-size:14px; color:#1243A6; margin-top:18px !important; }
.fc-detail-update { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:24px 28px; margin-top:40px; background:var(--paper); border-radius:12px; }
.fc-detail-update-label { flex:none; color:#1243A6; font-size:14px; background:#fff; padding:5px 12px; border:1px solid var(--line); border-radius:6px; }
.fc-detail-sample { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); align-items:center; gap:56px; padding:40px 0; }
.fc-detail-sample + .fc-detail-sample { border-top:1px solid var(--line); }
.fc-detail-sample h3 { font-size:27px; margin-bottom:18px; }
.fc-detail-media { min-width:0; padding:10px; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.fc-detail-media video { width:100%; height:auto; border-radius:6px; background:#011C40; }
.fc-detail-media figcaption { padding:10px 4px 2px; }
.fc-detail-instructor-grid { display:grid; grid-template-columns:1fr 2fr; gap:64px; }
.fc-detail-instructor-grid h2 { margin-bottom:20px; }
.fc-detail-prose p + p { margin-top:20px; }
.fc-detail-prose > a { display:inline-block; margin-top:24px; }
.fc-detail-story { padding:30px 0; }
.fc-detail-story + .fc-detail-story { border-top:1px solid var(--line); }
.fc-detail-story h3 { margin-bottom:18px; }
.fc-detail-story p + p { margin-top:16px; }
.fc-detail-install-image { width:100%; max-width:500px; margin:24px auto 0 !important; }
/* Match the existing Claude Code curriculum; keep styles local to MySQL. */
.fc-detail #curriculum { padding:72px 24px; }
.fc-detail .fc-cur-container { max-width:800px; margin:0 auto; font-size:16px; line-height:1.6; }
.fc-detail .fc-cur-section-title { font-size:clamp(20px,4.5vw,28px); font-weight:900; line-height:1.25; color:#011C40; text-align:center; margin:0 0 36px; letter-spacing:-.03em; }
.fc-detail .fc-cur-total { text-align:center; margin:-24px 0 14px; color:#1D64F2; font-size:15px; font-weight:800; }
.fc-detail .fc-cur-chapter { padding:36px 0; border-bottom:1px solid #E8E8E8; }
.fc-detail .fc-cur-header { display:flex; align-items:flex-start; gap:16px; margin-bottom:20px; }
.fc-detail .fc-cur-num { font-size:clamp(28px,4vw,36px); font-weight:900; color:#1D64F2; line-height:1; flex-shrink:0; min-width:50px; }
.fc-detail .fc-cur-heading { min-width:0; font-size:16px; font-weight:400; line-height:1.6; letter-spacing:normal; }
.fc-detail .fc-cur-count { display:inline-block; margin-left:8px; font-size:12px; font-weight:700; color:#5B6472; background:#EEF2F8; border-radius:100px; padding:2px 9px; white-space:nowrap; vertical-align:middle; }
.fc-detail .fc-cur-lessons { list-style:none; padding:0; margin:0; }
.fc-detail .fc-cur-lesson { display:flex; align-items:center; gap:10px; padding:8px 0 8px 66px; font-size:15px; line-height:1.6; color:#555; }
.fc-detail .fc-cur-lesson i { flex-shrink:0; color:#1D64F2; font-size:14px; }
.fc-detail .fc-cur-lesson > span { min-width:0; }
.fc-detail .fc-cur-preview { flex-shrink:0; display:inline-flex; align-items:center; padding:4px 12px; margin-left:auto; color:#fff; background:#1D64F2; font-size:12px; font-weight:700; border-radius:6px; line-height:1.6; }
.fc-detail .fc-cur-preview:hover { background:#1243A6; }
.fc-detail-player-link { margin-top:24px; }
.fc-detail .fc-detail-faq { margin-bottom:40px; }
.fc-detail .fc-detail-faq details { border-top:1px solid var(--line); padding:20px 0; }
.fc-detail .fc-detail-faq details:last-child { border-bottom:1px solid var(--line); }
.fc-detail .fc-detail-faq summary { cursor:pointer; font-size:18px; font-weight:700; line-height:1.65; }
.fc-detail .fc-detail-faq p { margin:14px 0 0; }
.fc-detail-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; row-gap:30px; }
.fc-detail-guide-grid > div { border-top:1px solid var(--line); padding-top:20px; }
.fc-detail-guide-grid h3 { font-size:21px; margin-bottom:12px; }
.fc-detail-policy { margin-top:30px; padding-top:18px; border-top:1px solid var(--line); }
.fc-detail-policy summary { cursor:pointer; color:#1243A6; font-size:17px; padding:10px 0; }
.fc-detail-policy-copy { padding-top:12px; color:var(--muted); font-size:17px; }
.fc-detail-policy-copy h3 { font-size:20px; margin:24px 0 12px; }
.fc-detail-policy-copy p + p { margin-top:14px; }
.fc-detail-policy-copy ol { margin:14px 0; padding-left:24px; }
.fc-detail-policy-copy li + li { margin-top:12px; }
.fc-detail-roadmap-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fc-detail-roadmap { display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); min-width:0; }
.fc-detail-roadmap:hover { border-color:#1243A6; }
.fc-detail-roadmap-label { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#1243A6; font-size:15px; font-weight:650; margin-bottom:16px; }
.fc-detail-roadmap h3 { margin-bottom:12px; }
.fc-detail-roadmap-link { color:#1243A6; margin-top:auto; padding-top:24px; font-size:16px; font-weight:650; }
.fc-detail-external { background:#F24822; color:#fff; font-size:12px; padding:2px 7px; border-radius:4px; }
.fc-detail-all-roadmap { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:24px 0; margin-top:20px; border-bottom:1px solid var(--line); color:var(--ink); }
.fc-detail-all-roadmap > span:first-child { display:grid; gap:5px; }
.fc-detail-all-roadmap > span:last-child { color:#1243A6; font-size:24px; }
.fc-detail-bottom { text-align:center; background:#011C40; }
.fc-detail .fc-detail-bottom :is(h2,.font-md,.fc-detail-eyebrow) { color:#fff; }
.fc-detail-bottom .fc-enroll-box { max-width:560px; margin:32px auto 0; }
.fc-detail-bottom .fc-enroll-pricing { justify-content:center; }
.fc-detail-bottom h2 + p { margin-top:18px; }
@media (max-width:1000px) {
 .fc-detail-sample { gap:32px; }
 .fc-detail-update { align-items:flex-start; flex-direction:column; gap:16px; }
}
@media (max-width:768px) {
 .fc-detail-container, .fc-detail-reading { width:calc(100% - 40px); }
 .fc-detail-section { padding:56px 0; }
 .fc-detail-learning-grid, .fc-detail-sample, .fc-detail-instructor-grid { grid-template-columns:minmax(0,1fr); }
 .fc-detail .fc-course-hero { background:#011C40; padding:28px 20px 32px; }
 .fc-detail .fc-course-hero::before { display:none; }
 .fc-detail .fc-course-hero-inner { grid-template-columns:minmax(0,1fr); text-align:center; gap:26px; max-width:540px; }
 .fc-detail .fc-course-hero h1 { font-size:clamp(27px,5.8vw,36px); }
 .fc-detail .fc-course-hero-media { order:-1; padding-top:0; }
 .fc-detail .fc-course-video-play { bottom:16px; padding:10px 16px; font-size:14px; }
 .fc-detail .fc-enroll-pricing { justify-content:center; }
 .fc-detail .fc-course-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fc-detail .fc-course-features > div { padding:20px 12px; }
 .fc-detail .fc-course-features > div:last-child { grid-column:1 / -1; }
 .fc-detail .fc-course-features > div:last-child br { display:none; }
 .fc-detail-introduction { padding:24px; margin-bottom:44px; }
 .fc-detail-section-heading { margin-bottom:28px; }
 .fc-detail-trust { font-size:21px; }
 .fc-detail-sample { gap:22px; padding:28px 0; }
 .fc-detail-sample h3 { font-size:25px; }
 .fc-detail-instructor-grid { gap:26px; }
 .fc-detail-guide-grid { gap:28px; }
 .fc-detail-roadmap { padding:22px; }
 .fc-detail-roadmap h3 { font-size:21px; }
 .fc-detail-section-nav .fc-detail-container { gap:24px; }
 .fc-detail-section-nav a { font-size:15px; padding:13px 0; }
 .fc-detail .fc-cur-lesson { padding-left:50px; font-size:13px; }
}
@media (max-width:480px) {
 .fc-detail h2 { font-size:28px; }
 .fc-detail h3 { font-size:23px; }
 .fc-detail-mobile-break { display:inline; }
 .fc-detail .fc-enroll-panel { padding:16px; }
 .fc-detail .fc-enroll-panel-btn { padding:10px 14px; }
 .fc-detail-roadmap-grid, .fc-detail-guide-grid { grid-template-columns:minmax(0,1fr); }
 .fc-detail-learning-grid { gap:24px; }
 .fc-detail-update { padding:22px; }
 .fc-detail-all-roadmap strong { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) {
 .fc-sql-page *, .fc-sql-page *::before, .fc-sql-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
.fc-detail .fc-sql-hero-subtitle { font-size:clamp(23px,2.4vw,32px); margin-top:10px; }
.fc-detail .fc-course-video-link img { object-fit:contain; background:#FFCD37; }
.fc-sql-audience { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.fc-sql-audience figure { min-width:0; }
.fc-sql-audience img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; }
.fc-detail .fc-sql-audience figcaption { font-size:17px; line-height:1.7; color:var(--ink); padding-top:16px; }
.fc-detail .fc-sql-topics { margin:20px 0 0; padding-left:24px; color:var(--muted); font-size:18px; }
.fc-detail .fc-sql-topics li { padding-left:4px; margin:8px 0; }
.fc-detail .fc-sql-prerequisite-video { max-width:640px; margin:24px auto 0; }
.fc-sql-prerequisite-video iframe { width:100%; aspect-ratio:16/9; border-radius:6px; }
@media (max-width:768px) { .fc-sql-audience { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; } }
@media (max-width:480px) { .fc-sql-audience { grid-template-columns:minmax(0,1fr); } }
.fc-sql-page .fc-detail-intro-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.fc-sql-page .fc-detail-intro-links a { color:#1846a3; font-size:16px; font-weight:600; text-decoration:none; }
.fc-sql-page .fc-detail-intro-links a:hover { text-decoration:underline; }
