:root{--ink:#203d39;--green:#245e50;--mint:#e6f1eb;--paper:#fcfbf7;--line:#cbd8d1;--muted:#526760;--warm:#f6ead8;--blue:#e9f0f7;--radius:20px}
body{background:var(--paper);color:var(--ink);font-feature-settings:"ss01";line-height:1.7}h1,h2,h3{letter-spacing:-.045em}p{max-width:72ch}svg.ui-icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:white!important;color:var(--green)!important;border:1px solid #9eafa5!important;box-shadow:none;min-height:52px;line-height:1.5;border-radius:12px}button:hover,.button:hover{background:#eef4f0!important}button.primary,.button.primary{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;box-shadow:0 3px 0 #163e35}button.primary:hover,.button.primary:hover{background:#194a3e!important}.danger{color:#8c3a2e!important;border-color:#d8b4a8!important}button svg,.button svg{pointer-events:none}
button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #995a23!important;outline-offset:4px}
header{border-bottom:1px solid var(--line);padding:18px 24px}.brand{font-weight:700}header>a:last-child{font-size:16px;min-height:44px;display:flex;align-items:center;gap:7px}
.copyright{font-size:14px;line-height:1.7;color:var(--muted);padding-top:16px}.copyright strong{display:block;font-size:15px;color:var(--ink)}
#courseMenu{max-width:1000px;margin:0 auto;border:0;padding:0 24px;background:transparent}#courseMenu>summary{display:flex;gap:10px;align-items:center;min-height:54px;font-size:17px;font-weight:650}#courseMenu>summary:after,.step-menu>summary:after{content:"펼치기";margin-left:auto;font-size:14px;color:var(--muted)}#courseMenu[open]>summary:after,.step-menu[open]>summary:after{content:"접기"}
#courseNav{margin:0;padding:10px;background:var(--mint);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-radius:16px}#courseNav a{display:flex;align-items:center;gap:8px;padding:10px;white-space:normal;font-size:16px}
.home-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:14px 0 30px}.home-intro h1{font-size:clamp(35px,4.4vw,51px);margin:14px 0 20px}.home-intro .lead{font-size:21px}.home-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:30px;background:var(--mint);color:var(--green);font-size:15px;font-weight:650}.hero-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(-2deg)}.hero-mosaic>div{padding:12px;background:#eff3ed;border-radius:20px}.hero-mosaic>div:nth-child(2){background:var(--blue)}.hero-mosaic>div:nth-child(3){background:var(--warm)}.hero-mosaic img{width:100%;height:130px;margin:0}.hero-mosaic b{display:block;font-size:17px;text-align:center;padding-bottom:8px}.start-help{font-size:16px;color:var(--muted);margin-top:16px}
.course-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.course-card{display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:18px;padding:18px;background:white;transition:border-color .15s}.course-card:hover{border-color:var(--green)}.course-card img{height:100px;width:100%;margin:0}.course-card .small{font-size:15px}.course-card b{font-size:21px;line-height:1.35}.course-card .open-label{font-size:16px;color:var(--green);margin-top:auto}.section-head{margin-top:36px}.section-head p{font-size:17px;color:var(--muted)}
.mind-map{border:1px solid var(--line);padding:24px;border-radius:20px;background:white;margin:24px 0}.mind-map h2{font-size:23px}.mind-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;gap:8px;align-items:center}.mind-flow>div{padding:14px 10px;border-radius:14px;background:var(--mint);text-align:center}.mind-flow>div:nth-of-type(2){background:var(--blue)}.mind-flow strong{display:block;font-size:18px;margin-top:8px}.mind-flow p{font-size:15px;margin:4px 0 0}.mind-flow>.ui-icon{color:var(--muted)}.mind-map>p{font-size:16px;color:var(--muted);margin-bottom:0}
.info-drawer{border:1px solid var(--line);border-radius:16px;margin:14px 0;background:white;padding:14px 20px}.info-drawer>summary{font-size:19px;min-height:48px;display:flex;gap:10px;align-items:center}.info-drawer>.card{border:0;padding:12px 0;margin:0}
.lessonTop:first-child{border-top:1px solid var(--line);padding-top:18px}.lessonTop:first-child h1{font-size:26px;margin:6px 0 12px;display:flex;gap:12px;align-items:center}.lessonTop:first-child .eyebrow{font-size:14px;margin:0}.lessonTop:first-child>details{font-size:16px;padding:8px 0;margin:0}.lessonTop:last-child{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;padding-bottom:22px}.lessonTop:last-child>.button.secondary{font-size:17px}
body[data-module]{font-size:20px;background:var(--paper)}body[data-module] .shell{margin:0 auto;padding:0!important;max-width:860px}body[data-module] main{padding-top:20px!important}body[data-module] header{padding:8px 20px!important;border:0}.inside-course>header{display:none!important}.step-controls{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.step-menu{flex:1;border:0;padding:0;min-width:0}.step-menu summary{display:flex;align-items:center;gap:8px;min-height:48px;font-size:16px}.step-controls>#help{width:auto;margin:0;min-height:48px;padding:8px 12px;font-size:16px}
#nav{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;margin:4px 0 12px;padding:0!important}#nav a{font-size:16px;min-height:48px;white-space:normal!important;border:1px solid var(--line);padding:8px 10px}#nav a.active{background:var(--green);color:white;border-color:var(--green)}
body[data-module] h1{font-size:34px;margin-top:10px;margin-bottom:18px}body[data-module] h2{font-size:25px}body[data-module] .progress{font-size:15px;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;gap:10px}.progress .progress-track{height:5px;background:#dce6e0;border-radius:8px;flex:1;max-width:140px;overflow:hidden}.progress .progress-fill{display:block;height:100%;background:var(--green)}
.task-cue{display:flex;gap:12px;padding:16px 18px;background:var(--mint);border-radius:14px;margin:16px 0 24px;font-size:17px}.task-cue .ui-icon{margin-top:3px}.task-cue strong{display:block;color:var(--green);font-size:15px}.task-cue p{margin:2px 0 0}.paper,.card{border-color:var(--line);box-shadow:none}.source{font-size:18px;background:#f3f4ef;border-radius:10px;padding:16px}
.handoff-map{margin:20px 0 26px;padding:20px;border:1px solid #cbd9e7;background:#f5f8fc;border-radius:18px}.handoff-map h2{font-size:21px!important;margin:0 0 14px}.handoff-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.handoff-list li{margin:0;padding:14px 9px;background:white;border:1px solid #cbd9e7;border-radius:12px}.handoff-list b{display:block;font-size:16px;line-height:1.5;margin-top:6px}.handoff-list span{display:block;font-size:14px;color:var(--muted);line-height:1.5;margin-top:5px}.handoff-map>p{font-size:16px;margin:14px 0 0}.field-purpose{font-size:15px;color:var(--green);font-weight:700;display:flex;align-items:center;gap:7px;margin:22px 0 4px}textarea.answer-field{border:2px solid #4a7e6b;background:#fbfffc;box-shadow:inset 4px 0 #d8ece1}label.check{padding:14px 12px;background:#f6f1e5;border:1px solid #dfd5bd;border-radius:12px;margin:10px 0;font-size:18px}input[type=checkbox]{width:25px;height:25px;accent-color:var(--green)}.field-error{background:#fff1e9;border-left:4px solid #9b4c25;padding:14px}
.copyright.lesson-copyright{padding:18px 0 0;border-top:1px solid var(--line)}body[data-module] .hero{max-height:340px;object-fit:contain;background:#f1eee7;border-radius:18px}.vector-concept{margin:20px 0;display:flex;align-items:center;gap:18px;padding:20px;border-radius:18px;background:var(--mint)}.vector-concept img{width:100px;height:90px;flex:none}.vector-concept p{font-size:17px;margin:0}.vector-concept strong{display:block;font-size:18px;margin-bottom:6px}
@media(max-width:650px){#courseMenu{padding:0 18px}#courseNav{grid-template-columns:1fr 1fr}.home-intro{grid-template-columns:1fr;gap:18px;padding-top:0}.home-intro h1{font-size:37px}.hero-mosaic{transform:none;grid-template-columns:repeat(4,1fr);gap:6px}.hero-mosaic>div{padding:6px;border-radius:12px}.hero-mosaic img{height:64px}.hero-mosaic b{font-size:13px}.course-cards{grid-template-columns:1fr 1fr;gap:10px}.course-card{padding:14px}.course-card img{height:80px}.course-card b{font-size:19px}.mind-map{padding:18px 14px}.mind-flow{gap:4px;grid-template-columns:1fr 16px 1fr 16px 1fr}.mind-flow>.ui-icon{width:16px;height:16px}.mind-flow>div{padding:12px 6px}.mind-flow strong{font-size:16px}.mind-flow p{font-size:14px}.mind-map h2{font-size:22px}body[data-module] .paper{padding:20px}body[data-module] main{padding:20px 18px!important}body[data-module] h1{font-size:32px}.step-controls{gap:8px}.step-controls>#help .ui-icon{display:none}#nav{grid-template-columns:1fr!important}.handoff-map{padding:16px 12px}.handoff-list{gap:5px}.handoff-list li{padding:10px 6px}.handoff-list b{font-size:15px}.handoff-list span{font-size:13px}.vector-concept{padding:16px;gap:12px}.vector-concept img{width:72px;height:72px}.lessonTop:first-child h1{font-size:24px}.task-cue{font-size:17px}.copyright{font-size:13px}button,.button{width:100%;margin-right:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{#courseMenu,.step-controls{display:none}.copyright{display:block!important}button,.button{box-shadow:none}.hero-mosaic{transform:none}}
