/* ACROS 입시 도구 공용 스타일(/tools.html, /tools/*, /when/*).
   토큰은 competition-platform.css 의 페이퍼·잉크·티파니와 같은 값이다. 강조색은 티파니 하나만 쓴다.
   한글에는 모노 폰트·양수 자간·대문자 변환을 쓰지 않는다. */
:root{--tk-paper:#faf8f3;--tk-paper-deep:#f0ece2;--tk-white:#fffefa;--tk-ink:#1a1713;--tk-ink-soft:#56514a;--tk-muted:#6e675a;--tk-line:#ddd6c8;--tk-line-dark:#9c9485;--tk-signal:#077571;--tk-signal-bright:#0abab5;--tk-wash:#e6f2ef;--tk-navy:#0b1534;--tk-sans:'Pretendard',-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
body.tk-page{margin:0;background:var(--tk-paper);color:var(--tk-ink);font:16px/1.7 var(--tk-sans);letter-spacing:-.012em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
:where(.tk-page) a{color:inherit}
:where(.tk-page) :where(button,input,select){font:inherit;letter-spacing:inherit;color:inherit}
.tk-page :where(a,button,input,select,summary):focus-visible{outline:3px solid var(--tk-signal-bright);outline-offset:3px}
.tk-page [hidden]{display:none!important}
:where(.tk-page) :where(h1,h2,h3,p,figure){margin:0}
.tk-wrap{width:min(1080px,calc(100% - 80px));margin-inline:auto}
.tk-skip{position:fixed;top:-80px;left:16px;z-index:20;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:var(--tk-white);border:1px solid var(--tk-ink)}
.tk-skip:focus{top:10px}
.tk-main:focus{outline:0}

/* 마스트헤드 */
.tk-mast{border-bottom:1px solid var(--tk-ink)}
.tk-mast-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.tk-wordmark{display:inline-flex;align-items:center;min-height:44px;flex:none}
.tk-wordmark img{display:block;height:22px;width:auto}
.tk-nav{display:flex;align-items:center;gap:6px;min-width:0}
.tk-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font-size:14.5px;font-weight:600;color:var(--tk-ink-soft);text-decoration:none;white-space:nowrap}
.tk-nav a:hover{color:var(--tk-ink)}
.tk-nav a[aria-current="page"]{color:var(--tk-ink);box-shadow:inset 0 -3px 0 var(--tk-signal-bright)}

/* 첫 화면 */
.tk-hero{padding:56px 0 34px}
.tk-kicker{font-size:13.5px;font-weight:700;color:var(--tk-signal)}
.tk-kicker a{display:inline-flex;align-items:center;min-height:44px;margin:-14px 0;text-decoration:none}
.tk-hero h1{margin-top:14px;font-size:clamp(31px,5.2vw,54px);font-weight:800;line-height:1.14;letter-spacing:-.048em}
.tk-lead{margin-top:18px;max-width:40em;font-size:17.5px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-lead time{font-variant-numeric:tabular-nums}

/* 탭·칩 */
.tk-tabs{display:flex;gap:30px;border-bottom:1px solid var(--tk-ink)}
.tk-tab{appearance:none;background:none;border:0;border-bottom:4px solid transparent;margin:0 0 -1px;padding:10px 2px 8px;min-height:54px;font-size:19px;font-weight:700;color:var(--tk-muted);cursor:pointer}
.tk-tab[aria-selected="true"]{color:var(--tk-ink);border-bottom-color:var(--tk-signal-bright)}
.tk-panel{padding:30px 0 0}
.tk-panel>h2{font-size:25px;font-weight:800;letter-spacing:-.035em;line-height:1.3}
.tk-js .tk-panel>h2.tk-panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tk-panel+.tk-panel{margin-top:56px;border-top:1px solid var(--tk-ink)}
.tk-js .tk-panel+.tk-panel{margin-top:0;border-top:0}
.tk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.tk-chip{appearance:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--tk-line-dark);border-radius:999px;background:var(--tk-white);font-size:15px;font-weight:600;cursor:pointer}
.tk-chip[aria-pressed="true"]{background:var(--tk-ink);border-color:var(--tk-ink);color:var(--tk-paper)}
.tk-view{padding-top:8px}
.tk-view+.tk-view{margin-top:40px}
.tk-js .tk-view+.tk-view{margin-top:0}
.tk-view>h3,.tk-block>h3{margin-top:26px;font-size:18.5px;font-weight:800;letter-spacing:-.03em}
.tk-view>h3 small,.tk-block>h3 small{margin-left:8px;font-size:13px;font-weight:600;color:var(--tk-signal)}
.tk-view-title{font-size:21px!important;margin-top:18px!important}
.tk-js .tk-view-title{display:none}

/* 표 */
.tk-table{width:100%;border-collapse:collapse;margin-top:12px;font-variant-numeric:tabular-nums}
.tk-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tk-table thead th{padding:10px 14px 9px 0;border-bottom:1px solid var(--tk-line-dark);font-size:12.5px;font-weight:600;color:var(--tk-muted);text-align:left;white-space:nowrap}
.tk-table tbody th,.tk-table tbody td{padding:17px 14px 17px 0;border-bottom:1px solid var(--tk-line);text-align:left;vertical-align:top;font-weight:500}
.tk-table tbody th{font-size:16px;font-weight:700;line-height:1.45}
.tk-table tbody th small,.tk-table td small{display:block;margin-top:5px;font-size:13px;font-weight:500;line-height:1.55;color:var(--tk-muted)}
.tk-official{font-size:13.5px;line-height:1.55;color:var(--tk-ink-soft);letter-spacing:0}
.tk-kst{padding-left:14px!important;border-left:3px solid var(--tk-signal-bright)}
.tk-kst b{display:block;font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.3;white-space:nowrap;font-variant-numeric:normal}
.tk-kst span{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--tk-signal);font-weight:600}
.tk-kst-plain{border-left-color:var(--tk-line)}
.tk-kst-plain b{font-size:16.5px;font-weight:700}
.tk-kst-plain span{color:var(--tk-muted)}
.tk-abbr{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid var(--tk-line-dark);border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:0;color:var(--tk-ink-soft);white-space:nowrap}
.tk-abbr-none{border-style:dashed;font-weight:600;color:var(--tk-muted)}
.tk-src{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0;font-size:13.5px;font-weight:600;color:var(--tk-signal)!important;text-underline-offset:3px}
.tk-checked{display:block;font-size:12.5px;color:var(--tk-muted);white-space:nowrap}
.tk-nowrap{white-space:nowrap}
.tk-forecast-src{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin-top:8px}
th .tk-hold{font-weight:600}
.tk-hold{display:inline-block;padding:2px 9px;border:1px dashed var(--tk-line-dark);font-size:13.5px;font-weight:600;color:var(--tk-ink-soft)}
.tk-order{font-size:13.5px;line-height:1.6;color:var(--tk-ink-soft)}
.tk-order li{margin:0 0 3px}
.tk-order ul{margin:0;padding:0;list-style:none}
.tk-order b{font-weight:700;color:var(--tk-ink)}
.tk-past{margin-top:22px;border-top:1px solid var(--tk-line)}
.tk-past>summary,.tk-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;cursor:pointer;list-style:none;font-weight:700}
.tk-past>summary{font-size:14.5px;color:var(--tk-ink-soft)}
.tk-past>summary::-webkit-details-marker,.tk-fold>summary::-webkit-details-marker{display:none}
.tk-past>summary::after,.tk-fold>summary::after{content:"+";font-size:22px;font-weight:400;line-height:1;color:var(--tk-signal)}
.tk-past[open]>summary::after,.tk-fold[open]>summary::after{content:"\2212"}
.tk-past .tk-table tbody th,.tk-past .tk-table tbody td{color:var(--tk-muted)}
.tk-past .tk-kst{border-left-color:var(--tk-line)}

