/*! ColorLab BlueGreen | www.BGLAB.co.kr | BGLAB-22a0154262e446369ae291df362ce0e7 | Original application layer; third-party rights retained. */
/* The homepage's ivory / deep teal, with quiet working surfaces and legible results. */
:root{--ink:var(--bg-ink);--muted:var(--bg-muted);--green:#245c51;--paper:var(--bg-paper);--line:var(--bg-line)}
body{font-size:16px;line-height:1.7;letter-spacing:0;background:var(--paper);color:var(--ink)}
button,input,select,textarea{font-family:var(--font);font-size:16px}
button{min-height:46px;font-weight:550;line-height:1.5;border-radius:var(--bg-control-radius)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#245c51}
.site-header{padding:24px 40px;gap:28px}
.brand{align-items:center;font-size:20px;font-weight:600;line-height:1.35}
.brand small{font-size:11px;letter-spacing:.1em;line-height:1.6;margin-top:4px}
.site-header nav{gap:14px}
.site-header nav a{min-height:76px;min-width:250px;font-size:16px!important;font-weight:600;line-height:1.45;gap:14px;padding:14px 20px!important;border:1px solid #cdbf9f;border-radius:18px!important;box-shadow:none;background:#f0e7d3;color:#463e2d}
.site-header nav a:nth-child(2){background:#e3eeea;border-color:#afc6bf;color:#164f51;box-shadow:none}
.site-header nav a[aria-current=page]{border:2px solid var(--ink);box-shadow:none}
.site-header nav a:hover{transform:translateY(-2px);box-shadow:0 5px 15px #173f420c}
.site-header nav small{font-size:13px;line-height:1.6;font-weight:400}
.nav-number{width:36px;height:36px;font-size:15px;font-weight:550}
.site-header nav i{font-size:23px}
.device-note{font-size:13px;line-height:1.7;color:var(--muted)}
.intro{margin-block:40px 30px;gap:24px}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.08em;font-weight:550}
.intro h1{font-size:40px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-block:12px 16px}
.intro h1 span{color:#93672e}
.intro>div>p:last-child{font-size:17px;line-height:1.8;color:var(--muted)}
.local{font-size:13px;line-height:1.65;color:var(--muted)}
h2{font-size:24px;letter-spacing:-.015em;line-height:1.4;font-weight:600}
.card{background:var(--bg-surface);border-radius:var(--bg-radius);padding:28px;margin-bottom:24px;box-shadow:0 3px 14px #173f4204}
.section-head{gap:12px;align-items:baseline;flex-wrap:wrap}
.section-head b{font-size:13px;color:var(--muted);font-weight:500}
.badge{font-size:12px;color:#405b50;letter-spacing:.02em;line-height:1.6;background:#edf0e7;border-radius:6px;white-space:normal}
.hint,.note small,.drop small{font-size:14px;line-height:1.75;color:var(--muted)}
.quiet{font-size:14px;min-height:44px;padding:8px 10px;line-height:1.5}
.drop{background:#f0f2e9;padding:26px 12px;border-color:#829d90;border-radius:12px}
.drop strong{font-size:17px;font-weight:600;line-height:1.5}
.drop span{font-size:15px;line-height:1.6}
.drop small{font-size:13px}
.fileline{font-size:13px;flex-wrap:wrap;line-height:1.65}
.fileline span{max-width:100%}
.view-switch{gap:8px;flex-wrap:wrap}
.view-switch button{font-size:14px;padding:8px 10px;min-height:44px}
.control{font-size:16px;line-height:1.7}
.control input{min-height:24px}
.note textarea{font-size:16px;line-height:1.75;background:#f0f0e7;border-radius:10px}
.note label{font-size:16px;font-weight:550}
.summary{gap:28px;flex-wrap:wrap}
.summary strong{font-size:30px;font-weight:550;line-height:1.4;letter-spacing:-.015em}
.summary strong small{font-size:16px}
.summary span{font-size:14px;line-height:1.65;color:var(--muted)}
.palette-bar{height:58px}
.palette-bar button{min-height:0}
.swatches{gap:16px 12px}
.swatch strong{font-size:13px;font-weight:600;line-height:1.6;letter-spacing:0}
.swatch span{font-size:13px;line-height:1.6}
.detail{font-size:15px;line-height:1.75;padding:18px;background:#f0f2e9;border-radius:12px;gap:18px}
.detail small{font-size:13px;line-height:1.65;margin-bottom:7px}
.tabs{gap:8px;flex-wrap:wrap}
.tabs button{font-size:15px;min-height:46px;border-radius:10px 10px 0 0;padding:10px 14px;font-weight:550}
.tabs button[aria-selected=true]{background:#e8eee5;border-bottom:2px solid var(--ink);color:var(--ink)}
.bar-row{font-size:14px;line-height:1.6;grid-template-columns:minmax(100px,155px) minmax(0,1fr) 62px;gap:12px}
.bar-row strong{font-weight:550}
.bar-track{height:9px}
.subtext{font-size:15px;line-height:1.75}
.color-maps>div{padding:20px;border-radius:14px;background:var(--bg-surface);border-color:var(--line)}
.color-maps h3{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.015em}
.mood-item{background:#f0f2e9;border-color:var(--line);border-radius:12px;padding:18px}
.mood-item strong{font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.01em}
.mood-item em{font-size:20px;font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums}
.mood-item p{font-size:14px;line-height:1.75}
.mood-item .eyebrow{font-size:11px;letter-spacing:.02em}
.contrast-controls{flex-wrap:wrap}
.contrast-controls label{font-size:15px;line-height:1.65;min-width:160px}
.contrast-controls select{font-size:16px;min-height:46px}
.contrast-result{font-size:14px;line-height:1.7}
.contrast-result strong{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}
.scale-context{background:#edf0e6;border-color:#427d70;border-radius:0 12px 12px 0;line-height:1.8}
.scale-context h3{font-size:22px;font-weight:600;line-height:1.4}
.export{gap:24px;padding-block:14px 28px}
.export p{font-size:15px;line-height:1.75}
.export-buttons button{font-size:15px;min-height:48px;padding:12px 18px;border-radius:10px}
.transfer-button{font-size:15px;min-height:48px;line-height:1.6;background:#edf0e6}
.home-intro{padding-block:56px 40px}
.home-intro h1{font-size:clamp(36px,4.1vw,54px);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.home-intro>p:last-child{font-size:18px;line-height:1.8;color:var(--muted)}
.chapter-one,.chapter-two{border-radius:18px}
.chapter-copy{padding:40px}
.chapter-copy h2,.chapter-two h2{font-size:32px;font-weight:600;line-height:1.4;letter-spacing:-.015em}
.chapter-copy p,.chapter-two p{font-size:17px;line-height:1.8;color:var(--muted)}
.chapter-number{font-size:13px;letter-spacing:.08em;color:var(--muted)}
.chapter-visual{background:#e9ece2}
.visual-title{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.chapter-visual p,.analysis-visual small{font-size:13px;line-height:1.7;color:var(--muted)}
.track-entry a{border-radius:12px;background:#f2f3e9;padding:20px}
.track-entry strong{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.4}
.track-entry span,.track-entry small{font-size:14px;line-height:1.7;color:var(--muted)}
.chapter-cta{font-size:16px;font-weight:600;line-height:1.5;min-height:48px;border-radius:10px}
.start-guide strong{font-size:21px;font-weight:600;line-height:1.5}
.start-guide p{font-size:15px;line-height:1.75;color:var(--muted)}
.start-guide b{font-size:13px;color:var(--muted)}
.editorial-credit{background:#e9ede3;border-color:var(--line);border-radius:14px;gap:20px;padding:28px 32px}
.credit-monogram{font-family:var(--font);font-weight:550;letter-spacing:-.02em;font-size:21px}
.editorial-credit strong{font-size:18px;font-weight:600;line-height:1.5}
.editorial-credit p{font-size:15px;line-height:1.8}
.editorial-credit small{font-size:13px;line-height:1.8;color:var(--muted)}
footer{font-size:13px;line-height:1.75;gap:24px;flex-wrap:wrap}
/* Practice controls, explanatory text and reference papers have separate levels. */
.track-choices button{padding:24px;border-radius:14px}
.track-choices button[aria-pressed=true]{padding:23px;background:#eaf0e6}
.track-choices span{font-size:12px;letter-spacing:.06em;color:var(--muted)}
.track-choices strong{font-size:25px;font-weight:600;line-height:1.4;letter-spacing:-.015em}
.track-choices small{font-size:15px;line-height:1.7}
.exam-select label,.dictionary-controls label,.find-question>label{font-size:15px;line-height:1.7}
.exam-select select,.dictionary-controls select,#toneFilter{font-size:16px;min-height:48px;border-radius:10px}
.prompt{font-size:18px;line-height:1.8;background:#f0f2e7;border-radius:0 12px 12px 0;padding:24px}
.slot-tools{align-items:flex-end;flex-wrap:wrap;gap:12px 16px}
.slot-tools label{font-size:14px;line-height:1.6}
.slot-tools input{font-size:16px;min-height:46px;border-radius:8px}
.slot-tools button,.studio-actions button{font-size:15px;min-height:46px;border-radius:10px}
.edit-strip{padding:6px;min-height:124px}
.edit-strip span{font-size:12px;font-weight:550;line-height:1.5;padding:4px 5px}
.diagnostic{font-size:16px;line-height:1.8;padding-block:16px}
.condition{border-radius:10px;padding:16px}
.condition strong{font-size:16px;font-weight:600;line-height:1.5}
.condition span{font-size:14px;line-height:1.75}
.condition.bad{color:#992733;background:#fff2ee}.condition.good{color:#215e41;background:#eff5ec}
.rationale-label{font-size:17px;font-weight:550}
#rationale{font-size:16px;line-height:1.8;border-radius:10px}
.search-label{font-size:15px;line-height:1.6}
.search{font-size:16px;min-height:48px;border-radius:10px}
.papers{gap:10px 7px;padding:5px}
.papers button{font-size:13px;line-height:1.5;min-height:60px;font-weight:500}
.papers i{height:40px;border-radius:5px}
.dict-card{font-size:13px;line-height:1.7;padding:14px;background:#f0f2e9;border-radius:12px}
.dict-card strong{font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.pager{font-size:15px;line-height:1.6;gap:16px;flex-wrap:wrap}
.adjective-groups{gap:20px}
.adjective-groups>div{border-radius:14px}
.adjective-groups h3{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.01em}
.word-chip{font-size:15px;padding:7px 12px;font-weight:500;min-height:42px}
.mood-light-label{font-size:13px;line-height:1.6}
.answer-entry{border-radius:14px;gap:20px;padding:20px;background:#eaf0e6}
.answer-entry button{font-size:17px;font-weight:600;line-height:1.5;border-radius:10px}
.answer-entry span{font-size:15px;line-height:1.75}
.answer-reader{border-radius:18px;background:var(--bg-surface);padding:30px}
.answer-reader>.section-head{background:var(--bg-surface)}
.answer-reader h2{font-size:26px;line-height:1.4;letter-spacing:-.015em;font-weight:600}
.answer-reader #answerReaderText{font-size:18px;line-height:1.85}
.reader-prompt{line-height:1.8;background:#f0f2e7}
.answer-details{background:#f0f2e7;border-radius:12px}.answer-details p{font-size:16px;line-height:1.8}
dialog p{font-size:15px;line-height:1.8;color:var(--muted)}
dialog h3{font-size:20px;font-weight:600;line-height:1.4}
@media(max-width:1100px){
 .site-header{padding:22px 24px}.site-header nav{width:100%;flex-basis:100%}.site-header nav a{flex:1;min-width:0}
 .workspace{grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:20px}
 .card{padding:24px}.detail{grid-template-columns:1fr}
 .swatches{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bar-row{grid-template-columns:110px minmax(0,1fr) 58px}
}
@media(max-width:800px){.workspace,.studio-grid{display:block}.workspace>aside{position:static}}
@media(max-width:720px){
 main{padding-inline:18px}.site-header{padding:20px 18px;gap:20px}
 .site-header .brand{font-size:20px}.brand small{font-size:10px}
 .site-header nav{display:grid;grid-template-columns:1fr;gap:10px}
 .site-header nav a{min-height:76px;font-size:16px!important;padding:14px 18px!important;border-radius:14px!important;gap:14px}
 .site-header nav small{font-size:12px}.nav-number{width:34px;height:34px;font-size:14px}
 .device-note{font-size:13px;padding:12px 14px;background:#e9ede3}
 .intro{margin-block:32px 26px}.intro h1{font-size:32px;line-height:1.35}
 .intro>div>p:last-child{font-size:16px}.local{font-size:13px}
 .home-intro{padding:36px 0 30px}.home-intro h1{font-size:34px;letter-spacing:-.02em;line-height:1.35}
 .home-intro>p:last-child{font-size:16px}
 .chapter-copy,.chapter-two{padding:26px 22px}.chapter-copy h2,.chapter-two h2{font-size:28px}
 .chapter-copy p,.chapter-two p{font-size:16px}
 .track-entry a{padding:18px 16px}.track-entry strong{font-size:20px}
 .card{padding:24px 18px}.section-head{gap:8px}.section-head h2{font-size:23px}
 .summary{gap:20px}.summary strong{font-size:27px}.summary span{font-size:13px}
 .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
 .swatch strong,.swatch span{font-size:13px}
 .detail{font-size:14px;grid-template-columns:1fr 1fr;padding:16px;gap:12px}.detail small{font-size:13px}
 .bar-row{font-size:13px;grid-template-columns:96px minmax(0,1fr) 52px;gap:8px}
 #moods{grid-template-columns:1fr;gap:12px}.mood-item{padding:18px}.mood-item strong{font-size:21px}.mood-item em{font-size:20px}
 .color-maps>div{padding:16px 10px}.color-maps h3{font-size:21px}
 .export-buttons{gap:10px}.export-buttons button{flex:1;min-width:130px;font-size:15px}
 .track-choices{gap:12px}.track-choices button{padding:18px 15px}.track-choices button[aria-pressed=true]{padding:17px 14px}
 .track-choices strong{font-size:21px}.track-choices small{font-size:14px}.track-choices span{font-size:11px;letter-spacing:.03em}
 .prompt{font-size:16px;line-height:1.8;padding:20px}
 .papers{grid-template-columns:repeat(6,minmax(0,1fr));max-height:360px;gap:10px 7px}
 .papers button{font-size:13px}.papers i{height:40px}
 .dictionary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .dict-card{font-size:13px;padding:14px}.dict-card strong{font-size:15px}
 .adjective-groups{gap:12px}.adjective-groups h3{font-size:18px}.word-chip{font-size:14px;padding:7px 10px}
 .editorial-credit{padding:24px;gap:14px}.editorial-credit strong{font-size:17px}.editorial-credit p{font-size:15px}
 .answer-reader{padding:20px}.answer-reader h2{font-size:24px}.answer-reader #answerReaderText{font-size:17px;line-height:1.85}
 .start-guide p{font-size:15px}.start-guide strong{font-size:20px}
}
@media(max-width:359px){main{padding-inline:12px}.card{padding:22px 14px}.detail{grid-template-columns:1fr}.track-choices{grid-template-columns:1fr}.papers{grid-template-columns:repeat(5,minmax(0,1fr))}.bar-row{grid-template-columns:88px minmax(0,1fr) 48px}.adjective-groups{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header nav a,.track-entry a,#adjectives>div{transition:none}.site-header nav a:hover,.track-entry a:hover{transform:none}}
@media print{body{background:white}.card{box-shadow:none;background:white}.site-header nav,.device-note{display:none}.report-page{break-inside:avoid}}

/* Keep course names together rather than breaking 산업기사 mid-word. */
#trackAssociate strong,#trackEngineer strong{word-break:keep-all;overflow-wrap:normal}
