:root{--ink:#0b172a;--muted:#526278;--line:#dce3ec;--blue:#215ee8;--pale:#edf3ff;--paper:#f5f7fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 "Pretendard","Malgun Gothic",sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 17px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700}button:hover,.button:hover{border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#1749b7;color:white}:focus-visible{outline:3px solid #ea9a14;outline-offset:4px}.top{min-height:88px;background:white;border-bottom:1px solid var(--line);padding:18px max(24px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:18px;font-size:16px;font-weight:800}.brand img{width:103px;height:auto}.brand small{display:block;font-weight:400;font-size:13px;color:var(--muted)}nav{display:flex;gap:25px;font-size:14px;font-weight:700}.wrap{max-width:1200px;margin:auto;padding:48px 24px 72px}.intro{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-bottom:32px}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--blue);margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:44px;line-height:1.27;letter-spacing:-.055em;margin-bottom:17px}h2{font-size:27px;line-height:1.4;letter-spacing:-.035em}h3{font-size:20px;line-height:1.5}.intro p:last-child{color:var(--muted);margin:0;max-width:660px}.intro-note{border-left:2px solid var(--blue);padding-left:22px;min-width:170px;color:var(--muted);font-size:14px}.intro-note strong{display:block;color:var(--ink);font-size:28px}.catalog-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding:20px 0 14px;font-size:14px}.catalog{background:white}.course-row{display:grid;grid-template-columns:76px 1fr 190px 125px;gap:24px;padding:30px 26px;border-bottom:1px solid var(--line);align-items:center}.course-row:hover{background:#f0f5ff}.course-row .code{font-size:25px;font-weight:800;color:var(--blue);letter-spacing:-.05em}.category{color:var(--blue);font-size:13px;font-weight:800}.course-row h2{font-size:22px;margin:5px 0 10px}.course-row p{font-size:14px;color:var(--muted);margin:0}.duration{font-size:22px;font-weight:800}.duration small{display:block;font-size:14px;font-weight:400;color:var(--muted)}.row-link{font-size:14px;font-weight:700;color:var(--blue)}.callout{background:var(--ink);color:white;padding:28px 32px;margin-top:32px;display:flex;justify-content:space-between;gap:25px;align-items:center}.callout h3{margin:0 0 5px}.callout p{color:#c2cede;margin:0;font-size:14px}.callout .button{white-space:nowrap}.back{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:25px}.detail-head{background:var(--ink);color:white;padding:36px 40px}.detail-head h1{font-size:36px;max-width:860px}.detail-head .eyebrow{color:#9cbaff}.detail-head p:last-child{color:#cbd5e1;max-width:900px;margin:0}.facts{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line)}.fact{padding:20px 24px;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact dt{font-size:13px;color:var(--muted);margin-bottom:5px}.fact dd{margin:0;font-weight:700;font-size:15px}.detail-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:30px;margin-top:30px}.side{align-self:start;position:sticky;top:24px;background:white;border:1px solid var(--line);padding:22px}.side h2{font-size:18px;margin-bottom:16px}.side a{display:block;font-size:14px;padding:8px 0;color:var(--muted)}.side .button{margin-top:18px;color:var(--blue)}.content-section{background:white;padding:30px 34px;border:1px solid var(--line);margin-bottom:20px;scroll-margin-top:20px}.section-top{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.section-top h2{font-size:25px}.section-select{font-size:14px;white-space:nowrap}.prose{overflow-wrap:anywhere}.prose p{margin:0 0 12px;white-space:pre-wrap}.prose h3{margin:25px 0 12px;color:#163a73}.prose h4{margin:20px 0 10px;font-size:17px}.table-scroll{overflow-x:auto;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}td,th{padding:12px 14px;border:1px solid var(--line);white-space:pre-wrap;min-width:70px;vertical-align:top}tr:first-child{background:#edf2f9;font-weight:700}.download-panel{background:var(--ink);color:white;padding:28px 32px;margin:25px 0;border:1px solid var(--ink)}.download-panel .hint{color:#c2cede}.download-panel h2{font-size:23px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hint{font-size:14px;color:var(--muted);margin:12px 0 0}.empty,.loading{padding:70px 24px;text-align:center}.error-banner{background:#fff4d7;border:1px solid #e6c985;padding:14px 18px;margin-bottom:20px;font-size:14px}.preview-banner{background:#ffe8b0;padding:14px;text-align:center;font-weight:700}footer{border-top:1px solid var(--line);padding:25px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:8px;max-width:90%;z-index:100;display:none}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:var(--blue)}.print-title,.print-footer{display:none}
@media(max-width:800px){.top{align-items:start;padding:16px 20px}.brand img{display:none}nav{gap:14px;font-size:13px;flex-wrap:wrap;justify-content:end}.wrap{padding:32px 18px 50px}.intro{display:block}.intro-note{display:none}h1{font-size:34px}.course-row{grid-template-columns:42px 1fr;gap:16px;padding:24px 18px}.course-row h2{font-size:20px}.duration{grid-column:2;font-size:19px}.row-link{grid-column:2}.facts{grid-template-columns:1fr 1fr}.fact{border-bottom:1px solid var(--line)}.detail-layout{display:block}.side{position:static;margin-bottom:20px}.side a{display:inline-block;margin-right:16px}.detail-head{padding:28px 24px}.detail-head h1{font-size:29px}.content-section{padding:24px 20px}.callout{display:block;padding:24px}.callout .button{margin-top:15px}.download-panel{padding:24px 20px}footer{display:block}footer span{display:block}.section-top h2{font-size:22px}}
@media print{@page{size:A4;margin:17mm}body{background:white;font:10pt/1.6 "Malgun Gothic",sans-serif;color:black}.top,footer,.side,.back,.download-panel,.section-select,#notice,.error-banner,.preview-banner,.actions{display:none!important}.wrap{max-width:none;padding:0}.detail-head{background:white;color:black;padding:0 0 15px}.detail-head h1{font-size:22pt}.detail-head p:last-child,.detail-head .eyebrow{color:#333}.facts{margin:0 0 18px}.fact{padding:10px}.fact dt,.fact dd{font-size:9pt}.detail-layout{display:block;margin:0}.content-section{border:0;padding:12px 0;margin:0}.content-section.excluded{display:none}.section-top{margin-bottom:12px}.section-top h2{font-size:16pt}h2,h3,h4{break-after:avoid}.prose p{orphans:3;widows:3}.table-scroll{overflow:visible}table{font-size:9pt}td,th{padding:6px;min-width:0;overflow-wrap:anywhere}tr{break-inside:avoid}.print-footer{display:block;font-size:9pt;border-top:1px solid #999;margin-top:24px}}

/* Clear section boundaries on screen; ink-based rules for monochrome print. */
@media screen{.content-section{border:1px solid #9aa8ba;border-top:3px solid #526b88}.section-top{border-bottom:1px solid #9aa8ba}.facts,.side{border-color:#9aa8ba}.fact{border-color:#9aa8ba}td,th{border-color:#9aa8ba}}
@media print{
@page{size:A4;margin:18mm 16mm 20mm}
body{color:#111;background:#fff;font:10.5pt/1.65 "Malgun Gothic",sans-serif}
.detail-head{border-top:2pt solid #172b46;border-bottom:1pt solid #172b46;padding:14pt 0;margin-bottom:14pt}
.detail-head h1{font-size:23pt;line-height:1.35;margin:0 0 10pt}
.detail-head .eyebrow{font-size:9pt;letter-spacing:.06em;color:#222}
.detail-head p:last-child{color:#222;font-size:10pt}
.facts{border:1pt solid #667085;break-inside:avoid}
.fact{border-right:.7pt solid #667085;padding:9pt}
.fact dt,.fact dd{color:#111;font-size:9pt}
.content-section{border:0;padding:0;margin:20pt 0 0;break-inside:auto}
.section-top{display:block;border-top:1.5pt solid #172b46;border-bottom:.8pt solid #667085;padding:8pt 0;margin:0 0 12pt;break-after:avoid}
.section-top h2{font-size:15pt;line-height:1.4;color:#111;margin:0}
.prose h3{font-size:12pt;line-height:1.5;color:#111;margin:16pt 0 7pt}
.prose h4{font-size:10.5pt;color:#111;margin:12pt 0 6pt}
.prose p{margin:0 0 7pt;orphans:3;widows:3}
.table-scroll{overflow:visible;margin:10pt 0 14pt}
table{width:100%;border-collapse:collapse;border:1pt solid #667085;font-size:9pt;line-height:1.5}
td,th{border:.7pt solid #667085;padding:6pt 7pt;min-width:0;overflow-wrap:anywhere;color:#111}
tr:first-child{font-weight:700;border-bottom:1.2pt solid #344054;background:#eef0f3}
thead{display:table-header-group}tr{break-inside:avoid}h2,h3,h4{break-after:avoid}
.print-footer{display:block;border-top:1pt solid #667085;margin-top:20pt;padding-top:8pt;color:#333;font-size:8.5pt;break-inside:avoid}
}

@media print{
.detail-head{background:#0b172a;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.detail-head h1{color:#fff}
.detail-head .eyebrow{color:#9cbaff}
.detail-head p:last-child{color:#cbd5e1}
.facts{grid-template-columns:1fr 1fr;border:1pt solid #667085;gap:0}
.facts .fact{border:0}
.facts .fact:nth-child(odd){border-right:.7pt solid #667085}
.facts .fact:nth-child(n+3){border-top:.7pt solid #667085}
.schedule-table{table-layout:fixed}
.schedule-table td:nth-child(1){width:18%}
.schedule-table td:nth-child(2){width:64%}
.schedule-table td:nth-child(3){width:18%}
}

/* Table alignment applies from the curriculum section onward. */
.content-section.table-middle td,.content-section.table-middle th{vertical-align:middle}
.curriculum-table tr:first-child td,.schedule-table tr:first-child td{text-align:center}
@media print{
.detail-head{padding-left:12pt;padding-right:12pt}
.schedule-table td:nth-child(1){width:12%}
.schedule-table td:nth-child(2){width:74%}
.schedule-table td:nth-child(3){width:14%}
.curriculum-table{table-layout:fixed}
.curriculum-table td:nth-child(1){width:9%}
.curriculum-table td:nth-child(2){width:23%}
.curriculum-table td:nth-child(3){width:50%}
.curriculum-table td:nth-child(4){width:18%}
.curriculum-table tr:first-child td:first-child,.curriculum-table tr:first-child td:last-child,.schedule-table tr:first-child td{white-space:nowrap}
}

.curriculum-table td:first-child,.curriculum-table td:last-child,.schedule-table td:first-child{text-align:center}
.prose p.bullet-paragraph{position:relative;padding-left:1.2em;text-indent:0}
.bullet-paragraph .bullet-marker{position:absolute;left:0;top:0;width:1.2em;text-align:left}

.schedule-table td:last-child,.overview-table td:first-child{text-align:center}
@media print{.curriculum-table{table-layout:auto}.curriculum-table td:nth-child(1){width:1%;white-space:nowrap}.curriculum-table td:nth-child(2){width:23%}.curriculum-table td:nth-child(3){width:auto}.curriculum-table td:nth-child(4){width:1%;white-space:nowrap}}

.session-table{table-layout:auto}.session-table td{vertical-align:middle!important}.session-table tr:first-child td{text-align:center}.session-table .session-cell,.session-table .session-col-0,.session-table .session-col-1,.session-table .session-col-3{width:1%;white-space:nowrap;text-align:center}.session-table .session-col-2{width:auto}


/* Operational plans and editable record forms */
.plan-curriculum-table,.activity-table,.record-form-table{table-layout:auto}
.plan-curriculum-table td,.activity-table td,.record-form-table td{vertical-align:middle!important}
.plan-curriculum-table tr:first-child td,.activity-table tr:first-child td,.record-form-table tr:first-child td{text-align:center}
.plan-curriculum-table .session-cell,.plan-curriculum-table .plan-col-0{width:1%;white-space:nowrap;text-align:center}
.plan-curriculum-table .plan-col-1{width:30%}.plan-curriculum-table .plan-col-2{width:38%}.plan-curriculum-table .plan-col-3{width:auto}
.activity-table td:nth-child(1),.activity-table td:nth-child(2){width:1%;white-space:nowrap;text-align:center}.activity-table td:nth-child(3){width:auto}
.record-form-table td:first-child{width:42%;text-align:center}.record-form-table td:last-child{width:58%;min-height:2em}.record-form-table td:empty{height:2.5em}
@media print{.plan-curriculum-table td,.activity-table td,.record-form-table td{min-width:0}.record-form-table td:empty{height:18pt}}

/* Keep overview labels readable on screen and in print. */
.overview-table{table-layout:auto}.overview-table td:first-child{width:14%;min-width:7em;white-space:nowrap;text-align:center;vertical-align:middle}.overview-table td:last-child{width:auto}@media print{.overview-table td:first-child{width:14%;min-width:5.8em;white-space:nowrap}}

/* Match the institute homepage's teal and warm accent palette. */
@media screen{
 .intro{background:#142f3b;color:#fff;padding:48px 40px;margin-bottom:24px;align-items:center}
 .intro .eyebrow{color:#e9c88e}
 .intro p:last-child{color:#c3d1d6}
 .intro-note{border-left-color:#e9c88e;color:#c3d1d6}
 .intro-note strong{color:#fff}
 .detail-head{background:#142f3b}
 .detail-head .eyebrow{color:#e9c88e}
 .detail-head p:last-child{color:#c3d1d6}
}
@media screen and (max-width:800px){.intro{padding:32px 24px}}