/* 표 아래 문장 */
.tk-notes{margin-top:22px;display:grid;gap:10px;max-width:46em}
.tk-notes p{font-size:15px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-notes p b{color:var(--tk-ink);font-weight:700}
.tk-rule{font-size:16px!important;font-weight:700;color:var(--tk-ink)!important}
.tk-strip{margin-top:20px;padding:16px 18px;background:var(--tk-wash);border-left:3px solid var(--tk-signal-bright);font-size:15.5px;line-height:1.7;font-weight:600}
.tk-inline-list{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px}
.tk-inline-list li{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}
.tk-inline-list li:not(:last-child)::after{content:"·";margin-left:10px;color:var(--tk-line-dark)}

/* 카드 저장·보내기 */
.tk-share{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:28px;align-items:start;margin-top:38px;padding-top:30px;border-top:1px solid var(--tk-line)}
.tk-card{margin:0;border:1px solid var(--tk-line);background:var(--tk-white);box-shadow:6px 6px 0 var(--tk-paper-deep)}
.tk-card img{display:block;width:100%;height:auto;-webkit-touch-callout:default}
.tk-card figcaption{padding:10px 12px;border-top:1px solid var(--tk-line);font-size:13px;color:var(--tk-muted)}
.tk-actions{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}
.tk-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid var(--tk-ink);border-radius:3px;background:var(--tk-white);color:var(--tk-ink)!important;font-size:15.5px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .16s ease}
.tk-btn:hover{background:var(--tk-paper-deep)}
.tk-btn-main{background:var(--tk-navy);border-color:var(--tk-navy);color:var(--tk-white)!important}
.tk-btn-main:hover{background:#16224a}
.tk-hint,.tk-status,.tk-card-expired{flex-basis:100%;font-size:14px;color:var(--tk-ink-soft)}
.tk-status:empty{display:none}
.tk-card-expired{grid-column:1/-1}
.tk-share[data-card-state="expired"] .tk-card,.tk-share[data-card-state="expired"] .tk-actions{display:none}
.tk-inapp .tk-share{grid-template-columns:1fr}
.tk-inapp [data-tool-save]{display:none}
.tk-cardrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;margin-top:16px}
.tk-cardrow .tk-share{display:block;margin:0;padding:0;border:0}
.tk-cardrow .tk-actions{margin-top:14px}
.tk-cardrow .tk-btn{flex:1 1 auto;padding:0 12px;font-size:14.5px}
.tk-sub{margin-top:36px;padding-top:26px;border-top:1px solid var(--tk-line)}
.tk-sub>h3{font-size:17px;font-weight:800;letter-spacing:-.03em}
.tk-sub>p{margin-top:6px;font-size:14.5px;color:var(--tk-ink-soft)}

