/* K-BOOKS · 정보처리기사 학습 v6 */
:root{--ip-navy:#173849;--ip-deep:#102f3c;--ip-cyan:#6edbd5;--ip-gold:#927238;--ip-ink:#1d3740;--ip-muted:#687a80;--ip-line:#dfe6e6;--ip-soft:#f5f7f7}
.ips,.kbps{max-width:1180px;margin:0 auto;padding:42px 20px 86px;color:var(--ip-ink)}
.ips *,.kbps *{box-sizing:border-box}.ips a,.kbps a{text-decoration:none}
.ips-crumb,.kbps-crumb{margin-bottom:17px;color:#718188;font-size:11px}.ips-crumb a,.kbps-crumb a{color:#526a73}
.ips-hero,.kbps-hero{padding:46px;background:var(--ip-navy);color:#fff;border:1px solid rgba(255,255,255,.02)}
.ips-hero small,.kbps-hero small{color:var(--ip-cyan);font-size:10px;font-weight:900;letter-spacing:.14em}
.ips-hero h1,.kbps-hero h1{margin:10px 0 13px;color:#fff;font-size:clamp(34px,5vw,54px);line-height:1.14;letter-spacing:-.05em}
.ips-hero p,.kbps-hero p{max-width:850px;margin:0;color:#d7e2e5;font-size:14px;line-height:1.85}
.ips-actions,.kbps-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ips-actions a,.ips-actions span,.kbps-actions a,.kbps-actions span{
 display:inline-flex!important;min-height:42px;align-items:center;justify-content:center;padding:0 14px;
 border:1px solid rgba(255,255,255,.36)!important;color:#fff!important;background:rgba(255,255,255,.055)!important;
 font-size:11px!important;font-weight:900!important;opacity:1!important;visibility:visible!important
}
.ips-actions a:hover,.kbps-actions a:hover{background:rgba(255,255,255,.13)!important}
.ips-actions .primary,.kbps-actions .primary{background:#fff!important;color:var(--ip-navy)!important;border-color:#fff!important}
.ips-actions .disabled,.kbps-actions .disabled{background:rgba(255,255,255,.08)!important;color:#dbe6e8!important;cursor:default}
.ips-nav{display:flex;flex-wrap:wrap;gap:1px;margin:16px 0 0;background:#dfe6e7;border:1px solid #dfe6e7}
.ips-nav a{flex:1 1 140px;padding:12px 10px;background:#fff;color:#39545d;font-size:11px;font-weight:850;text-align:center}
.ips-nav a.on{background:var(--ip-navy);color:#fff}
.ips-section{padding:42px 0;border-bottom:1px solid #e2e8e8}.ips-head small{color:var(--ip-gold);font-size:9px;font-weight:900;letter-spacing:.14em}
.ips-head h2{margin:7px 0 0;font-size:29px;line-height:1.25;letter-spacing:-.04em}.ips-lead{max-width:900px;margin:14px 0 0;color:var(--ip-muted);font-size:14px;line-height:1.8}
.ips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:20px}.ips-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ips-card{padding:20px;border:1px solid var(--ip-line);background:#fff;color:var(--ip-ink)}
.ips-card small{display:block;margin-bottom:7px;color:var(--ip-gold);font-size:9px;font-weight:900;letter-spacing:.11em}
.ips-card h3{margin:0;font-size:18px;line-height:1.45;letter-spacing:-.03em}.ips-card p{margin:8px 0 0;color:#65777e;font-size:12px;line-height:1.72}
.ips-card ul{margin:10px 0 0;padding-left:17px;color:#566a72;font-size:12px;line-height:1.72}
.ips-flow{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:18px}.ips-flow span{padding:8px 10px;background:#f1f4f4;font-size:10px;font-weight:850}.ips-flow i{font-style:normal;color:#9ba9ad}
.ips-note{margin-top:18px;padding:15px 17px;border-left:4px solid var(--ip-gold);background:#f7f4ed;color:#596d73;font-size:12px;line-height:1.75}.ips-note strong{color:#253e47}
.ips-table{width:100%;margin-top:18px;border-collapse:collapse;font-size:12px}.ips-table th,.ips-table td{padding:11px 10px;border-bottom:1px solid #e4e9e9;vertical-align:top;text-align:left;line-height:1.6}.ips-table th{background:#f5f7f7;color:#344f58}
.ips-topic{margin-top:14px;padding:18px;border:1px solid var(--ip-line);background:#fff}.ips-topic-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.ips-topic h3{margin:0;font-size:17px}.ips-topic .tag{flex:0 0 auto;padding:5px 7px;background:#eef3f3;color:#4f666e;font-size:9px;font-weight:900}
.ips-topic p{margin:8px 0 0;color:#667980;font-size:12px;line-height:1.75}.ips-topic .key{margin-top:10px;padding:10px 11px;background:#f6f8f8;color:#304b54;font-size:11px;line-height:1.65}
.ips-topic .mistake{margin-top:7px;color:#986252;font-size:11px;line-height:1.6}
.ips-q{margin-top:14px;padding:17px;border:1px solid #dce4e5;background:#fff}.ips-q legend{font-weight:900;line-height:1.5}
.ips-q label{display:block;margin-top:8px;padding:9px 10px;background:#f7f8f8;cursor:pointer;line-height:1.45}.ips-q label:hover{background:#eef3f3}
.ips-q.correct{border-color:#3b8f88;background:#f4fbfa}.ips-q.wrong{border-color:#bb6b62;background:#fff8f7}
.ips-explain{display:none;margin-top:10px;padding:10px;background:#f1f4f4;color:#445b63;font-size:11px;line-height:1.65}.ips-q.graded .ips-explain{display:block}
.ips-result{display:none;margin-top:18px;padding:18px;background:var(--ip-navy);color:#fff;font-size:14px;font-weight:900}.ips-result.show{display:block}
.ips-cbt-toolbar{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.ips-cbt-toolbar a{padding:10px 8px;border:1px solid var(--ip-line);background:#fff;color:#39545d;text-align:center;font-size:10px;font-weight:900}
.ips-cbt-toolbar a.on{background:var(--ip-navy);color:#fff;border-color:var(--ip-navy)}
.ips-pattern{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #e4e9e9}
.ips-pattern>b{color:var(--ip-gold);font-size:10px;letter-spacing:.08em}.ips-pattern strong{display:block;font-size:16px}.ips-pattern p{margin:6px 0 0;color:#6d7d82;font-size:12px;line-height:1.7}
.ips-mini-example{margin-top:9px;padding:10px;background:#f6f8f8;color:#40575f;font-size:11px;line-height:1.6}
.ips-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:22px;background:var(--ip-navy);color:#fff}.ips-cta h3{margin:0;font-size:21px}.ips-cta p{margin:5px 0 0;color:#c9d8dc;font-size:12px}.ips-cta a{flex:0 0 auto;padding:11px 13px;background:#fff;color:var(--ip-navy);font-size:11px;font-weight:900}

/* MASTER/hub visual corrections */
.kbps-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:46px;align-items:center}
.kbps-status{display:inline-flex;margin-top:18px;padding:8px 10px;background:#fff;color:var(--ip-navy);font-size:11px;font-weight:900}
.kbps-cover,.kbps-cover-art{display:flex;min-height:380px;flex-direction:column;justify-content:center;padding:28px;background:#102f3c;color:#fff;box-shadow:0 20px 45px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.09)}
.kbps-cover small,.kbps-cover-art small{color:var(--ip-cyan);font-size:9px;font-weight:900;letter-spacing:.14em}
.kbps-cover b,.kbps-cover-art b{margin-top:18px;font:700 32px/1.15 "Noto Serif KR",serif;letter-spacing:-.04em}
.kbps-cover span,.kbps-cover-art span{margin-top:18px;font-size:11px;line-height:1.65;color:#b9cbd1}
.kbps-cover-img{display:block;width:100%;max-width:310px;height:auto;margin:0 auto;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.22);border:1px solid #dfe5e7}
.kbps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:20px}
.kbps-card{padding:20px;border:1px solid var(--ip-line);background:#fff}.kbps-card b{display:block;font-size:17px}.kbps-card p{margin:8px 0 0;color:#6e7e84;font-size:12px;line-height:1.7}

@media(max-width:900px){
 .kbps-hero{grid-template-columns:1fr;gap:24px}.kbps-cover,.kbps-cover-art,.kbps-cover-img{width:min(70vw,260px);margin:0 auto;order:-1}
 .ips-grid,.ips-grid.two,.kbps-grid{grid-template-columns:1fr 1fr}.ips-cbt-toolbar{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
 .ips,.kbps{padding:26px 14px 62px}.ips-hero,.kbps-hero{padding:26px 21px}.ips-hero h1,.kbps-hero h1{font-size:34px}
 .ips-grid,.ips-grid.two,.kbps-grid{grid-template-columns:1fr}.ips-actions,.kbps-actions{display:grid;grid-template-columns:1fr}
 .ips-cbt-toolbar{grid-template-columns:1fr 1fr}.ips-pattern{grid-template-columns:1fr;gap:5px}.ips-cta{align-items:flex-start;flex-direction:column}
 .ips-topic-head{display:block}.ips-topic .tag{display:inline-block;margin-top:6px}.ips-table{font-size:11px}.ips-table th,.ips-table td{padding:9px 7px}
}


/* mobile audit · 320~430px */
@media(max-width:700px){
  .ips-crumb,.kbps-crumb{font-size:11px;line-height:1.55}
  .ips-hero small,.kbps-hero small{font-size:10px;line-height:1.45}
  .ips-hero p,.kbps-hero p{font-size:13px;line-height:1.8}
  .ips-actions a,.ips-actions span,.kbps-actions a,.kbps-actions span{min-height:46px!important;padding:10px 12px;font-size:12px!important;line-height:1.35}
  .ips-nav a{min-height:44px;font-size:12px;display:flex;align-items:center;justify-content:center}
  .ips-card p,.ips-card ul,.ips-topic p,.ips-note,.ips-pattern p{font-size:12px}
  .ips-q label{min-height:44px;padding:11px 10px}
  .ips-cbt-toolbar a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px}
  .ips-cta a{min-height:44px;display:flex;align-items:center;font-size:11px}
}
@media(max-width:380px){
  .ips,.kbps{padding-left:10px;padding-right:10px}
  .ips-hero,.kbps-hero{padding:22px 17px}
  .ips-hero h1,.kbps-hero h1{font-size:31px}
  .ips-cbt-toolbar{grid-template-columns:1fr}
}
