
:root{color-scheme:light;--ink:#18364a;--accent:#006b80;--line:#d6e2e8}
*{box-sizing:border-box}body{margin:0;background:#fff;color:#253647;font:1.0625rem/1.8 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #d99b22;outline-offset:4px}main.directory{width:min(880px,calc(100% - 40px));margin:64px auto 100px}h1{font-size:2.2rem;line-height:1.3;letter-spacing:-.035em;color:var(--ink);margin:1rem 0 2rem}h2{font-size:1.25rem}ul.course-list{list-style:none;padding:0;border-top:2px solid var(--ink)}.course-list li{border-bottom:1px solid var(--line)}.course-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem .25rem;font-size:1.4rem;font-weight:650;text-decoration:none}.course-list a::after{content:"→";font-size:1.3rem}nav.breadcrumb{font-size:.9375rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.lessons{padding:0;list-style:none;border-top:2px solid var(--ink)}.lessons li{border-bottom:1px solid var(--line);padding:1.3rem .2rem;display:grid;grid-template-columns:5rem 1fr;gap:.7rem}.week{color:#596c79;font-size:.9375rem}.lessons a{font-size:1.125rem;font-weight:600}.site-nav{border-bottom:1px solid var(--line);padding:1rem max(20px,calc((100% - 1160px)/2));background:#f5f9fb;font:1rem/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:var(--ink)}.site-nav nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.site-nav a{color:var(--accent)}.site-nav details{padding:.4rem 0;margin:.5rem 0 0;border:0}.site-nav summary{font-size:.9375rem;cursor:pointer}.site-nav ol{padding-left:1.5rem}.site-nav [aria-current=page]{font-weight:700}.lesson-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:3rem 0 1rem;padding:1.2rem 0;border-top:2px solid var(--line);font-size:1rem}.lesson-pagination a{max-width:100%;overflow-wrap:anywhere}.skip-site{position:absolute;left:1rem;top:-10rem;background:white;padding:.5rem;z-index:9999}.skip-site:focus{top:.5rem}@media(max-width:600px){main.directory{margin-top:36px}h1{font-size:1.9rem}.course-list a{font-size:1.25rem}.lessons li{grid-template-columns:3.8rem 1fr}.site-nav{font-size:.9375rem}}@media print{.site-nav,.lesson-pagination,.skip-site{display:none}}

.resource-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.6rem 0;font-size:1rem}.resource-links a{font-size:1rem}.source-note{font-size:.9375rem;color:#566b78}pre{overflow:auto;padding:1rem;background:#f3f7f9;line-height:1.6}code{font-size:.95em}dt{font-weight:650}dd{margin:0 0 .7rem}table{border-collapse:collapse;width:100%}td,th{padding:.5rem;border:1px solid #d6e2e8;text-align:left}details.schedule-week{border-bottom:1px solid #d6e2e8;padding:.8rem 0}details.schedule-week summary{cursor:pointer;font-weight:650;min-height:44px}details.schedule-week[open] summary{margin-bottom:.7rem}h2{margin-top:2rem}

/* Opening conversations: native details keep the discussion usable without JavaScript. */
.opening-digest{margin:1.5rem 0 2.5rem;padding:clamp(1rem,3vw,2rem);background:#f2f7f8;border:1px solid #c5dce0;border-top:4px solid #006b80;border-radius:12px}
.opening-digest h2{margin:.2rem 0 .5rem;font-size:1.7rem;line-height:1.4;color:#18364a}
.opening-digest .digest-question{padding:1.15rem 0;border-top:1px solid #c5dce0}
.opening-digest h3{margin:0 0 .6rem;font-size:1.2rem;line-height:1.55;word-break:keep-all}
.opening-digest .digest-number{color:#006b80;font-variant-numeric:tabular-nums;margin-right:.35rem}
.opening-digest p{font-size:1.0625rem;line-height:1.8;overflow-wrap:anywhere}
.opening-digest details{margin:.8rem 0 0;background:white;border:1px solid #b8d0d6;border-radius:8px}
.opening-digest summary{padding:.65rem .9rem;cursor:pointer;font-weight:650;color:#00586b;min-height:48px}
.opening-digest summary:focus-visible{outline:3px solid #c78000;outline-offset:3px;border-radius:6px}
.opening-digest .digest-toggle{float:right;font-size:.9rem;font-weight:400}
.opening-digest .digest-toggle::after{content:"펼치기 ＋"}
.opening-digest details[open] .digest-toggle::after{content:"접기 −"}
html[lang="en"] .opening-digest .digest-toggle::after{content:"Expand ＋"}
html[lang="en"] .opening-digest details[open] .digest-toggle::after{content:"Collapse −"}
.opening-digest .digest-answer{padding:0 1rem .8rem;border-top:1px solid #d6e2e8}
.opening-digest .digest-answer p{margin:.8rem 0 0}
.opening-digest .digest-next{display:inline-block;margin-top:.6rem;font-weight:600}
@media(max-width:480px){.opening-digest h2{font-size:1.45rem}.opening-digest h3{font-size:1.1rem}}
@media print{.opening-digest{break-inside:auto;background:white}.digest-question{break-inside:avoid}.digest-next{display:none}}

.opening-digest .digest-answer ul{margin:.8rem 0 0;padding-left:1.3rem}.opening-digest .digest-answer li{margin:.35rem 0;font-size:1.0625rem;line-height:1.75}

/* Week 04: readable process diagram, including narrow screens. */
.git-cycle { margin: 1.5rem 0; }
.git-cycle ol { list-style: none; padding: 0; margin: 0; }
.git-cycle li { position: relative; padding: 1rem 1.2rem; margin: 0 0 1.5rem; border: 1px solid #b9cbd8; border-left: 4px solid #376780; border-radius: .4rem; background: #f4f8fb; color: #203849; }
.git-cycle li:not(:last-child)::after { content: "↓"; position: absolute; bottom: -1.5rem; left: 1.2rem; font-size: 1.2rem; line-height: 1.5rem; color: #376780; }
.git-cycle strong, .git-cycle span { display: block; }
.git-cycle strong { margin-bottom: .35rem; }
.git-cycle figcaption { font-size: 1em; line-height: 1.65; color: inherit; }

.lessons .lesson-title{font-size:1.125rem;font-weight:600;color:var(--ink)}

.lab-guide-next{margin:2rem 0 0;padding:1rem 0;border-top:1px solid var(--line);font-weight:600}

.previous-exam-guidance{margin:1.5rem 0;padding:.9rem 1.1rem;background:#f4f4f4;border:1px solid #d6d6d6;border-radius:6px;color:#666}.previous-exam-guidance summary{cursor:pointer;font-weight:600;color:#626262}.previous-exam-guidance h2,.previous-exam-guidance h3,.previous-exam-guidance strong,.previous-exam-guidance code,.previous-exam-guidance a{color:inherit}.previous-exam-guidance section{background:transparent}

.example-reference{background:#f2f6f8;border:1px solid #ccd7de;padding:1.2rem;margin:2rem 0}.example-reference h2{margin-top:0}