/* 설명회 한 줄 */
.tk-bridge{margin-top:34px;padding-top:20px;border-top:1px solid var(--tk-line);max-width:44em;font-size:15px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-bridge a{display:inline;color:var(--tk-signal);font-weight:700;text-underline-offset:3px}

/* 접힌 영역 */
.tk-more{margin-top:64px;border-bottom:1px solid var(--tk-ink)}
.tk-fold{border-top:1px solid var(--tk-ink)}
.tk-fold>summary{font-size:18px;min-height:64px;letter-spacing:-.025em}
.tk-fold>summary span small{display:block;font-size:13.5px;font-weight:500;color:var(--tk-muted);letter-spacing:-.01em}
.tk-fold-body{padding:4px 0 32px}
.tk-fold-body>p{margin-top:16px;max-width:44em;font-size:15px;color:var(--tk-ink-soft)}
.tk-res-out{margin-top:16px}
.tk-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 14px;margin-top:18px;max-width:860px}
.tk-field{display:grid;gap:6px;min-width:0}
.tk-field>span{font-size:13.5px;font-weight:700}
.tk-field>span small{font-weight:500;color:var(--tk-muted)}
.tk-field input,.tk-field select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--tk-line-dark);border-radius:3px;background:var(--tk-white);font-size:16px;font-variant-numeric:tabular-nums}
.tk-field-wide{grid-column:span 2}
.tk-field-full{grid-column:1/-1}
.tk-out{margin-top:22px;max-width:860px;padding:20px 22px;background:var(--tk-white);border:1px solid var(--tk-line);box-shadow:6px 6px 0 var(--tk-paper-deep)}
.tk-out-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;background:var(--tk-ink);color:var(--tk-paper);font-size:12px;font-weight:700}
.tk-out-title{margin-top:10px;font-size:15px;font-weight:700;color:var(--tk-ink-soft)}
.tk-out-main{margin-top:6px;font-size:24px;font-weight:800;letter-spacing:-.035em;line-height:1.3;font-variant-numeric:tabular-nums}
.tk-out-sub{margin-top:6px;font-size:14px;color:var(--tk-ink-soft);font-variant-numeric:tabular-nums}
.tk-out-alt{margin-top:14px;padding-top:14px;border-top:1px solid var(--tk-line)}
.tk-out-alt p{font-size:14.5px;line-height:1.7;color:var(--tk-ink-soft)}
.tk-out-alt b{color:var(--tk-ink)}

