:root{
  --paper:#f7f6f2;
  --surface:#fff;
  --surface-soft:#f1f0ea;
  --text:#292a27;
  --muted:#74746e;
  --line:#deddd6;
  --line-strong:#c9c7bd;
  --accent:#4f6758;
  --accent-dark:#3f5548;
  --accent-soft:#e9eee9;
  --warm:#f3ecdc;
  --max:1040px;
  --article:720px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",Arial,sans-serif;font-size:16px;line-height:1.72;letter-spacing:-.006em}
a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.site-header{background:rgba(247,246,242,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.nav{height:60px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none;font-size:17px;font-weight:650;letter-spacing:-.018em;color:var(--text)}.links{display:flex;gap:21px}.links a{color:#5f605b;font-size:13px;text-decoration:none}.links a:hover{color:var(--text)}
.hero{padding:54px 0 42px}.hero>.wrap{max-width:780px;margin-left:max(20px,calc((100vw - var(--max))/2))}.hero h1{margin:0 0 14px;font-size:34px;line-height:1.32;letter-spacing:-.035em;font-weight:700}.hero p{max-width:660px;margin:0;color:#5f605b;font-size:16px;line-height:1.68}.hero-note{margin-top:18px;color:var(--muted);font-size:13px}.hero-note strong{color:var(--accent-dark);font-weight:650}
.home-section{padding:40px 0;border-top:1px solid var(--line)}.home-section>.wrap{max-width:780px;margin-left:max(20px,calc((100vw - var(--max))/2))}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}.home-section h2{margin:0;font-size:19px;line-height:1.45;font-weight:700;letter-spacing:-.02em}.section-heading span{font-size:12px;color:var(--muted)}.grid{display:block;border-top:1px solid var(--line-strong)}.card{display:grid;grid-template-columns:120px 1fr;column-gap:18px;padding:15px 2px;border-bottom:1px solid var(--line);text-decoration:none}.card small{grid-column:1;color:var(--muted);font-size:12px;padding-top:2px}.card h3{grid-column:2;margin:0 0 4px;font-size:16px;line-height:1.45;font-weight:650;letter-spacing:-.012em}.card p{grid-column:2;margin:0;color:#686963;font-size:13px;line-height:1.58}.card:hover h3{color:var(--accent-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.about-copy{max-width:680px;color:#5f605b;font-size:14px}.about-copy p{margin:0 0 10px}.quiet-point{display:inline-block;margin-top:4px;padding:7px 10px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;border-radius:5px}
.page{padding:34px 0 76px}.article{max-width:var(--article);margin:0 auto}.crumb{margin:0 0 24px;color:#81817b;font-size:12px}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}.article-head{margin-bottom:36px}.article h1{margin:0 0 15px;font-size:32px;line-height:1.34;letter-spacing:-.032em;font-weight:700}.lead,.answer-first{margin:0;max-width:720px;color:#3f403c;font-size:17px;line-height:1.8}.answer-first{padding:0;background:none;border:0;border-radius:0}.article section,.diagnosis,.route-box,.warning-block,.tool-callout{margin-top:36px}.article h2{margin:0 0 10px;font-size:18.5px;line-height:1.5;letter-spacing:-.018em;font-weight:700}.article h3{font-size:17px}.article p{margin:0 0 12px;line-height:1.78}.article ol,.article ul{padding-left:21px}.article li{margin:6px 0}.article code{font-family:Consolas,"SFMono-Regular",monospace;font-size:.92em;background:#ecebe5;padding:1px 4px;border-radius:3px}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 11px}.case-card{padding:15px 16px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.case-card code{display:block;margin-bottom:6px;padding:0;background:none;font-size:22px;font-weight:650}.case-card p{margin:0;color:#666761;font-size:13px;line-height:1.55}.micro-note{color:#777872;font-size:13px}
.data-example{margin:17px 0;border:1px solid var(--line-strong);background:#fbfbf8;border-radius:6px;overflow:hidden}.example-title{display:flex;justify-content:space-between;gap:12px;padding:8px 11px;background:#efeee8;border-bottom:1px solid var(--line);font-size:11px;color:#777872}.data-example pre{margin:0;padding:14px;overflow:auto;font-family:Consolas,"SFMono-Regular",monospace;font-size:13px;line-height:1.62}.data-example code{background:none;padding:0}.route-box+ .route-box{padding-top:31px;border-top:1px solid var(--line)}.steps li{margin:7px 0}
.decision-table-wrap{overflow:auto;margin-top:15px;border:1px solid var(--line-strong);border-radius:6px}.decision-table{width:100%;border-collapse:collapse;min-width:600px;background:var(--surface)}.decision-table th,.decision-table td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.decision-table th{background:#efeee9;font-weight:600}.decision-table tr:last-child td{border-bottom:0}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:15px;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--surface)}.before-after div{padding:14px 15px;border-right:1px solid var(--line)}.before-after div:last-child{border-right:0}.before-after span{display:block;color:#777872;font-size:11px;margin-bottom:3px}.before-after strong{font-size:19px;font-weight:650}.warning-block{padding:15px 0;border:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:transparent;border-radius:0}.warning-block h2{font-size:18.5px}.tool-callout{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px;padding:20px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.tool-callout h2{margin:0 0 7px}.tool-callout p{margin-bottom:0}.cta{display:inline-block;padding:9px 12px;background:var(--accent);border:1px solid var(--accent);border-radius:5px;color:#fff;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.cta:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.text-link{color:var(--accent-dark);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ad-slot{margin:34px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#aaa9a2;text-align:center;font-size:10px}.ad-slot span{margin-right:5px}.ad-slot div{display:inline}
.toolbox{margin:23px 0;padding:19px;background:var(--surface);border:1px solid var(--line-strong);border-radius:7px}.tool-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.tool-head h2{margin:0;font-size:18px}.tool-sub{max-width:330px;color:#7b7c76;font-size:12px;text-align:right}.filebox,.dropzone{display:block;margin-top:16px;padding:21px;border:1px dashed #aaa9a2;background:#faf9f5;border-radius:6px}.filebox strong,.dropzone strong{display:block;margin-bottom:3px}.filebox span,.dropzone span{color:#777872;font-size:12px}.dropzone.drag{background:var(--accent-soft);border-color:var(--accent)}.tool-options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.tool-options>label:not(.check){display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.tool-options select{height:35px;padding:0 8px;border:1px solid #aaa9a2;border-radius:4px;background:#fff}.check{display:flex;gap:8px;align-items:flex-start;padding:8px 0}.check small{display:block;color:#777872;font-weight:400}.tool-actions{display:flex;gap:7px;margin-top:14px}.primary-btn,.secondary-btn,.toolbox button{height:35px;padding:0 12px;border-radius:5px;font-weight:600;cursor:pointer}.primary-btn,.toolbox button{border:1px solid var(--accent);background:var(--accent);color:#fff}.secondary-btn{border:1px solid #aaa9a2;background:#fff;color:#333}.primary-btn:hover,.toolbox button:hover{background:var(--accent-dark)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.45;cursor:not-allowed}.preview-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.preview-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#777872;font-size:11px}.table-scroll{overflow:auto;max-height:360px;border:1px solid var(--line)}.table-scroll table{border-collapse:collapse;width:max-content;min-width:100%;background:#fff;font-size:11px}.table-scroll th,.table-scroll td{padding:7px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.table-scroll th{background:#f1f0eb;text-align:left}
.site-footer{padding:29px 0 40px;border-top:1px solid var(--line);background:#f1f0eb}.footer-inner{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.site-footer strong{font-size:14px}.site-footer p{margin:4px 0 0;color:#777872;font-size:12px}.footer-note{max-width:400px;text-align:right;line-height:1.6}
@media(max-width:720px){.wrap{width:min(calc(100% - 28px),var(--max))}.links{gap:13px}.links a{font-size:12px}.hero{padding:38px 0 30px}.hero h1{font-size:29px}.card{grid-template-columns:1fr;gap:3px}.card small,.card h3,.card p{grid-column:1}.card small{margin-bottom:2px}.page{padding-top:26px}.article h1{font-size:28px}.case-grid,.before-after,.tool-options,.tool-callout{grid-template-columns:1fr}.before-after div{border-right:0;border-bottom:1px solid var(--line)}.before-after div:last-child{border-bottom:0}.tool-head,.footer-inner{flex-direction:column}.tool-sub{text-align:left}.footer-note{text-align:left}.tool-callout{align-items:start}.cta{justify-self:start}}

@media(max-width:720px){.home-section{padding:34px 0}.article section,.diagnosis,.route-box,.warning-block,.tool-callout{margin-top:32px}.article-head{margin-bottom:28px}.lead,.answer-first{font-size:16.5px;line-height:1.76}}

/* 바로 쓰는 도구만 박스형으로 표시 */
.tool-home-section{background:#f3f2ec}

/* 선택형 FAQ: 펼침 UI 없이 질문과 짧은 답을 바로 보여줍니다. */
.faq-list{margin-top:38px;border-top:1px solid var(--line-strong)}
.faq-list>h2{margin:0;padding:18px 0 10px}
.faq-item{padding:15px 0;border-bottom:1px solid var(--line)}
.faq-item h3{margin:0 0 6px;font-size:16px;line-height:1.55;font-weight:700}
.faq-item p{margin:0;color:#555650;font-size:14.5px;line-height:1.7}

.footer-note p{margin:0 0 9px}.footer-links{display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap}.footer-links a{color:#64655f;font-size:12px;text-underline-offset:3px}
.policy-page{max-width:760px}.policy-page .article-head{margin-bottom:30px}.policy-meta{color:#777872;font-size:12px}.policy-page section{padding-top:4px}.policy-page ul{margin-top:8px}
.ad-slot{min-height:110px;display:block;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ad-slot>span{display:block;margin-bottom:8px;color:#92938d;font-size:10px;letter-spacing:.04em}
@media(max-width:720px){.footer-links{justify-content:flex-start}.ad-slot{min-height:90px}}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.tool-card{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:112px;padding:17px 18px;background:#fff;border:1px solid var(--line-strong);border-radius:7px;text-decoration:none;transition:border-color .15s ease,background .15s ease}
.tool-card h3{margin:0 0 6px;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:-.015em}
.tool-card p{margin:0;color:#6b6c66;font-size:12.5px;line-height:1.55}
.tool-card>span{flex:0 0 auto;color:#777872;font-size:18px}
.tool-card:hover{border-color:#9e9c93;background:#fdfcf9}
.tool-card:hover h3{color:var(--accent-dark)}

/* 모든 도구 페이지에 공통으로 삽입되는 사용 안내 */
.usage-notice{margin-top:24px;padding:14px 16px;background:#f2f1ec;border:1px solid var(--line);border-radius:6px;color:#555650}
.usage-notice strong{display:block;margin-bottom:4px;font-size:13px;color:#30312d}
.usage-notice p{margin:0;font-size:12.5px;line-height:1.62;color:#666761}
@media(max-width:720px){.tool-grid{grid-template-columns:1fr}.tool-card{min-height:0;padding:15px 16px}.usage-notice{margin-top:20px}}

/* candidate test */


/* CSV inspector */
.tool-status{margin:10px 0 0;color:#686963;font-size:12.5px}.tool-status.error{color:#8b453b}
.inspect-results{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.inspect-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.inspect-stat{min-height:86px;padding:12px 13px;background:#f8f7f3;border:1px solid var(--line);border-radius:6px}
.inspect-stat span,.inspect-stat small{display:block;color:#777872;font-size:11px}.inspect-stat strong{display:block;margin:3px 0 1px;font-size:16px;line-height:1.35}.issue-block{margin-top:20px}.issue-block h3{margin:0 0 8px;font-size:15px}.issue-list{list-style:none;padding:0!important;margin:0;border-top:1px solid var(--line)}
.issue-list li{display:grid;grid-template-columns:48px 1fr;gap:9px;margin:0!important;padding:9px 2px;border-bottom:1px solid var(--line);font-size:12.5px}
.issue-list b{font-size:10.5px;font-weight:650}.issue-error b{color:#984b40}.issue-warning b{color:#84652b}.issue-info b{color:#526c5c}.issue-pass{grid-template-columns:1fr!important;padding:13px 2px!important}.issue-pass strong{font-size:13px}.issue-pass span{color:#777872}.issue-rows{margin-top:20px}.compact-options{grid-template-columns:1fr 1fr}
@media(max-width:720px){.inspect-summary{grid-template-columns:1fr 1fr}.compact-options{grid-template-columns:1fr}}

.tool-card small{display:block;margin-bottom:3px;color:var(--muted);font-size:10.5px;font-weight:500}

/* ===== v2.0 readability & tool CTA ===== */
.article>section>p,.article>section>ul,.article>section>ol{max-width:760px}
.article p{font-size:16.2px;line-height:1.82}
.article li{line-height:1.72}
.article h2{font-size:20px;line-height:1.45;margin-bottom:12px}
.article section,.diagnosis,.route-box,.warning-block,.tool-callout,.tool-cta-box{margin-top:42px}
.tool-card{min-height:126px;padding:20px 21px;background:#f8faf7;border:1px solid #b9c5ba;border-radius:9px;box-shadow:0 1px 0 rgba(40,52,43,.03);transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.tool-card:hover{border-color:#7f9582;background:#f3f7f2;transform:translateY(-2px);box-shadow:0 5px 16px rgba(40,52,43,.07)}
.tool-card h3{font-size:17px;margin-bottom:7px}.tool-card p{font-size:13px;line-height:1.58}.tool-card>span{width:34px;height:34px;border:1px solid #aebcaf;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-dark);font-size:18px;background:#fff}
.tool-cta-box{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:19px 20px;border:1px solid #b7c4b8;border-radius:9px;background:#f7faf6;color:var(--text);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.tool-cta-box:hover{border-color:#7e9481;background:#f1f6f0;transform:translateY(-1px);box-shadow:0 4px 14px rgba(40,52,43,.06)}
.tool-cta-box small{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:11px;font-weight:650}.tool-cta-box strong{display:block;margin-bottom:5px;font-size:18px;line-height:1.4}.tool-cta-box p{margin:0!important;color:#626760;font-size:14px!important;line-height:1.62!important}.tool-cta-box .tool-cta-arrow{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:600}
.tool-callout{padding:18px 19px;border:1px solid #bdc7be;border-radius:9px;background:#f8faf7}
@media(max-width:720px){.article p{font-size:16px;line-height:1.78}.article h2{font-size:19px}.article section,.diagnosis,.route-box,.warning-block,.tool-callout,.tool-cta-box{margin-top:36px}.tool-cta-box{grid-template-columns:1fr;padding:17px}.tool-cta-box .tool-cta-arrow{width:34px;height:34px}.tool-card{min-height:0;padding:17px 18px}}


/* 디오툴 텍스트 워드마크 */
.brand{gap:8px}.brand-ko{font-weight:750;letter-spacing:-.035em}.brand-en{padding-left:8px;border-left:1px solid var(--line-strong);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.09em}
@media(max-width:420px){.brand-en{display:none}}
