/* 1회차 교안 추가 스타일. 색은 전부 변수로 써서 화이트, 다크에서 같이 동작 */
.noanim .st{transition:none!important}
@keyframes pgin{from{opacity:0}to{opacity:1}}
.stage>.sl{animation:pgin .16s ease-out}
#lockBtn,#pLock{display:none!important}
.sl.mg iframe{background:transparent}

/* 목차 */
.tl1{display:flex;flex-direction:column}
.tl1 .tlr{display:flex;flex-direction:column;gap:.7cqw;flex:1;justify-content:center;margin-top:1.4cqw}
.tli{display:grid;grid-template-columns:6cqw 2.6cqw 1fr 19cqw 4.5cqw;align-items:center;gap:1cqw;background:var(--panel);border-radius:.9cqw;padding:.85cqw 1.3cqw;font-size:1.5cqw}
.tli .t0{font-weight:800;color:var(--sub)}
.tli i{font-style:normal;width:2.2cqw;height:2.2cqw;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2cqw}
.tli b{font-weight:800}
.tli em{font-style:normal;font-weight:800;color:var(--lime)}
.tli .pg{color:var(--dim);font-size:1.15cqw;text-align:right}
.tln{margin-top:1cqw;font-size:1.3cqw;color:var(--sub)}.tln b{color:var(--ink)}