/* 출처·고지 */
.tk-about{margin-top:56px;padding-bottom:64px}
.tk-about h2{font-size:17px;font-weight:800;letter-spacing:-.03em}
.tk-sources{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:2px;font-size:14px;color:var(--tk-ink-soft)}
.tk-sources a{display:inline-flex;align-items:center;min-height:44px;color:var(--tk-signal);font-weight:600;text-underline-offset:3px}
/* 목록 안의 출처 링크는 음수 여백을 쓰지 않는다. 링크가 두 줄로 꺾이면 음수 여백이 아래 줄(발표일·확인일)을 끌어올려 겹친다. 탭 높이는 min-height 로 둔다. */
.tk-sources .tk-src,.tk-sources a{margin:0}
.tk-affil{margin-top:20px;max-width:46em;font-size:14.5px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-mark{margin-top:8px;max-width:60em;font-size:12.5px;line-height:1.6;color:var(--tk-muted);letter-spacing:0}

/* 허브 */
.tk-hub{padding-bottom:72px}
.tk-hub-list{margin:8px 0 0;padding:0;list-style:none;border-top:1px solid var(--tk-ink)}
.tk-hub-item{border-bottom:1px solid var(--tk-line)}
.tk-hub-item>a{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:center;padding:30px 0;text-decoration:none}
.tk-hub-item h2{font-size:clamp(22px,2.6vw,29px);font-weight:800;letter-spacing:-.04em;line-height:1.3}
.tk-hub-item p{margin-top:10px;max-width:34em;font-size:16px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-hub-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px!important;font-size:14px!important;font-weight:600;color:var(--tk-signal)!important}
.tk-hub-meta span:last-child{color:var(--tk-ink)}
.tk-hub-item img{display:block;width:100%;height:auto;border:1px solid var(--tk-line);background:var(--tk-white);box-shadow:6px 6px 0 var(--tk-paper-deep)}
.tk-hub-item>a:hover h2{text-decoration:underline;text-decoration-color:var(--tk-signal-bright);text-decoration-thickness:3px;text-underline-offset:5px}

/* 푸터 */
.tk-foot{border-top:1px solid var(--tk-ink);padding:38px 0 44px;background:var(--tk-paper)}
.tk-foot .legal{margin-top:12px;max-width:60em;font-size:13px;line-height:1.75;color:var(--tk-ink-soft)}
.tk-fnav{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:8px}
.tk-fnav a{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;font-weight:600;color:var(--tk-ink-soft);text-decoration:none}
.tk-foot .biz{margin-top:6px;font-size:12px;line-height:1.8;color:var(--tk-muted)}

@media(max-width:860px){
  .tk-wrap{width:calc(100% - 32px)}
  .tk-mast-in{min-height:58px;gap:10px}
  .tk-nav{overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .tk-nav::-webkit-scrollbar{display:none}
  .tk-nav a{padding:0 8px;font-size:14px}
  .tk-hero{padding:34px 0 26px}
  .tk-lead{font-size:16px}
  .tk-tabs{gap:24px}
  .tk-tab{font-size:18px}
  .tk-panel{padding-top:22px}
  /* 좁은 화면에서는 표의 한 줄을 한 묶음으로 세운다. 표 구조는 그대로 둔다. */
  .tk-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .tk-table,.tk-table tbody{display:block}
  .tk-table tr{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px 14px;padding:18px 0;border-bottom:1px solid var(--tk-line)}
  .tk-table tbody th,.tk-table tbody td{display:block;padding:0;border:0;grid-column:1/-1;order:3}
  .tk-table tbody th{order:1}
  .tk-table td[data-th]::before{content:attr(data-th);display:block;margin-bottom:2px;font-size:12px;font-weight:600;color:var(--tk-muted)}
  .tk-table td.tk-half{grid-column:auto}
  .tk-table td.tk-kst{order:2;padding-left:12px!important;border-left:3px solid var(--tk-signal-bright)}
  .tk-table td.tk-kst~td.tk-kst{order:3}
  .tk-table td.tk-kst-plain{border-left-color:var(--tk-line)}
  .tk-table td.tk-meta{order:5}
  .tk-table-app tr{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}
  .tk-table-app td.tk-kst::before,.tk-table-app td.tk-half::before{display:none}
  .tk-table-app td.tk-official{align-self:center}
  .tk-kst b{font-size:21px;white-space:normal}
  .tk-kst-plain b{font-size:17px}
  .tk-table td.tk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
  .tk-table td.tk-meta::before{display:none}
  .tk-checked{display:inline}
  .tk-share{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:24px}
  .tk-share>.tk-card{max-width:340px}
  .tk-actions .tk-btn{flex:1 1 calc(50% - 5px)}
  .tk-cardrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .tk-cardrow .tk-actions .tk-btn{flex-basis:100%}
  .tk-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-field-wide{grid-column:1/-1}
  .tk-more{margin-top:48px}
  .tk-hub-item>a{grid-template-columns:1fr;gap:18px;padding:24px 0}
  .tk-hub-item img{max-width:420px}
}
/* 좁은 폰: 메뉴를 로고 아래 한 줄로 내려 접히거나 화면 밖으로 밀리지 않게 한다(competition-standard.html 과 같은 방식). */
@media(max-width:520px){
  .tk-mast-in{flex-wrap:wrap;gap:0 12px;min-height:0;padding:4px 0 2px}
  .tk-nav{flex-basis:100%;flex-wrap:wrap;overflow:visible;margin:0 0 0 -6px;padding:0;gap:0 2px}
  .tk-nav a{padding:0 6px;font-size:13.5px}
  .tk-hero{padding:22px 0 20px}
}
@media(prefers-reduced-motion:reduce){.tk-page *{transition:none!important}}