/* 마이페이지 안내 */
.guide{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1cqw}
.guide>.st{display:flex;min-width:0}
.gd{flex:1;display:flex;flex-direction:column;gap:.8cqw;position:relative;min-width:0}
.gd>i{font-style:normal;position:absolute;left:-.4cqw;top:-.6cqw;z-index:1;width:2.3cqw;height:2.3cqw;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.25cqw}
.gp{height:15.5cqw;border-radius:1cqw;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:.7cqw}
.gp img{max-width:100%;max-height:100%;object-fit:contain}
.gd>b{font-size:1.4cqw;line-height:1.35;font-weight:800}
.gp.mock{flex-direction:column;align-items:stretch;gap:.5cqw;color:#1b1d1f;justify-content:center;padding:1cqw}
.gp.mock span{font-size:1.05cqw;color:#5b5f63}.gp.mock em{font-style:normal;font-weight:800;font-size:1.3cqw}
.gp.mock u{text-decoration:none;background:#0573f0;color:#fff;border-radius:.6cqw;padding:.6cqw;text-align:center;font-weight:800;font-size:1.2cqw}

/* 레인 */
.lanes{display:flex;flex-direction:column;gap:1.2cqw}
.ln{display:grid;grid-template-columns:10cqw 1fr 2.4cqw 1fr 2.4cqw 1fr;align-items:center;gap:.5cqw}
.ln .tag{font-weight:800;font-size:1.5cqw}.ln>i{font-style:normal;text-align:center;color:var(--lime);font-weight:900;font-size:2cqw}
.nd2{background:var(--panel);border-radius:1cqw;padding:1.6cqw 1cqw;text-align:center;font-weight:700;font-size:1.6cqw;line-height:1.4}
.nd2.c{background:var(--blue);color:#fff}

/* AI 범주 */
.nest{width:29cqw;height:29cqw}
.nest div{border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-top:auto;position:relative}
.nest span{font-weight:800;font-size:1.35cqw;padding-top:1.1cqw}
.nest .r1{width:100%;height:100%;background:rgba(5,115,240,.1)}
.nest .r2{width:78%;height:80%;background:rgba(5,115,240,.16)}
.nest .r3{width:74%;height:76%;background:rgba(5,115,240,.26)}
.nest .r4{width:70%;height:68%;background:var(--blue);color:#fff;justify-content:center}
.nest .r4 span{padding:0;font-size:1.7cqw}
.rows{display:flex;flex-direction:column;gap:.8cqw}
.rows>.st>div{background:var(--panel);border-radius:1cqw;padding:1.1cqw 1.4cqw;display:flex;flex-direction:column;gap:.25cqw}
.rows b{font-size:1.65cqw;font-weight:800}.rows span{font-size:1.4cqw;color:var(--sub)}
.rows>.st>div.c{background:var(--blue);color:#fff}.rows>.st>div.c span{color:#fff}

/* LLM */
.ll{background:var(--panel);border-radius:1cqw;padding:1.2cqw 1.4cqw;display:flex;flex-direction:column;gap:.6cqw}
.ll .cap{font-size:1.15cqw;font-weight:700;color:var(--sub)}
.ll .big{font-size:1.85cqw;font-weight:800;line-height:1.35}
.ll .big u{text-decoration:none;background:var(--blue);color:#fff;border-radius:.4cqw;padding:0 .3cqw}
.ll .big em{font-style:normal;color:var(--lime)}
.ll.c{border:2px solid var(--blue)}
.tkn{display:flex;flex-wrap:wrap;gap:.45cqw}
.tkn span{background:var(--bg);border:1px solid var(--line);border-radius:.5cqw;padding:.35cqw .6cqw;display:flex;flex-direction:column;align-items:center}
.tkn b{font-size:1.3cqw}.tkn small{font-size:.95cqw;color:var(--sub)}
.st:not(.off) .tkn span{animation:llmpop .35s both}
.bars{display:flex;flex-direction:column;gap:.75cqw}
.bars>div{display:grid;grid-template-columns:7cqw 1fr 3.4cqw;align-items:center;gap:.6cqw;font-size:1.4cqw;font-weight:700}
.bars i{display:block;height:1.5cqw;border-radius:.4cqw;background:var(--dim);transform-origin:left}
.bars .on i{background:var(--blue)}.bars .on,.bars .on b{color:var(--lime)}
.st:not(.off) .bars i{animation:barin .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes barin{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 5기법 */
.ba{display:flex;flex-direction:column;gap:.55cqw}
.bah,.bar{display:grid;grid-template-columns:15cqw 14cqw 3cqw 1fr;align-items:center;gap:.6cqw}
.bah{font-size:1.15cqw;font-weight:700;color:var(--sub);padding:0 1.2cqw}
.bar{background:var(--panel);border-radius:.9cqw;padding:.95cqw 1.2cqw;font-size:1.5cqw}
.bar b{font-weight:800}.bar .o{color:var(--sub);text-decoration:line-through}.bar i{font-style:normal;color:var(--lime);font-weight:900}.bar .n{font-weight:800;color:var(--lime)}

/* 세 칸 창 */
.z3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw;flex:1;min-height:0}
.z3>.st{display:flex;min-width:0}
.zc{flex:1;min-width:0;background:var(--panel);border-radius:1.2cqw;padding:1.2cqw;display:flex;flex-direction:column;gap:.6cqw}
.zc h3{margin:0;font-size:2.1cqw;font-weight:900}
.zc p{margin:0;font-size:1.55cqw}.zc small{font-size:1.2cqw;color:var(--sub)}
.zc.c{background:var(--blue);color:#fff}.zc.c small{color:#fff}
.win{flex:1;min-height:11cqw;background:var(--bg);color:var(--ink);border-radius:.8cqw;padding:.9cqw;display:flex;flex-direction:column;gap:.55cqw;border:1px solid var(--line)}
.bb{align-self:flex-end;max-width:92%;background:var(--blue);color:#fff;border-radius:.8cqw;padding:.45cqw .75cqw;font-size:1.15cqw;line-height:1.4}
.bb.a{align-self:flex-start;background:var(--panel);color:var(--ink)}
.files{display:flex;gap:.6cqw;margin-top:auto}
.files span{flex:1;background:var(--panel);border-radius:.6cqw;padding:.7cqw .4cqw;text-align:center;font-size:2.2cqw;display:flex;flex-direction:column;align-items:center;gap:.2cqw}
.files b{font-size:.95cqw;font-weight:700}
.tree{display:flex;flex-direction:column;gap:.3cqw;font-size:1.12cqw;font-weight:700;margin-top:auto}
.tree em{font-style:normal;font-weight:600;color:var(--lime);font-size:.98cqw;margin-left:.3cqw}
.grow{margin-top:.1cqw;height:3cqw;background:var(--blue);color:#fff;font-weight:800;font-size:1.15cqw;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 25%,97% 25%,97% 0,100% 50%,97% 100%,97% 75%,0 75%)}
.z3.br{flex:none}.z3.br .win{min-height:17cqw}.z3.br .cl{font-size:1.5cqw;gap:.8cqw}
.url{background:var(--panel);border-radius:.5cqw;padding:.4cqw .7cqw;font-size:1.1cqw;font-weight:700;color:var(--sub)}
.cl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5cqw;font-size:1.3cqw;line-height:1.35}
.cl li{padding-left:1.7cqw;position:relative}
.cl li:before{position:absolute;left:0;font-weight:900}
.cl .yes:before{content:"✓";color:var(--green)}.cl .no:before{content:"✕";color:var(--red)}

/* 권한 메뉴 */
.pm{background:var(--panel);border-radius:1.2cqw;padding:1.3cqw;display:flex;flex-direction:column;gap:.8cqw}
.pmbox{background:var(--bg);border:1px solid var(--line);border-radius:.8cqw;padding:.9cqw 1.1cqw;color:var(--dim);font-size:1.4cqw}
.pmlist{background:var(--bg);border:1px solid var(--line);border-radius:.8cqw;padding:.5cqw;display:flex;flex-direction:column;gap:.3cqw}
.pi{display:grid;grid-template-columns:9.5cqw 1fr 1.6cqw;align-items:center;gap:.5cqw;padding:.85cqw .9cqw;border-radius:.6cqw;font-size:1.3cqw}
.pi b{font-size:1.45cqw;font-weight:800}.pi span{color:var(--sub)}
.pi i{font-style:normal;font-weight:900}
.pi.on{background:var(--blue);color:#fff}.pi.on span{color:#fff}
.pmbtn{align-self:flex-start;background:var(--blue);color:#fff;border-radius:99px;padding:.45cqw 1.1cqw;font-weight:800;font-size:1.3cqw}
.pmbtn small{font-weight:600;font-size:1.05cqw;margin-left:.4cqw}

/* 모델 */
.sky{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1cqw}
.sky>div{background:var(--panel);border-radius:1.2cqw;padding:3cqw 1.2cqw;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4cqw}
.sky i{font-style:normal;height:6.6cqw;display:flex;align-items:center;line-height:1}
.sky b{font-size:2cqw;font-weight:900}.sky em{font-style:normal;font-weight:800;color:var(--lime);font-size:1.5cqw}
.sky span{font-size:1.35cqw;color:var(--sub);line-height:1.4;margin-top:.3cqw}

/* 마크다운 */
.mdv{display:grid;grid-template-columns:1fr 3cqw 1fr;align-items:stretch;gap:.5cqw;margin-bottom:1.1cqw}
.mdv>i{font-style:normal;align-self:center;text-align:center;font-weight:900;font-size:2.2cqw;color:var(--lime)}
.mdf{background:var(--panel);border-radius:1cqw;padding:1.2cqw 1.4cqw;display:flex;flex-direction:column;gap:.45cqw;min-width:0}
.mdf .cap{font-size:1.1cqw;font-weight:700;color:var(--sub)}
.mdf pre{margin:0;font-family:Consolas,"D2Coding",monospace;font-size:1.4cqw;line-height:1.55;white-space:pre-wrap}
.mdf pre em{font-style:normal;font-weight:800;color:var(--lime)}
.mdf.r{background:var(--bg);border:1px solid var(--line)}
.h1m{font-size:1.9cqw;font-weight:900}.h2m{margin-top:.3cqw;font-size:1.45cqw;font-weight:800}
.mdf ul{margin:0;padding-left:1.5cqw;font-size:1.3cqw;line-height:1.5}

/* 폰 */
.ph{align-self:center;width:15cqw;height:21cqw;border:.45cqw solid #1b1d1f;border-radius:2cqw;background:#fff;padding:.5cqw;flex:none}
.phs{height:100%;display:flex;flex-direction:column;gap:.5cqw;background:#f4f4f6;border-radius:1.4cqw;padding:.8cqw .6cqw;color:#1b1d1f}
.ph .bb{font-size:.92cqw;background:#0573f0;color:#fff}.ph .bb.a{background:#fff;color:#1b1d1f}
.phi{margin-top:auto;align-self:center;background:#fff;border-radius:99px;padding:.2cqw .8cqw;font-size:.9cqw;font-weight:800}

/* 예약 작업 */
.sch{display:flex;align-items:stretch;gap:.8cqw;margin-bottom:1.3cqw}
.sch>.st{display:flex;align-items:center}
.sch>.st:has(.sc){flex:1}
.sch u{text-decoration:none;font-weight:900;font-size:2.2cqw;color:var(--lime)}
.sc{flex:1;background:var(--panel);border-radius:1.1cqw;padding:1.6cqw 1cqw;text-align:center;display:flex;flex-direction:column;gap:.35cqw;align-items:center}
.sc i{font-style:normal;font-size:3.4cqw;line-height:1.2}.sc b{font-size:1.65cqw;font-weight:800}.sc span{font-size:1.25cqw;color:var(--sub)}
.sc.c{background:var(--blue);color:#fff}.sc.c span{color:#fff}
.lc2{display:grid;grid-template-columns:1fr 1fr;gap:1.1cqw}
.lc2>div{background:var(--panel);border-radius:1cqw;padding:1cqw 1.4cqw;display:grid;grid-template-columns:auto 1fr;column-gap:1cqw;align-items:center}
.lc2 i{font-style:normal;font-size:2.8cqw;grid-row:span 3}.lc2 b{font-size:1.6cqw;font-weight:800}.lc2 span{font-size:1.35cqw;color:var(--sub)}.lc2 small{font-size:1.2cqw;color:var(--sub)}
.lc2 .c{background:var(--blue);color:#fff}.lc2 .c span,.lc2 .c small{color:#fff}
.lc2.big>div{padding:3cqw 2cqw}.lc2.big i{font-size:6cqw}.lc2.big b{font-size:2.6cqw}.lc2.big span{font-size:1.6cqw}.lc2.big small{font-size:1.35cqw;margin-top:.3cqw}

/* 플러그인 상자 */
.pkbox{border:.2cqw solid var(--blue);border-radius:1.4cqw;padding:1.5cqw;display:flex;flex-direction:column;gap:1.2cqw;background:rgba(5,115,240,.06)}
.pkt{font-weight:900;font-size:2.2cqw}.pkt small{font-weight:600;font-size:1.4cqw;color:var(--sub);margin-left:.6cqw}
.pkin{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.8cqw;align-items:center}
.pkin>u{text-decoration:none;font-weight:900;font-size:2.2cqw;color:var(--lime)}
.pkin>div{background:var(--bg);border:1px solid var(--line);border-radius:1cqw;padding:2cqw 1cqw;text-align:center;display:flex;flex-direction:column;gap:.5cqw;align-items:center}
.pkin i{font-style:normal;font-size:4cqw;line-height:1.1}.pkin b{font-size:1.95cqw;font-weight:900}.pkin span{font-size:1.35cqw;color:var(--sub)}

/* 보너스 */
.rm{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1cqw;margin-bottom:1.3cqw}
.rm>div{background:var(--panel);border-radius:1.1cqw;padding:2.2cqw 1cqw;text-align:center;display:flex;flex-direction:column;gap:.5cqw;align-items:center}
.rm i{font-style:normal;font-size:3.8cqw;line-height:1.1}.rm b{font-size:1.75cqw;font-weight:800}.rm span{font-size:1.3cqw;color:var(--sub)}
.rmn{background:var(--blue);color:#fff;border-radius:1cqw;padding:1.1cqw;text-align:center;font-size:1.7cqw}

/* dots */
.dt{display:flex;flex-direction:column;gap:1.1cqw}
.dtc{background:var(--panel);border-radius:1cqw;padding:1.3cqw;display:flex;align-items:center;gap:1cqw;justify-content:center}
.dtc i{font-style:normal;font-size:3.2cqw;line-height:1}.dtc b{font-size:1.65cqw;font-weight:800}
.dtf{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.5cqw}
.dtf span{background:var(--panel);border-radius:1cqw;padding:1.7cqw .7cqw;text-align:center;font-weight:700;font-size:1.4cqw;line-height:1.4}
.dtf span.c{background:var(--blue);color:#fff}
.dtf u{text-decoration:none;font-weight:900;font-size:1.8cqw;color:var(--lime)}

/* 마지막 QR */
.qr3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4cqw}
.qr3 figure{margin:0;background:var(--panel);border-radius:1.2cqw;padding:1.5cqw;display:flex;flex-direction:column;align-items:center;gap:.9cqw}
.qr3 img{width:17cqw;height:17cqw;background:#fff;border-radius:.6cqw;padding:.4cqw;object-fit:contain}
.qr3 figcaption{display:flex;flex-direction:column;align-items:center;gap:.2cqw}
.qr3 b{font-size:1.8cqw;font-weight:800}.qr3 span{font-size:1.3cqw;color:var(--sub)}

/* 실습 파랑 장면 위의 흰 판 글자 */
.sl.lab .ph{align-self:center}

.guide~.brandlink{flex:none;padding:.8cqw 1.2cqw;margin-top:1cqw}

html[data-theme=dark] .nb-res .bad small{color:#f4f4f5}

/* ===== 2026-11-05 강사 검토 반영 ===== */
.lp .cur{animation-iteration-count:6}.col-n i{animation-iteration-count:4}

/* 강사 소개 */
.ins{display:grid;grid-template-columns:27cqw 1fr;gap:3cqw;width:100%;align-items:center}
.ins img{width:100%;height:33cqw;object-fit:cover;object-position:top;border-radius:1.4cqw;display:block}
.ins h2{margin:0 0 .3cqw;font-size:4cqw;font-weight:900}
.ins .role{font-size:1.5cqw;font-weight:800;color:var(--lime);margin-bottom:1.2cqw}
.ins ul{list-style:none;margin:0 0 1.2cqw;padding:0;display:flex;flex-direction:column;gap:.62cqw;font-size:1.5cqw;line-height:1.35}
.ins li{display:grid;grid-template-columns:3.6cqw 1fr;gap:.4cqw}.ins li i{font-style:normal;color:var(--sub);font-weight:700}
.ins .iq{border-left:.3cqw solid var(--blue);padding-left:1cqw;font-size:1.45cqw;font-weight:700;line-height:1.45;margin-bottom:1.1cqw}

/* 트윗 카드 */
.twt{background:#fff;color:#0f1419;border:1px solid var(--line);border-radius:1.3cqw;padding:1.7cqw 1.9cqw;display:flex;flex-direction:column;gap:1cqw;box-shadow:0 .4cqw 1.6cqw rgba(0,0,0,.08)}
.tw-h{display:grid;grid-template-columns:4cqw 1fr 2cqw;gap:.9cqw;align-items:center}
.tw-a{width:4cqw;height:4cqw;border-radius:50%;background:linear-gradient(135deg,#3f4a5a,#0f1419);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.4cqw}
.tw-h b{display:block;font-size:1.45cqw;font-weight:800}.tw-h small{color:#536471;font-size:1.15cqw}
.tw-h img{width:1.7cqw;height:1.7cqw}
.tw-q{font-size:2.05cqw;line-height:1.35;font-weight:600}.tw-q em{font-style:normal;color:#0573f0;font-weight:800}
.tw-k{background:#f4f6f8;border-radius:.8cqw;padding:.9cqw 1.1cqw;font-size:1.4cqw;line-height:1.45}.tw-k b{color:#0461cc}
.tw-f{display:flex;justify-content:space-between;color:#536471;font-size:1.1cqw;border-top:1px solid #eff3f4;padding-top:.7cqw}.tw-f a{color:#0573f0;font-weight:700;text-decoration:none}

/* 오늘의 목표 */
.gl-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.6cqw;margin-bottom:1.5cqw}
.gl-top>.st{min-width:0}
.gl-a{font-size:3.4cqw;font-weight:300;color:var(--sub);line-height:1}
.gl-c{border-radius:1.2cqw;padding:1.4cqw 1.7cqw;background:var(--panel);display:flex;flex-direction:column;gap:.3cqw}
.gl-c span{font-size:1.2cqw;font-weight:700;color:var(--sub)}.gl-c b{font-size:2.1cqw;font-weight:900}.gl-c small{font-size:1.3cqw;color:var(--sub)}
.gl-c.now{background:var(--blue);color:#fff}.gl-c.now span,.gl-c.now small{color:#fff}
.gl-t{font-size:1.5cqw;font-weight:800;margin-bottom:.8cqw}
.gl-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw}
.gl-g>.st{display:flex;min-width:0}
.gl-i{flex:1;border:1px solid var(--line);border-radius:1cqw;padding:1.1cqw;display:flex;flex-direction:column;gap:.35cqw}
.gl-i i{font-style:normal;font-size:2.6cqw;line-height:1.15}.gl-i b{font-size:1.55cqw;font-weight:800}.gl-i span{font-size:1.2cqw;color:var(--sub);line-height:1.35}

/* 챗봇과 에이전트 */
.cv2{display:grid;grid-template-columns:1fr 1fr;gap:1.3cqw;flex:1;min-height:0;margin-top:1cqw}
.cv2>.st{display:flex;min-width:0}
.cvp{flex:1;background:var(--panel);border-radius:1.2cqw;padding:1.2cqw 1.4cqw;display:grid;grid-template-columns:1fr 1fr;gap:1.2cqw;align-items:stretch}
.cvp.ag{outline:.18cqw solid var(--blue);outline-offset:-.18cqw}
.cvp h3{margin:0;font-size:1.9cqw;font-weight:900;grid-column:1/-1}
.cvp .win{min-height:0}.cvp .txt{font-size:1.45cqw;line-height:1.45;align-self:center}
.cvp .bb{font-size:1.2cqw}.ftr{display:flex;flex-direction:column;gap:.4cqw;font-size:1.2cqw;font-weight:700}
.ftr span{display:flex;justify-content:space-between;gap:.4cqw}.ftr em{font-style:normal;color:var(--green);font-weight:800}

/* 평소 쓰는 법 */
.us{display:grid;grid-template-columns:.86fr 1.14fr;gap:1.6cqw;width:100%;align-items:stretch}
.us h3{margin:0 0 .7cqw;font-size:1.6cqw;font-weight:800;color:var(--sub)}
.us-l{display:flex;flex-direction:column;gap:.8cqw}
.us-q{background:var(--panel);border-radius:1cqw;padding:1.1cqw 1.3cqw;display:grid;grid-template-columns:3cqw 1fr;gap:.8cqw;align-items:center}
.us-q i{font-style:normal;font-size:2.3cqw}.us-q b{display:block;font-size:1.55cqw;font-weight:800}.us-q span{font-size:1.25cqw;color:var(--sub)}
.us-r{background:var(--panel);border-radius:1.2cqw;padding:1.3cqw;display:grid;grid-template-columns:1fr 1fr;gap:1cqw}
.us-w{background:var(--bg);border:1px solid var(--line);border-radius:.9cqw;padding:1cqw;display:flex;flex-direction:column;gap:.6cqw;min-width:0}
.us-w>b{font-size:1.25cqw;font-weight:800;color:var(--sub)}.us-w.n>b{color:var(--lime)}
.us-txt{font-size:1.16cqw;line-height:1.55;color:var(--sub)}
.ui-c{display:grid;grid-template-columns:repeat(3,1fr);gap:.4cqw}.ui-c div{background:var(--panel);border-radius:.5cqw;padding:.55cqw .3cqw;text-align:center;font-size:1cqw;font-weight:700}.ui-c div.on{background:var(--blue);color:#fff}
.ui-b{display:flex;flex-direction:column;gap:.4cqw;font-size:1.05cqw;font-weight:700}.ui-b span{display:grid;grid-template-columns:4.4cqw 1fr;gap:.4cqw;align-items:center}.ui-b i{display:block;height:1cqw;border-radius:.3cqw;background:var(--blue)}
.us-end{grid-column:1/-1;border-top:1px solid var(--line);padding-top:.8cqw;font-size:1.4cqw;font-weight:800;text-align:center}.us-end em{font-style:normal;color:var(--lime)}

/* 신입 */
.nw{display:grid;grid-template-columns:1.08fr .92fr;gap:1.8cqw;width:100%;align-items:stretch}
.nw-l{display:flex;flex-direction:column;gap:1cqw;justify-content:center}
.nw-b{display:grid;grid-template-columns:4.4cqw 1fr;gap:.9cqw;align-items:center}
.nw-b i{font-style:normal;width:4.4cqw;height:4.4cqw;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:2.3cqw}
.nw-b small{display:block;font-size:1.1cqw;font-weight:700;color:var(--sub);margin-bottom:.25cqw}
.nw-b p{margin:0;background:var(--panel);border-radius:1cqw;padding:.95cqw 1.2cqw;font-size:1.75cqw;font-weight:800;line-height:1.35}
.nw-b.boss p{background:var(--blue);color:#fff}
.nw-t{display:flex;flex-wrap:wrap;gap:.5cqw}.nw-t span{border:.12cqw dashed var(--dim);border-radius:99px;padding:.35cqw .9cqw;font-size:1.3cqw;font-weight:700;color:var(--sub)}
.nw-r{display:flex;align-items:center;gap:.8cqw;font-size:1.35cqw;font-weight:800;color:var(--red)}.nw-r b{background:rgba(229,72,77,.1);border-radius:.6cqw;padding:.5cqw .8cqw}
.nw-p{background:var(--panel);border-radius:1.2cqw;padding:1.5cqw;display:flex;flex-direction:column;gap:1.1cqw;justify-content:center;height:100%;box-sizing:border-box}
.nw-eq{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:.6cqw}
.nw-eq div{display:flex;flex-direction:column;gap:.25cqw;align-items:center}.nw-eq i{font-style:normal;font-size:5cqw;line-height:1.1}.nw-eq b{font-size:1.5cqw;font-weight:800}.nw-eq>u{text-decoration:none;font-size:3cqw;font-weight:900;color:var(--lime)}
.nw-kn{display:grid;grid-template-columns:1fr 1fr;gap:.7cqw}.nw-kn div{background:var(--bg);border-radius:.8cqw;padding:.8cqw;font-size:1.25cqw;text-align:center;line-height:1.4}.nw-kn b{display:block;font-size:1.1cqw;margin-bottom:.15cqw}.nw-kn .y b{color:var(--green)}.nw-kn .n b{color:var(--red)}
.nw-go{background:var(--blue);color:#fff;border-radius:.9cqw;padding:.85cqw;text-align:center;font-size:1.5cqw;font-weight:800}

/* 5기법 카드 */
.tips{display:grid;grid-template-columns:repeat(5,1fr);gap:.9cqw;width:100%}
.tips>.st{display:flex;min-width:0}
.tp{flex:1;background:var(--panel);border-radius:1.1cqw;padding:1.1cqw;display:flex;flex-direction:column;gap:.55cqw;min-width:0}
.tp>i{font-style:normal;font-size:3cqw;line-height:1.15}
.tp h3{margin:0;font-size:1.55cqw;line-height:1.3;font-weight:900;min-height:4cqw}
.tp .an{background:var(--bg);border-radius:.7cqw;padding:.7cqw;font-size:1.13cqw;line-height:1.4;flex:1}.tp .an b{display:block;font-size:.98cqw;color:var(--sub);font-weight:700;margin-bottom:.15cqw}
.tp .bad,.tp .god{font-size:1.15cqw;line-height:1.35;padding-left:1.35cqw;position:relative}
.tp .bad:before,.tp .god:before{position:absolute;left:0;font-weight:900}
.tp .bad{color:var(--sub)}.tp .bad:before{content:"✕";color:var(--red)}
.tp .god{font-weight:800}.tp .god:before{content:"✓";color:var(--green)}

/* 메타 프롬프팅 */
.mt{display:grid;grid-template-columns:1fr auto 1fr;gap:1.2cqw;align-items:center;width:100%}
.mt-a{font-size:3cqw;font-weight:300;color:var(--sub)}
.mt-w{background:var(--panel);border-radius:1.2cqw;padding:1.5cqw;display:flex;flex-direction:column;gap:.8cqw;min-height:20cqw;justify-content:center}
.mt-w>b{font-size:1.3cqw;color:var(--sub)}.mt-mess{font-size:1.65cqw;line-height:1.55;font-weight:600}
.mt-add{background:var(--blue);color:#fff;border-radius:.7cqw;padding:.55cqw .9cqw;font-size:1.3cqw;font-weight:800;align-self:flex-start}
.mt-ln{display:grid;grid-template-columns:5.5cqw 1fr;gap:.5cqw;font-size:1.35cqw;line-height:1.35}.mt-ln b{color:var(--lime)}

/* Chat Work Codex */
.z3.zz .zc{background:var(--panel);color:var(--ink)}
.z3.zz .zc.c{background:var(--panel);outline:.2cqw solid var(--blue);outline-offset:-.2cqw}
.z3.zz .zc h3{font-size:1.95cqw}.z3.zz .zc p{font-size:1.45cqw}.z3.zz .zc.c small{color:var(--sub)}
.z3.zz .win{min-height:15.4cqw;gap:.42cqw}.z3.zz .bb{font-size:1.08cqw;padding:.38cqw .65cqw}
.bb.no{background:rgba(229,72,77,.1);color:var(--red);font-weight:700}
.wh{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw;margin-top:.7cqw}
.wh>div{border-top:.22cqw solid var(--line);padding-top:.5cqw;display:flex;align-items:center;gap:.6cqw;font-size:1.28cqw;font-weight:700}
.wh i{font-style:normal;font-size:1.9cqw}.wh small{display:block;color:var(--sub);font-weight:600;font-size:1.05cqw}
.wh .c{border-top-color:var(--blue)}

/* 모델 */
.sol{position:relative;width:100%;border-radius:1.4cqw;background:linear-gradient(180deg,#0b1020,#111a33);color:#fff;padding:1.4cqw 1.8cqw;box-sizing:border-box;overflow:hidden}
.sol-r{display:grid;grid-template-columns:1.25fr 1.1fr .9fr .8fr;gap:1cqw;align-items:end;position:relative}
.sol-c{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3cqw}
.orb{border-radius:50%;margin-bottom:.8cqw}
.o-a{width:12cqw;height:12cqw;background:radial-gradient(circle at 40% 40%,#fff,#bcd8ff 42%,#5a8fe0 75%);box-shadow:0 0 3.4cqw #8fc0ff}
.o-s{width:9cqw;height:9cqw;background:radial-gradient(circle at 40% 40%,#fff3b0,#ffc531 55%,#ff8a1e);box-shadow:0 0 2.6cqw #ffb13b}
.o-t{width:6cqw;height:6cqw;background:radial-gradient(circle at 35% 30%,#b6ecff,#2e8fdc 55%,#1e5ea8);position:relative}
.o-t:after{content:"";position:absolute;left:18%;top:28%;width:42%;height:30%;border-radius:50%;background:#4db36a;opacity:.85}
.o-l{width:3.6cqw;height:3.6cqw;background:radial-gradient(circle at 38% 35%,#fbfbfb,#b9bcc4 70%)}
.sol-c b{font-size:1.95cqw;font-weight:900}.sol-c em{font-style:normal;font-size:1.3cqw;font-weight:800;color:#9ccbff}
.sol-c p{margin:.25cqw 0 0;font-size:1.28cqw;line-height:1.4;color:#dfe7f5}
.sol-c small{font-size:1.08cqw;color:#a7b4cb;line-height:1.35}
.sol-s{display:grid;grid-template-columns:auto 1fr auto;gap:.8cqw;align-items:center;margin-top:1cqw;font-size:1.15cqw;font-weight:700;color:#dfe7f5}
.sol-s i{height:.5cqw;border-radius:9px;background:linear-gradient(90deg,#8fc0ff,#ffc531,#2e8fdc,#b9bcc4)}

/* AGENTS.md 복귀 */
.bk{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;gap:.9cqw;align-items:center;width:100%;margin-bottom:1.3cqw}
.bk>.st{min-width:0}.bk u{text-decoration:none;font-size:2.6cqw;font-weight:300;color:var(--sub)}
.bk-c{background:var(--panel);border-radius:1.1cqw;padding:1.3cqw;text-align:center;display:flex;flex-direction:column;gap:.3cqw}
.bk-c b{font-size:2.1cqw;font-weight:900}.bk-c span{font-size:1.28cqw;color:var(--sub);line-height:1.35}
.bk-c.c{background:var(--blue);color:#fff}.bk-c.c span{color:#fff}
.bk-q{font-size:1.9cqw;font-weight:900;margin-bottom:.9cqw}.bk-q em{font-style:normal;color:var(--lime)}
.bk-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw}.bk-g>.st{display:flex}
.bk-i{flex:1;border:1px solid var(--line);border-radius:1cqw;padding:1.2cqw;display:flex;flex-direction:column;gap:.35cqw}.bk-i i{font-style:normal;font-size:2.6cqw;line-height:1.15}.bk-i b{font-size:1.55cqw;font-weight:800}.bk-i span{font-size:1.25cqw;color:var(--sub);line-height:1.4}

/* 카파시 원칙 */
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;width:100%}
.kp>.st{display:flex;min-width:0}
.kp-c{flex:1;background:var(--panel);border-radius:1.1cqw;padding:1.3cqw;display:flex;flex-direction:column;gap:.5cqw}
.kp-c i{font-style:normal;font-size:3cqw;line-height:1.15}.kp-c small{font-size:1cqw;font-weight:700;color:var(--sub)}.kp-c b{font-size:1.65cqw;font-weight:900;line-height:1.3}
.kp-c span{font-size:1.25cqw;line-height:1.4;color:var(--sub)}.kp-c em{font-style:normal;margin-top:auto;background:var(--bg);border-radius:.6cqw;padding:.6cqw;font-size:1.13cqw;font-weight:700;line-height:1.35}

/* 카드뉴스 실물 */
.cn{display:grid;grid-template-columns:.75fr 2.25fr;gap:1.4cqw;width:100%;align-items:center}
.cn-l{display:flex;flex-direction:column;gap:.8cqw}
.cn-cmd{background:var(--blue);color:#fff;border-radius:.9cqw;padding:1cqw;font-size:1.45cqw;font-weight:800;text-align:center}
.cn-r{display:flex;flex-wrap:wrap;gap:.45cqw}.cn-r span{background:var(--panel);border-radius:99px;padding:.3cqw .75cqw;font-size:1.15cqw;font-weight:700}.cn-r em{font-style:normal;color:var(--green)}
.cn-big{font-size:2cqw;font-weight:900;line-height:1.3}.cn-big em{font-style:normal;color:var(--lime)}
.cn-g{display:grid;grid-template-columns:repeat(5,1fr);gap:.6cqw}.cn-g>.st{min-width:0}
.cn-g img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:.6cqw;display:block}
.cn-n{font-size:1.05cqw;color:var(--sub);margin-top:.6cqw}

/* 이미지 실습 */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:.9cqw;margin-bottom:.8cqw}
.ig>div{background:var(--panel);border-radius:1cqw;padding:.9cqw 1cqw;display:flex;flex-direction:column;gap:.25cqw}.ig b{font-size:1.35cqw}.ig span{font-size:1.15cqw;color:var(--sub);line-height:1.35}.ig i{font-style:normal;font-size:2cqw;line-height:1.2}

/* 폰 지도 */
.pm4{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;width:100%}
.pm4>.st{display:flex;min-width:0}
.pmx{flex:1;display:flex;flex-direction:column;gap:.55cqw;align-items:center;text-align:center}
.pmx .ph{width:13cqw;height:18cqw}.pmx .bb{font-size:.86cqw}
.pmx b{font-size:1.6cqw;font-weight:900}.pmx>span{font-size:1.22cqw;color:var(--sub);line-height:1.35}.pmx>em{font-style:normal;font-size:1.08cqw;font-weight:800;color:var(--lime)}
.phw{margin-top:.2cqw;background:#fff;border-radius:.5cqw;padding:.35cqw;font-size:.84cqw;font-weight:700;color:#1b1d1f;line-height:1.3}

/* 브라우저 세 가지 */
.bw3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw;width:100%}
.bw3>.st{display:flex;min-width:0}
.bwc{flex:1;background:var(--panel);border-radius:1.2cqw;padding:1.2cqw;display:flex;flex-direction:column;gap:.6cqw}
.bwc kbd{align-self:flex-start;background:var(--blue);color:#fff;border-radius:.5cqw;padding:.25cqw .7cqw;font-size:1.45cqw;font-weight:800;font-family:inherit;border:0}
.bwc b{font-size:1.75cqw;font-weight:900}.bwc p{margin:0;font-size:1.3cqw;line-height:1.4;color:var(--sub)}
.brw{background:var(--bg);border:1px solid var(--line);border-radius:.7cqw;overflow:hidden;height:11cqw;display:flex;flex-direction:column}
.brw u{text-decoration:none;display:block;background:var(--panel);margin:.4cqw;border-radius:99px;padding:.2cqw .7cqw;font-size:.95cqw;color:var(--sub)}
.brw>div{flex:1;display:grid;place-items:center;font-size:3.2cqw;position:relative}.brw small{position:absolute;bottom:.4cqw;font-size:1cqw;font-weight:700;color:var(--sub)}

/* 미션 표 */
.ms{display:flex;flex-direction:column;gap:.55cqw}
.ms>div{display:grid;grid-template-columns:2.3cqw 1fr 8cqw;align-items:center;gap:.8cqw;background:var(--panel);border-radius:.8cqw;padding:.7cqw 1cqw;font-size:1.3cqw;line-height:1.35}
.ms i{font-style:normal;font-size:1.7cqw;text-align:center}.ms code{font-family:Consolas,monospace;font-size:1.22cqw;font-weight:700;color:var(--lime);background:none;white-space:normal}.ms span{font-size:1.1cqw;color:var(--sub);text-align:right;font-weight:700}
.ms .th{background:none;padding:0 1cqw;font-size:1.05cqw;font-weight:700;color:var(--sub)}
.ms .blk code{color:var(--red)}

/* Aside 소개 */
.as2{display:grid;grid-template-columns:1fr 1fr;gap:1.3cqw;width:100%}
.as2>.st{display:flex;min-width:0}
.asw{flex:1;border-radius:1.2cqw;background:var(--panel);padding:1.2cqw;display:flex;flex-direction:column;gap:.7cqw}
.asw.c{outline:.2cqw solid var(--blue);outline-offset:-.2cqw}
.asw h3{margin:0;font-size:1.85cqw;font-weight:900}
.asw .brw{height:14cqw}.asw .brw>div{display:flex;flex-direction:column;gap:.5cqw;padding:.8cqw 1cqw;align-items:stretch;justify-content:flex-start;font-size:1.2cqw;text-align:left}
.lg{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border-radius:.5cqw;padding:.45cqw .7cqw;font-weight:700}
.lg.on{background:rgba(44,174,96,.14);color:var(--green)}.lg.off{background:rgba(229,72,77,.1);color:var(--red)}
.asw p{margin:0;font-size:1.35cqw;line-height:1.4}
.as-res{display:grid;grid-template-columns:1fr auto auto;gap:.3cqw .8cqw;font-size:1.12cqw;font-weight:700}.as-res b{color:var(--lime)}

/* 기획서 */
.pl4{display:grid;grid-template-columns:1fr 1fr;gap:.7cqw}
.pl4>div{background:var(--panel);border-radius:.9cqw;padding:.9cqw 1.1cqw;display:flex;flex-direction:column;gap:.2cqw}.pl4 b{font-size:1.45cqw;font-weight:800}.pl4 span{font-size:1.15cqw;color:var(--sub);line-height:1.35}
.tmr{display:flex;align-items:center;gap:.8cqw;background:var(--blue);color:#fff;border-radius:.9cqw;padding:.8cqw 1.1cqw;font-size:1.45cqw;font-weight:800}.tmr i{font-style:normal;font-size:2.2cqw}
.aif{display:flex;align-items:center;gap:.6cqw;font-size:1.3cqw;margin-top:.7cqw}.aif span{flex:1;background:var(--panel);border-radius:.7cqw;padding:.7cqw;text-align:center;font-weight:700;line-height:1.35}.aif span.c{background:var(--blue);color:#fff}.aif u{text-decoration:none;color:var(--sub)}

/* 마지막 QR: 18기 자료 형식 */
.qr4{display:flex;justify-content:center;gap:2cqw;width:100%}
.qr4 figure{margin:0;width:24cqw;background:#fff;color:#1b1d1f;border:1px solid var(--line);border-radius:1.4cqw;padding:2cqw 1.6cqw;display:flex;flex-direction:column;align-items:center;gap:1.3cqw;box-shadow:0 .4cqw 1.8cqw rgba(0,0,0,.08)}
.qr4 .lg0{height:4.8cqw;display:grid;place-items:center;font-size:4cqw;line-height:1}
.qr4 .lg0 img{max-height:4.4cqw;max-width:15cqw;width:auto;height:auto;object-fit:contain;padding:0}
.qr4 figure>img{width:18.5cqw;height:18.5cqw;object-fit:contain}
.qr4 figcaption{font-size:2cqw;font-weight:800}

/* 파랑 실습 장면 위의 칸은 흰 판으로 */
.sl.lab .pl4>div,.sl.lab .ig>div,.sl.lab .aif span:not(.c),.sl.lab .ms>div:not(.th){background:#fff;color:#1b1d1f}
.sl.lab .pl4 span,.sl.lab .ig span,.sl.lab .ms span{color:#5b5f63}
.sl.lab .tmr{background:#fff;color:#0461cc}
.sl.lab .aif u,.sl.lab .ms .th,.sl.lab .ms .th span{color:#fff}
.sl.lab .aif span.c{background:#fff;color:#0461cc;font-weight:900}
.ms code{font-family:inherit;color:#0461cc}.ms .blk code{color:#e5484d}

/* ---------- 16단계: 강사 검토 2026-11-06 ---------- */
/* 색 규칙: 파랑 = 손을 움직이는 시간(파트 시작, 실습, 앱 이동), 흰색 = 설명 듣는 시간 */
.sl.gopg{background:var(--blue);color:#fff}
html[data-theme=dark] .sl.gopg{background:var(--blue);color:#fff}
.go-steps li{background:#fff;color:#1b1d1f}
html[data-theme=dark] .go-steps li{background:#0d0d0d;color:#f4f4f5}
.go-steps li::before{background:var(--blue);color:#fff}
.go-k{background:#fff;color:var(--blue)}
.go-back,.go-pt{color:#fff}
.tg.go{background:var(--blue);border-color:var(--blue);color:#fff}
/* 파란 실습 장 안의 밝은 칸은 글자를 어둡게 (56쪽 흰 글씨 문제) */
.lc2>div{color:var(--ink)}.lc2>div.c{color:#fff}
/* 18쪽: 한 줄씩 붙이기 */
.gr{display:grid;grid-template-columns:1.15fr 1fr;gap:1.6cqw;width:100%;min-height:0;align-items:stretch}
.gr-l{display:flex;flex-direction:column;gap:.55cqw;min-width:0}
.gr-0{background:var(--panel);border-radius:.9cqw;padding:.9cqw 1.2cqw;font-size:1.65cqw;font-weight:800}
.gr-0 small{display:block;font-size:1.15cqw;color:var(--sub);font-weight:700;margin-bottom:.15cqw}
.gr-r{display:grid;grid-template-columns:2.8cqw 8.2cqw 1fr;align-items:center;gap:.7cqw;border:1px solid var(--line);border-radius:.9cqw;padding:.6cqw .9cqw}
.gr-r i{font-style:normal;font-size:1.9cqw;text-align:center}
.gr-r b{font-size:1.38cqw;font-weight:900;color:var(--lime);line-height:1.25}
.gr-r span{font-size:1.42cqw;line-height:1.35;font-weight:700}
.gr-d{border:.15cqw solid var(--line);border-radius:1cqw;padding:1.2cqw 1.4cqw;display:flex;flex-direction:column;gap:.55cqw;min-width:0;background:var(--panel)}
.gr-d h4{margin:0;font-size:1.25cqw;color:var(--sub);font-weight:800}
.gr-d .ln0{font-size:1.45cqw;color:var(--sub)}
.gr-x{background:var(--bg,#fff);border-radius:.6cqw;padding:.55cqw .8cqw;font-size:1.32cqw;line-height:1.4;font-weight:700}
.gr-x em{font-style:normal;color:var(--lime);font-weight:900;margin-right:.4cqw}
/* ChatGPT로 되는 것 */
.ov{display:grid;grid-template-columns:repeat(6,1fr);gap:.9cqw;width:100%}
.ov>.st{display:flex;min-width:0}
.ov-c{flex:1;border:1px solid var(--line);border-radius:1cqw;padding:1.2cqw 1cqw;display:flex;flex-direction:column;gap:.5cqw;min-width:0}
.ov-c i{font-style:normal;font-size:2.8cqw}
.ov-c b{font-size:1.6cqw;font-weight:900}
.ov-c span{font-size:1.3cqw;line-height:1.4;color:var(--sub);flex:1}
.ov-c em{font-style:normal;font-size:1.18cqw;font-weight:900;color:var(--lime);border-top:1px solid var(--line);padding-top:.5cqw}
.ov-c.nx{background:var(--panel)}.ov-c.nx em{color:var(--sub)}
/* 메타 프롬프팅 문장 */
.mq{display:flex;flex-direction:column;gap:.5cqw;margin-top:.8cqw}
.mq div{background:var(--panel);border-radius:.7cqw;padding:.6cqw .9cqw;font-size:1.3cqw;font-weight:700;line-height:1.4}
.mq small{display:block;color:var(--sub);font-size:1.08cqw;font-weight:700}
/* 모델 */
.md4{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;width:100%}
.md4>div{background:#070b16;color:#fff;border-radius:1.2cqw;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.md4 img{width:100%;aspect-ratio:1/.8;object-fit:cover;display:block}
.md4 .tx{padding:.9cqw 1.1cqw 1.1cqw;display:flex;flex-direction:column;gap:.3cqw}
.md4 b{font-size:1.8cqw;font-weight:900}.md4 b small{font-size:1.2cqw;color:#9ccbff;font-weight:800;margin-left:.5cqw}
.md4 span{font-size:1.32cqw;line-height:1.4;color:#e5ebf7}
.md4 u{text-decoration:none;font-size:1.2cqw;color:#9ccbff;font-weight:800;margin-top:.25cqw}
.md-b{margin-top:1cqw;text-align:center;font-size:1.9cqw;font-weight:900}
.md-b em{font-style:normal;color:var(--lime)}
/* 손이 닿는 곳 */
.rc{display:grid;grid-template-columns:1fr 3cqw 1fr;gap:.8cqw;align-items:stretch;width:100%}
.rc>u{text-decoration:none;font-size:2.4cqw;font-weight:900;align-self:center;text-align:center;color:var(--lime)}
.rc-c{border:1px solid var(--line);border-radius:1.2cqw;padding:1.8cqw;display:flex;flex-direction:column;gap:.6cqw}
.rc-c i{font-style:normal;font-size:4cqw}.rc-c b{font-size:2.1cqw;font-weight:900}.rc-c span{font-size:1.5cqw;line-height:1.45;color:var(--sub)}
.rc-c.c{border-color:var(--blue);box-shadow:inset 0 0 0 .1cqw var(--blue)}
.rc-q{margin-top:1.4cqw;text-align:center;font-size:2.2cqw;font-weight:900}.rc-q em{font-style:normal;color:var(--lime)}
/* 말투 4가지 */
.tn4{display:grid;grid-template-columns:repeat(4,1fr);gap:.8cqw;width:100%}
.tn-c{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:1cqw;padding:.9cqw;display:flex;flex-direction:column;gap:.5cqw;min-width:0}
.tn-c h3{margin:0;font-size:1.45cqw;font-weight:900}
.tn-s{background:var(--panel);border-radius:.6cqw;padding:.5cqw .7cqw;font-size:1.22cqw;line-height:1.38;min-height:4.8cqw}
.tn-c .prompt{font-size:1.2cqw;line-height:1.4;flex:1;margin:0;padding:.75cqw}
.tn-c .prompt .lb{font-size:.95cqw}
/* AGENTS.md 전역과 폴더 */
.lay{display:flex;flex-direction:column;gap:.5cqw}
.lay>div{border:1px solid var(--line);border-radius:.8cqw;padding:.65cqw .9cqw;display:grid;grid-template-columns:7.4cqw 1fr;gap:.7cqw;align-items:center}
.lay b{font-size:1.32cqw;font-weight:900}.lay span{font-size:1.2cqw;line-height:1.38}.lay small{display:block;color:var(--sub);font-size:1.02cqw;word-break:break-all}
/* 이미지 어디서나 */
.iw{display:grid;grid-template-columns:1.1fr 1fr;gap:1.4cqw;width:100%}
.iw3{display:flex;flex-direction:column;gap:.5cqw;min-width:0}.iw3 .card{padding:.8cqw 1cqw}
.iwr{border:1px solid var(--line);border-radius:.9cqw;padding:.55cqw 1cqw;display:grid;grid-template-columns:3.2cqw 1fr;gap:.8cqw;align-items:center}
.iw3 i{font-style:normal;font-size:2.3cqw;text-align:center}.iw3 b{font-size:1.6cqw;font-weight:900;display:block}.iw3 span{font-size:1.32cqw;line-height:1.4;color:var(--sub)}
.iw-n{border-radius:1.1cqw;background:var(--blue);color:#fff;padding:1.3cqw 1.5cqw;display:flex;flex-direction:column;gap:.5cqw}
.iw-n h3{margin:0;font-size:1.9cqw;font-weight:900}.iw-n p{margin:0;font-size:1.34cqw;line-height:1.45}.iw-n a{color:#fff;font-weight:800;font-size:1.2cqw}
/* 사진 보정 꿀팁 */
.pho{display:grid;grid-template-columns:1fr 1fr .78fr;gap:1cqw;width:100%;align-items:start}
.pho figure{margin:0;position:relative;border-radius:1cqw;overflow:hidden}
.pho img{width:100%;display:block}
.pho figcaption{position:absolute;left:.6cqw;top:.6cqw;background:#000b;color:#fff;font-size:1.2cqw;font-weight:800;border-radius:99px;padding:.2cqw .8cqw}
.ph-p{margin-top:.9cqw}
/* 레퍼런스 고르기 */
.rf3{display:flex;flex-direction:column;gap:.45cqw}
.rf3>div,.rf3>a{background:var(--bg);border:1px solid var(--line);border-radius:.8cqw;padding:.55cqw .8cqw;font-size:1.22cqw;line-height:1.38;color:var(--ink);text-decoration:none;display:block}
.rf3 b{font-weight:900;color:var(--lime);margin-right:.4cqw}
.rf3>a{border-color:var(--blue);box-shadow:inset 0 0 0 .08cqw var(--blue)}
/* 왜 .md: 예전 .mdv 표 */
.mdvw{display:grid;grid-template-columns:.75fr repeat(4,1fr);gap:.8cqw;align-items:start}
.mdvw>div{display:grid;grid-template-rows:2.6cqw 10cqw 4cqw 5cqw;gap:.6cqw}.mdvw>div>.st{min-height:0;display:flex;flex-direction:column;justify-content:center}.mdvw>div>.st>*{flex:1}
.gl-g{grid-template-columns:repeat(5,1fr)}

/* ---------- 17단계: 강사 검토 2026-11-06 2차 ---------- */
/* 11쪽 마지막 한 마디: 흰 블러 */
.st.gl-ov{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4cqw;text-align:center;padding:4cqw 8cqw;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(1.1cqw);backdrop-filter:blur(1.1cqw);color:#1b1d1f;transform:none}
.st.gl-ov.off{pointer-events:none;transform:none}
.gl-ov small{font-size:1.9cqw;font-weight:800;color:#5b5f63}
.gl-ov p{margin:0;font-size:3.5cqw;line-height:1.42;font-weight:900;letter-spacing:-.02em}
.gl-ov em{font-style:normal;color:#0461cc}
html[data-theme=dark] .st.gl-ov{background:rgba(13,13,13,.8);color:#f4f4f5}
html[data-theme=dark] .gl-ov small{color:#c5c7ca}
html[data-theme=dark] .gl-ov em{color:#8cc2ff}
/* Intelligent UI 설명 */
.iu{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.1cqw;width:100%}
.iu>.st{display:flex;min-width:0}
.iu-c{flex:1;border:1px solid var(--line);border-radius:1.2cqw;padding:1.5cqw 1.6cqw;display:flex;flex-direction:column;gap:.75cqw;min-width:0}
.iu-c h3{margin:0;font-size:2cqw;font-weight:900;line-height:1.25}
.iu-c h3 small{display:block;font-size:1.15cqw;font-weight:800;color:var(--lime);margin-bottom:.25cqw}
.iu-c p{margin:0;font-size:1.48cqw;line-height:1.48}
.iu-c.c{border-color:var(--blue);box-shadow:inset 0 0 0 .1cqw var(--blue)}
.iu-tags{display:flex;flex-wrap:wrap;gap:.4cqw}
.iu-tags span{background:var(--panel);border-radius:99px;padding:.22cqw .85cqw;font-size:1.25cqw;font-weight:800}
.iu-l{display:flex;flex-direction:column;gap:.5cqw;font-size:1.42cqw;line-height:1.42}
.iu-l div{display:grid;grid-template-columns:1.9cqw 1fr;gap:.35cqw}
.iu-l i{font-style:normal;font-weight:900;color:var(--lime)}
.iu-l i.n{color:var(--red)}
.iu-b{margin-top:1.1cqw;text-align:center;font-size:2.1cqw;font-weight:900}
.iu-b em{font-style:normal;color:var(--lime)}
/* 커피값 계산기 그림 */
.cf{background:#fff;color:#1b1d1f;border-radius:1.2cqw;padding:1.3cqw 1.6cqw;display:flex;flex-direction:column;gap:.75cqw}
html[data-theme=dark] .cf{background:#111;color:#f4f4f5}
.cf>span{font-size:1.15cqw;font-weight:800;color:#5b5f63}
.cf-s{display:grid;grid-template-columns:max-content minmax(8cqw,1fr) max-content;white-space:nowrap;gap:.8cqw;align-items:center;font-size:1.35cqw;font-weight:800}
.cf-s u{display:block;width:100%;min-width:8cqw;height:.55cqw;border-radius:99px;background:#d9e7f8;position:relative;text-decoration:none}
.cf-s u::before{content:"";position:absolute;left:0;top:0;bottom:0;width:48%;background:var(--blue);border-radius:99px}
.cf-s u::after{content:"";position:absolute;left:46%;top:-.55cqw;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#fff;border:.25cqw solid var(--blue);box-sizing:border-box;animation:cfp 1.8s ease-in-out infinite alternate}
@keyframes cfp{from{transform:translateX(-1.6cqw)}to{transform:translateX(1.6cqw)}}
.cf-r{display:grid;grid-template-columns:1fr 1fr;gap:.7cqw}
.cf-r div{background:#f0f4f9;border-radius:.8cqw;padding:.7cqw 1cqw;font-size:1.15cqw;font-weight:700;color:#3a3d40}
html[data-theme=dark] .cf-r div{background:#1d1f22;color:#d5d7da}
.cf-r b{display:block;font-size:2cqw;font-weight:900;color:#0461cc}
html[data-theme=dark] .cf-r b{color:#8cc2ff}
/* 21쪽: 막 말하기 → 실제 프롬프트 */
.glow{font-style:normal;color:var(--lime);animation:glw 1.5s ease-in-out infinite alternate}
@keyframes glw{from{text-shadow:0 0 .2cqw rgba(5,115,240,.25)}to{text-shadow:0 0 1.5cqw rgba(5,115,240,.95),0 0 .5cqw rgba(5,115,240,.6)}}
.mp{display:grid;grid-template-columns:1fr 3cqw 1.22fr;gap:.6cqw;width:100%;align-items:stretch}
.mp>.st{display:flex;min-width:0}
.mp-a{align-self:center;text-align:center;font-size:2.6cqw;color:var(--sub);font-weight:300}
.mp-l{background:var(--panel);border-radius:1.2cqw;padding:1.4cqw 1.5cqw;display:flex;flex-direction:column;gap:.8cqw;min-width:0}
.mp-l>b{font-size:1.28cqw;color:var(--sub)}
.mp-t{font-size:1.72cqw;line-height:1.58;font-weight:700}
.mp-x{background:var(--blue);color:#fff;border-radius:.7cqw;padding:.55cqw .9cqw;font-size:1.34cqw;font-weight:800;display:inline-block}
.mp-w{flex:1;border:.14cqw solid var(--blue);border-radius:1.2cqw;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.mp-h{display:flex;align-items:center;gap:.5cqw;font-size:1.18cqw;font-weight:800;padding:.65cqw 1.1cqw;background:var(--panel)}
.mp-h i{width:.75cqw;height:.75cqw;border-radius:50%;background:var(--blue)}
.mp-b{padding:.9cqw 1.1cqw;display:flex;flex-direction:column;gap:.42cqw}
.mp-b>p{margin:0 0 .15cqw;font-size:1.3cqw;font-weight:700}
.mp-r{display:grid;grid-template-columns:2.2cqw 1fr;gap:.4cqw;align-items:center;background:var(--panel);border-radius:.6cqw;padding:.4cqw .7cqw;font-size:1.28cqw;line-height:1.36}
.mp-r i{font-style:normal;font-size:1.5cqw;text-align:center}
.mp-r code{font-family:inherit;font-weight:900;color:var(--lime);margin-right:.4cqw}
.mp-e{margin-top:.9cqw;text-align:center;font-size:2.2cqw;font-weight:900}
.mp-e small{display:block;font-size:1.4cqw;font-weight:700;color:var(--sub)}
/* 30쪽 숫자 */
.ph-s{display:flex;align-items:center;gap:1cqw;font-weight:900;font-size:3.2cqw;letter-spacing:-.02em}
.ph-s u{text-decoration:none;color:var(--sub);font-weight:300}
.ph-s b{font-weight:900}.ph-s b.c{color:var(--lime)}
.ph-sub{font-size:1.5cqw;font-weight:800}
/* 펫 */
.pet-s{width:14cqw;aspect-ratio:192/208;background:url(assets/pet/coduck.webp) 0 0/800% 100% no-repeat;animation:petw 1.2s steps(8) infinite;flex:none}
@keyframes petw{to{background-position:114.2857% 0}}
.pd{position:relative;flex:1;min-height:25cqw;border-radius:1.2cqw;overflow:hidden;background:linear-gradient(135deg,#dfeafb,#f6f8fc);color:#1b1d1f;width:100%}
.pd-w{position:absolute;background:#fff;border-radius:.7cqw;box-shadow:0 .3cqw 1.2cqw #0002;overflow:hidden;font-size:1.1cqw}
.pd-w>b{display:block;background:#eef1f5;padding:.32cqw .7cqw;font-size:1cqw;font-weight:800;color:#5b5f63}
.pd-w>div{padding:.6cqw .8cqw;display:flex;flex-direction:column;gap:.35cqw}
.pd-w u{display:block;height:.55cqw;border-radius:9px;background:#e4e7ec;text-decoration:none}
.pd-pet{position:absolute;right:1cqw;bottom:.6cqw;display:flex;flex-direction:column;align-items:flex-end}
.pd-bs{position:absolute;right:13cqw;bottom:9cqw;width:17cqw;height:5.4cqw}
.pd-bs>.st{position:absolute;inset:0}
.pd-b{position:absolute;right:0;bottom:0;background:#1b1d1f;color:#fff;border-radius:1cqw 1cqw .2cqw 1cqw;padding:.6cqw .95cqw;font-size:1.3cqw;line-height:1.35;font-weight:700;width:100%;box-sizing:border-box}
.pd-b small{display:block;font-size:1.02cqw;font-weight:900;margin-bottom:.1cqw}
.pd-b small.r{color:#7fe3a4}.pd-b small.w{color:#ffd166}.pd-b small.d{color:#8cc2ff}
/* 57쪽: 왼쪽 md, 오른쪽 노션처럼 */
.nm{display:grid;grid-template-columns:1fr 3.4cqw 1.2fr;gap:.7cqw;width:100%;align-items:stretch}
.nm>.st{display:flex;min-width:0}
.nm-a{align-self:center;text-align:center;font-size:2.8cqw;font-weight:300;color:var(--lime)}
.nm-l{background:#16181b;color:#e8eaed;border-radius:1.2cqw;padding:1.4cqw 1.7cqw;display:flex;flex-direction:column;gap:.9cqw;min-width:0}
.nm-l>span{font-size:1.2cqw;font-weight:800;color:#9aa0a6}
.nm-l pre{margin:0;font-family:ui-monospace,Consolas,"D2Coding",monospace;font-size:1.72cqw;line-height:1.75;white-space:pre-wrap}
.nm-l pre em{font-style:normal;font-weight:900;color:#7dbcff}
.nm-r{flex:1;background:#fff;color:#1b1d1f;border:1px solid var(--line);border-radius:1.2cqw;padding:1.4cqw 2cqw;display:flex;flex-direction:column;gap:.35cqw;min-width:0}
html[data-theme=dark] .nm-r{background:#191919;color:#f1f1f1}
.nm-r>span{font-size:1.2cqw;font-weight:800;color:#8a8f94;margin-bottom:.2cqw}
.nm-i{font-size:2.8cqw;line-height:1.1}
.nm-x{display:flex;align-items:center;justify-content:space-between;gap:1cqw}
.nm-x u{text-decoration:none;flex:none;font-family:ui-monospace,Consolas,monospace;font-size:1.08cqw;font-weight:800;color:#0461cc;background:#e8f2ff;border-radius:.5cqw;padding:.12cqw .55cqw}
html[data-theme=dark] .nm-x u{background:#14304f;color:#a9d2ff}
.nm-h1{font-size:2.7cqw;font-weight:900;letter-spacing:-.02em}
.nm-h2{font-size:1.85cqw;font-weight:800;margin-top:.45cqw}
.nm-li{font-size:1.55cqw}.nm-li::before{content:"•";margin:0 .6cqw 0 .3cqw}
/* 카카오 연결 네 단계 */
.kc{display:grid;grid-template-columns:1fr 1.12fr;gap:1.4cqw;width:100%;min-height:0;flex:1}
.kc-l{display:flex;flex-direction:column;gap:.6cqw;min-width:0}
.kc-s{background:#fff;color:#1b1d1f;border-radius:1cqw;padding:.8cqw 1.1cqw;display:grid;grid-template-columns:2.6cqw 1fr;gap:.8cqw;align-items:center}
html[data-theme=dark] .kc-s{background:#0d0d0d;color:#f4f4f5}
.kc-s>i{font-style:normal;width:2.6cqw;height:2.6cqw;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.35cqw}
.kc-s b{display:block;font-size:1.55cqw;font-weight:900;line-height:1.3}
.kc-s span{display:block;font-size:1.25cqw;line-height:1.38;color:#5b5f63}
html[data-theme=dark] .kc-s span{color:#c5c7ca}
.kc-s a{color:#0461cc;font-weight:800}
html[data-theme=dark] .kc-s a{color:#8cc2ff}
.kc-s code{font-family:ui-monospace,Consolas,monospace;font-size:1.22cqw;font-weight:800;color:#0461cc;user-select:all}
html[data-theme=dark] .kc-s code{color:#8cc2ff}
.kc-v{position:relative;background:#1d1d1d;border-radius:1.1cqw;overflow:hidden;min-height:29cqw}
.kc-v>.st{position:absolute;inset:0;background:#1d1d1d;display:flex;align-items:center;justify-content:center;padding:.6cqw}
.kc-v>.st>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.kc-v img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:.5cqw}
.kc-0{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c5c7ca;font-size:1.6cqw;font-weight:800;text-align:center}
/* 나챗방 그림 */
.nch{background:#b2c7d9;border-radius:1.2cqw;padding:1.2cqw 1.3cqw;display:flex;flex-direction:column;gap:.8cqw;color:#1b1d1f;flex:1;justify-content:center}
.nch-t{font-size:1.2cqw;font-weight:800;text-align:center;color:#3a4a58}
.nch-m{align-self:flex-end;max-width:92%;background:#fee500;border-radius:1cqw .2cqw 1cqw 1cqw;padding:.8cqw 1cqw;font-size:1.42cqw;line-height:1.45;font-weight:600}
.nch-g{display:flex;flex-direction:column;gap:.3cqw;background:#fff;border-radius:.8cqw;padding:.65cqw .9cqw;font-size:1.22cqw;font-weight:800}
.nch-g u{display:block;height:.6cqw;border-radius:99px;background:#e4e7ec;overflow:hidden;text-decoration:none}
.nch-g u::before{content:"";display:block;height:100%;width:62%;background:var(--blue)}
/* 이미지 사용량 */
.iw-u{border:1px solid var(--line);border-radius:.9cqw;padding:.65cqw 1cqw;font-size:1.3cqw;line-height:1.42}
.iw3 .iw-u b,.iw-u b{display:inline;font-size:inherit;color:var(--lime);font-weight:900}
.iw3 .iwr b em{font-style:normal;color:var(--lime)}
/* 마무리: 버전 2 */
.v2{display:flex;flex-direction:column;gap:.9cqw;width:100%}
.v2-c{display:grid;grid-template-columns:4cqw 1fr;gap:1.2cqw;align-items:center;border:1px solid var(--line);border-radius:1.2cqw;padding:1.2cqw 1.6cqw}
.v2-c>i{font-style:normal;width:4cqw;height:4cqw;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.9cqw}
.v2-c b{display:block;font-size:2.25cqw;font-weight:900;line-height:1.3}
.v2-c span{font-size:1.5cqw;color:var(--sub);line-height:1.4}
.v2-n{text-align:center;font-size:1.6cqw;font-weight:800;margin-top:.3cqw}
html[data-theme=dark] .cf>span{color:#c5c7ca}

/* 19쪽 ChatGPT 바로 열기 */
.go-c{display:block;background:#fff;color:#0461cc;text-align:center;border-radius:.9cqw;padding:.8cqw 1.2cqw;font-size:1.6cqw;font-weight:900;text-decoration:none;box-shadow:0 .3cqw 1cqw rgba(0,0,0,.18)}
.go-c:hover{background:#e8f1fb}

/* 카드뉴스 레퍼런스 내려받기 */
.dl-z{display:flex;align-items:center;justify-content:space-between;gap:1cqw;background:#fff;color:#0461cc!important;border-radius:1cqw;padding:1cqw 1.5cqw;text-decoration:none;box-shadow:0 .3cqw 1cqw rgba(0,0,0,.18)}
.dl-z b{font-size:1.95cqw;font-weight:900;color:#0461cc}
.dl-z small{font-size:1.15cqw;font-weight:700;color:#3a3d40;text-align:right;line-height:1.35}
.dl-z:hover{background:#e8f1fb}
.rfl{display:flex;flex-direction:column;gap:.55cqw;background:#fff;color:#1b1d1f;border-radius:1cqw;padding:1cqw 1.2cqw}
.rfl b{display:block;font-size:1.25cqw;font-weight:900;color:#0461cc}
.rfl img{display:block;width:100%;border-radius:.4cqw}
.rfl i{font-style:normal;text-align:center;font-weight:900;color:#0461cc;font-size:1.3cqw;line-height:1}
.rfl p{margin:0;font-size:1.2cqw;line-height:1.4;font-weight:600;color:#3a3d40}
.rfl code{font-size:1.15cqw;background:#f0f4f9;padding:0 .3cqw;border-radius:.25cqw;color:#1b1d1f}
html[data-theme=dark] .rfl{background:#111;color:#f4f4f5}
html[data-theme=dark] .rfl b,html[data-theme=dark] .rfl i{color:#8cc2ff}
html[data-theme=dark] .rfl p{color:#d5d7da}
html[data-theme=dark] .rfl code{background:#1d1f22;color:#f4f4f5}
html[data-theme=dark] .dl-z{background:#111}
html[data-theme=dark] .dl-z b{color:#8cc2ff}
html[data-theme=dark] .dl-z small{color:#d5d7da}
html[data-theme=dark] .dl-z{color:#8cc2ff!important}

/* 브라우저 유즈 vs 컴퓨터 유즈 */
.bu2{display:grid;grid-template-columns:1fr 1fr;gap:1.2cqw;width:100%}
.bu2>.st{display:flex;min-width:0}
.bu-c{flex:1;border:1px solid var(--line);border-radius:1.2cqw;padding:1.3cqw 1.6cqw;display:flex;flex-direction:column;gap:.7cqw;min-width:0}
.bu-c h3{margin:0;font-size:2.1cqw;font-weight:900;display:flex;align-items:baseline;gap:.8cqw;flex-wrap:wrap}
.bu-c h3 kbd{font:inherit;font-size:1.25cqw;font-weight:800;color:var(--lime);background:var(--panel);border-radius:.5cqw;padding:.1cqw .6cqw}
.bu-r{display:grid;grid-template-columns:6.8cqw 1fr;gap:.2cqw .7cqw;font-size:1.42cqw;line-height:1.42}
.bu-r>b{font-size:1.2cqw;font-weight:800;color:var(--sub);padding-top:.12cqw}
.bu-try{margin-top:1cqw}
.gl-ov .lim3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw;width:100%;text-align:left}
.gl-ov .lim3>.st{display:flex;min-width:0}
.lim-c{flex:1;background:#fff;border:1px solid #d9dde2;border-radius:1.1cqw;padding:1.2cqw 1.4cqw;display:flex;flex-direction:column;gap:.45cqw}
.lim-c b{font-size:2.1cqw;font-weight:900;color:#1b1d1f;line-height:1.25}
.lim-c span{font-size:1.42cqw;line-height:1.45;font-weight:600;color:#3a3d40}
.gl-ov .lim-q{margin:0;font-size:3cqw;font-weight:900;line-height:1.3}
html[data-theme=dark] .lim-c{background:#1a1c1f;border-color:#34373b}
html[data-theme=dark] .lim-c b{color:#f4f4f5}
html[data-theme=dark] .lim-c span{color:#d5d7da}

/* ===== 20단계: 강사 검토 2026-11-06 4차 ===== */
.shot{border:1px solid var(--line,#d9dce1);border-radius:1cqw;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0}
.shot img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.shot-cap{font-size:1.2cqw;line-height:1.4;color:#5b5f63;margin-top:.4cqw;text-align:center}
html[data-theme=dark] .shot-cap{color:#c5c7ca}
.tm-w{display:inline-flex;align-items:center;gap:.7cqw;background:#0573f0;color:#fff;border-radius:1cqw;padding:.5cqw 1cqw;align-self:flex-start;flex:none}
.tm-w b{font-size:2.3cqw;font-weight:900;font-variant-numeric:tabular-nums;min-width:7cqw;text-align:center}
.tm-w.done b{color:#ffe08a}
.tm-w button{all:unset;cursor:pointer;background:#fff;color:#0461cc;font-size:1.2cqw;font-weight:800;border-radius:.6cqw;padding:.35cqw .8cqw}
.ag3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4cqw;width:100%}
.ag3>.st{display:flex;min-width:0}
.ag3c{flex:1;display:flex;flex-direction:column;align-items:center;gap:.8cqw;background:#fff;border:1px solid #d9dce1;border-radius:1.2cqw;padding:1.6cqw 1cqw;text-align:center;color:#1b1d1f}
html[data-theme=dark] .ag3c{background:#0d0d0d;border-color:#33363b;color:#f4f4f5}
.ag3c.on{border:.25cqw solid #0573f0}
.ag3c img{width:4cqw;height:4cqw;object-fit:contain}
.ag3c small{font-size:1.3cqw;color:#5b5f63}
html[data-theme=dark] .ag3c small{color:#c5c7ca}
.ag3c u{text-decoration:none;font-size:2cqw;color:#0461cc}
html[data-theme=dark] .ag3c u{color:#8cc2ff}
.ag3c b{font-size:2.3cqw;font-weight:900}
.ag3c span{font-size:1.35cqw;line-height:1.4}
.who{display:grid;grid-template-columns:auto 1fr;gap:1cqw;align-items:center;background:#eef5ff;color:#1b1d1f;border-radius:1cqw;padding:.7cqw 1.2cqw;margin-bottom:.9cqw}
html[data-theme=dark] .who{background:#102036;color:#f4f4f5}
.who b{font-size:1.6cqw;font-weight:900;white-space:nowrap}
.who span{font-size:1.25cqw;line-height:1.4}
.br3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2cqw;width:100%}
.br3>.st{display:flex;min-width:0}
.br3c{flex:1;background:#fff;color:#1b1d1f;border:1px solid #d9dce1;border-radius:1.2cqw;padding:1.3cqw;display:flex;flex-direction:column;gap:.5cqw}
html[data-theme=dark] .br3c{background:#0d0d0d;border-color:#33363b;color:#f4f4f5}
.br3c i{font-style:normal;font-size:2.6cqw}
.br3c b{font-size:1.8cqw;font-weight:900;line-height:1.3}
.br3c span{font-size:1.35cqw;line-height:1.45}
.brq{margin-top:1.2cqw;text-align:center;font-size:2.3cqw;font-weight:900;line-height:1.4}
.brq em{font-style:normal;color:#0461cc}
html[data-theme=dark] .brq em{color:#8cc2ff}
.rm2{display:grid;grid-template-columns:1fr 1fr;gap:1.3cqw;width:100%}
.rm2>.st{display:flex;min-width:0}
.rmc{flex:1;background:#fff;color:#1b1d1f;border:1px solid #d9dce1;border-radius:1.2cqw;padding:1.4cqw;display:flex;flex-direction:column;gap:.7cqw}
html[data-theme=dark] .rmc{background:#0d0d0d;border-color:#33363b;color:#f4f4f5}
.rmc.c{border:.25cqw solid #0573f0}
.rmc h3{margin:0;font-size:1.9cqw;font-weight:900}
.rmc p{margin:0;font-size:1.4cqw;line-height:1.5}
.rm-f{display:flex;align-items:center;justify-content:center;gap:.8cqw;font-size:2.4cqw;padding:.6cqw 0}
.rm-f span{display:flex;flex-direction:column;align-items:center;gap:.2cqw;font-size:2.8cqw}
.rm-f small{font-size:1.15cqw;font-weight:700}
.rm-f u{text-decoration:none;color:#0573f0;font-weight:900}
.rmb{font-size:1.25cqw;font-weight:800;color:#0461cc}
html[data-theme=dark] .rmb{color:#8cc2ff}
.pho1{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1cqw;flex:none;height:27cqw;width:100%}
.pho1>.st{min-height:0;height:100%}
.pho1 figure{margin:0;display:flex;flex-direction:column;min-height:0;height:100%;gap:.3cqw}
.pho1 img{flex:1;min-height:0;width:100%;object-fit:contain;border-radius:.8cqw}
.pho1 figcaption{text-align:center;font-weight:800;font-size:1.4cqw}
.dm{flex:1;display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #cfd3d9;border-radius:1cqw;overflow:hidden;color:#1b1d1f;position:relative;min-height:24cqw}
.dm-b{display:flex;align-items:center;gap:.4cqw;padding:.5cqw .8cqw;background:#eceef1;font-size:1.1cqw;font-weight:700;color:#3a3d42}
.dm-b i{width:.7cqw;height:.7cqw;border-radius:50%;background:#c4c8ce}
.dm-b span{background:#fff;border-radius:1cqw;padding:.15cqw .9cqw;margin-left:.6cqw;flex:1}
.dm-v{position:relative;flex:1;overflow:hidden}
.dm-l{position:absolute;inset:0;padding:1.4cqw;display:flex;flex-direction:column;gap:.7cqw;opacity:0;animation:dmL 12s infinite}
.dm-l.a{animation-delay:0s}.dm-l.b{animation-delay:4s}.dm-l.c{animation-delay:8s}
@keyframes dmL{0%{opacity:0}3%{opacity:1}30%{opacity:1}33%{opacity:0}100%{opacity:0}}
.dm-s{border:1px solid #c4c8ce;border-radius:2cqw;padding:.6cqw 1cqw;font-size:1.3cqw;align-self:center;width:75%;margin-top:3cqw;white-space:nowrap;overflow:hidden}
.dm-s u{display:inline-block;text-decoration:none;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:dmT 12s infinite steps(14)}
@keyframes dmT{0%{max-width:0}22%{max-width:100%}100%{max-width:100%}}
.dm-gl{font-size:2.2cqw;font-weight:800;text-align:center;color:#3f6fd8}
.dm-r{border-radius:.5cqw;padding:.5cqw .7cqw;font-size:1.25cqw;background:#f4f5f7}
.dm-r.on{background:#dcebff;font-weight:800}
.dm-r small{display:block;font-size:1cqw;color:#5b5f63}
.dm-res{background:#0573f0;color:#fff;border-radius:.8cqw;padding:.8cqw 1cqw;font-size:1.3cqw;line-height:1.5;font-weight:700}
.dm-cur{position:absolute;font-size:1.8cqw;z-index:3;animation:dmC 12s infinite;left:50%;top:30%}
@keyframes dmC{0%,20%{left:60%;top:28%}34%,55%{left:30%;top:34%}67%,100%{left:70%;top:70%}}
.dm.pc{background:#15395f}
.pc-v{position:relative;flex:1;overflow:hidden}
.pc-w{position:absolute;background:#fff;border-radius:.5cqw;box-shadow:0 .3cqw 1cqw rgba(0,0,0,.35);overflow:hidden;font-size:1.05cqw;animation:pcF 12s infinite}
.pc-w>b{display:block;background:#dfe2e6;padding:.25cqw .6cqw;font-size:1cqw}
.pc-w>div{padding:.5cqw .6cqw;line-height:1.5}
.pc-w.x{left:4%;top:7%;width:48%;height:50%}.pc-w.m{left:42%;top:30%;width:50%;height:42%;animation-delay:4s}.pc-w.s{left:12%;top:56%;width:42%;height:38%;animation-delay:8s}
@keyframes pcF{0%,30%{outline:.25cqw solid #ffb020;z-index:2}33%,100%{outline:0 solid transparent;z-index:1}}
.pc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9ccd1}.pc-g i{background:#fff;font-style:normal;padding:.1cqw .3cqw}
.pc-cur{position:absolute;font-size:1.8cqw;z-index:4;animation:pcC 12s infinite}
@keyframes pcC{0%,28%{left:30%;top:30%}36%,60%{left:68%;top:50%}68%,100%{left:30%;top:76%}}
.dmnote{font-size:1.1cqw;color:#5b5f63;text-align:center;margin-top:.3cqw}
html[data-theme=dark] .dmnote{color:#c5c7ca}
.v2w{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw;width:100%}
.v2w>.st{display:flex;min-width:0}
.pbx{width:100%;flex:1;min-height:0;overflow:auto}
.pl-tip{font-size:1.25cqw;line-height:1.45}
.qr4.q2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:56cqw;margin:0 auto}

/* ===== 21단계: 강사 검토 2026-11-06 5차 ===== */
.scope-tag{position:absolute;top:.75cqw;left:50%;transform:translateX(-50%);z-index:4;background:#fff;color:#0461cc;border:1px solid #0573f0;border-radius:2cqw;padding:.18cqw .9cqw;font-size:1.05cqw;font-weight:800;white-space:nowrap}
html[data-theme=dark] .scope-tag{background:#0d0d0d;color:#8cc2ff}
.vid{display:block;width:100%;border-radius:1cqw;background:#111}
.tpsb{display:flex;flex-direction:column;gap:.55cqw}
.tpr{display:grid;grid-template-columns:7cqw 1fr 7.5cqw;gap:.7cqw;align-items:center;font-size:1.35cqw}
.tpr b{font-weight:800}
.tpr>div{background:#e7eaee;border-radius:1cqw;height:1.6cqw;overflow:hidden}
html[data-theme=dark] .tpr>div{background:#2a2d31}
.tpr i{display:block;height:100%;background:#9aa3ad;border-radius:1cqw}
.tpr.on i{background:#0573f0}
.tpr span{font-size:1.1cqw;white-space:nowrap}
.ctxn{display:grid;grid-template-columns:1fr 1fr;gap:.6cqw;margin:.4cqw 0}
.ctxn>div{background:#f4f5f7;color:#1b1d1f;border-radius:.8cqw;padding:.6cqw .9cqw}
html[data-theme=dark] .ctxn>div{background:#1a1c1f;color:#f4f4f5}
.ctxn b{display:block;font-size:1.9cqw;font-weight:900;color:#0461cc}
html[data-theme=dark] .ctxn b{color:#8cc2ff}
.ctxn span{font-size:1.15cqw;line-height:1.35}
.kit2{display:grid;grid-template-columns:1fr 1fr;gap:.6cqw}
.kit2>div{background:#fff;color:#1b1d1f;border-radius:.8cqw;padding:.7cqw .9cqw;display:flex;flex-direction:column;gap:.15cqw}
.kit2 img{height:2cqw;width:2cqw;object-fit:contain}
.kit2 b{font-size:1.4cqw;font-weight:900}
.kit2 span{font-size:1.1cqw;line-height:1.35}
.kit2 em{font-style:normal;font-size:1.05cqw;font-weight:800;color:#0461cc}
.pdg{display:flex;align-items:center;gap:1cqw;background:#fff;color:#1b1d1f;border-radius:1cqw;padding:.6cqw 1cqw}
.pdg img{width:9cqw;height:9cqw;object-fit:contain}
.pdg b{display:block;font-size:1.5cqw;font-weight:900}
.pdg span{font-size:1.2cqw;line-height:1.4}
.aslg{display:flex;align-items:center;gap:.8cqw;background:#fff;color:#1b1d1f;border-radius:1cqw;padding:.6cqw 1cqw;margin-bottom:.5cqw}
.aslg img{height:2.8cqw;width:2.8cqw;object-fit:contain}
.aslg b{font-size:1.8cqw;font-weight:900}
.aslg span{font-size:1.25cqw}
.wrapc{display:flex;flex-wrap:wrap;gap:.5cqw;justify-content:center;margin-bottom:.9cqw}
.wrapc span{background:#eef5ff;color:#0461cc;border-radius:2cqw;padding:.3cqw 1cqw;font-size:1.25cqw;font-weight:800}
html[data-theme=dark] .wrapc span{background:#102036;color:#8cc2ff}
.tmbar{display:grid;grid-template-columns:1fr 5fr;gap:.4cqw;width:100%}
.tmbar>.st{display:flex;min-width:0}
.tmbar .t1,.tmbar .t2{flex:1;border-radius:.8cqw;padding:.7cqw 1cqw;color:#fff;display:flex;flex-direction:column}
.tmbar .t1{background:#ff7a2f}.tmbar .t2{background:#0573f0}
.tmbar b{font-size:1.5cqw;font-weight:900}
.tmbar span{font-size:1.15cqw}
.cs3{display:grid;grid-template-columns:repeat(3,1fr);gap:.9cqw;width:100%;align-items:start}
.cs3>.st{min-width:0}
.cs3 figure{margin:0;display:flex;flex-direction:column;gap:.4cqw}
.cs3 .shot{height:18cqw}
.cs3 figcaption{font-size:1.2cqw;line-height:1.4}
.cs3 figcaption b{display:block;font-size:1.45cqw;font-weight:900}

/* ===== 22단계: 강사 검토 2026-11-06 6차 ===== */
.tiny{font-size:1.15cqw;line-height:1.45;color:#5b5f63;margin-top:.6cqw;text-align:center}
.tiny a{color:inherit;text-decoration:underline}
html[data-theme=dark] .tiny{color:#c5c7ca}
.sl.blue .tiny,.sl.lab .tiny,.sl.lab-page .tiny,.sl[class*=lab] .tiny{color:#fff;font-weight:700;text-align:left;font-size:1.3cqw}
.sl .tm-w{padding:.6cqw 1.1cqw;gap:.8cqw}
.tm-w b{font-size:2.5cqw}
.tm-w button{font-size:1.5cqw;padding:.5cqw 1.1cqw;border-radius:.7cqw;touch-action:manipulation;user-select:none}
.tm-w button:active{transform:scale(.94);background:#d7e8ff}
.tm-w.run{background:#0461cc}
.tm-w.run [data-t=go]{background:#ffe08a;color:#3a2a00}
.tm-w.done{background:#d92d20}
.tm-w.done b{color:#fff}
.sl .tm-w.big{padding:1.2cqw 2.2cqw;gap:1.4cqw;align-self:center;border-radius:1.4cqw}
.tm-w.big b{font-size:6.5cqw;min-width:17cqw}
.tm-w.big button{font-size:1.9cqw;padding:.7cqw 1.5cqw}
.pkin>div.pkhi{border:.3cqw solid #ff7a2f;background:#fff4ec;color:#1b1d1f;transform:scale(1.04)}
html[data-theme=dark] .pkin>div.pkhi{background:#33200f;color:#f4f4f5}
.ju{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#101323;z-index:3}
.ju-s{position:absolute;width:130cqw;height:130cqw;border-radius:50%;background:repeating-conic-gradient(#1c2350 0 15deg,#2e3a80 15deg 30deg);animation:juS 7s linear infinite;opacity:.75}
@keyframes juS{to{transform:rotate(360deg)}}
.ju-t{position:relative;text-align:center;color:#fff;display:flex;flex-direction:column;gap:.6cqw;text-shadow:0 .2cqw 1cqw rgba(0,0,0,.7)}
.ju-t p{margin:0;font-size:3.2cqw;font-weight:800}
.ju-t p.big{font-size:5cqw;font-weight:900;color:#ffe08a}
.ju-t p.snap{font-size:3.6cqw;font-weight:900;margin-top:1cqw}
.rmflow{display:flex;align-items:stretch;justify-content:center;gap:.8cqw;width:100%}
.rmflow>.st{display:flex;align-items:stretch;gap:.8cqw;min-width:0}
.rmflow div>div,.rmflow>.st>div{background:#fff;color:#1b1d1f;border:1px solid #d9dce1;border-radius:1.2cqw;padding:1.2cqw 1.6cqw;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3cqw;min-width:15cqw}
html[data-theme=dark] .rmflow>.st>div{background:#0d0d0d;border-color:#33363b;color:#f4f4f5}
.rmflow>.st>div.c{border:.25cqw solid #0573f0}
.rmflow i{font-style:normal;font-size:3.4cqw}
.rmflow b{font-size:1.8cqw;font-weight:900}
.rmflow span{font-size:1.25cqw;line-height:1.4}
.rmflow u{text-decoration:none;align-self:center;color:#0573f0;font-size:2.4cqw;font-weight:900}
.bnb{margin-top:1cqw;text-align:center;font-size:1.6cqw;font-weight:800;background:#fff4ec;color:#7a3b08;border-radius:1cqw;padding:.8cqw 1.2cqw}
.bnb b{background:#ff7a2f;color:#fff;border-radius:.5cqw;padding:.1cqw .6cqw;margin-right:.7cqw;font-size:1.3cqw}
.fw{display:grid;grid-template-columns:repeat(3,1fr);gap:.9cqw;width:100%}
.fw>.st{display:flex;min-width:0}
.fw>.st>div{flex:1;background:#fff;color:#1b1d1f;border:1px solid #d9dce1;border-radius:1cqw;padding:1cqw 1.2cqw;display:grid;grid-template-columns:auto 1fr;column-gap:.8cqw;align-items:center}
html[data-theme=dark] .fw>.st>div{background:#0d0d0d;border-color:#33363b;color:#f4f4f5}
.fw i{font-style:normal;grid-row:span 2;width:2.6cqw;height:2.6cqw;border-radius:50%;background:#0573f0;color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.3cqw}
.fw b{font-size:1.65cqw;font-weight:900}
.fw span{font-size:1.2cqw;line-height:1.4}

/* ===== 23단계 ===== */
.sl .gl-ov .tm-w{color:#fff}
.tm-w.big [data-t=up],.tm-w.big [data-t=dn]{background:rgba(255,255,255,.22);color:#fff}

/* ===== 24단계: 로딩 표시 ===== */
.sl img.img-wait{background:linear-gradient(100deg,#e9ebef 30%,#f6f7f9 50%,#e9ebef 70%);background-size:300% 100%;animation:imgw 1.1s linear infinite}
html[data-theme=dark] .sl img.img-wait{background-image:linear-gradient(100deg,#222 30%,#333 50%,#222 70%)}
@keyframes imgw{from{background-position:120% 0}to{background-position:-40% 0}}
.sl.mg::before{content:'';position:absolute;left:50%;top:50%;width:3cqw;height:3cqw;margin:-1.5cqw;border-radius:50%;border:.35cqw solid #d9dce1;border-top-color:#0573f0;animation:mgs .8s linear infinite}
@keyframes mgs{to{transform:rotate(360deg)}}

/* 목차 그리기 */
@media (max-width:1100px){.lec.showtoc .toc{transform:translateZ(0)}}
