@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap');
:root{--bg:#f7f8fb;--surface:#fff;--surface-2:#f0f3f8;--surface-3:#e8eef7;--text:#17202c;--text-secondary:#465364;--text-muted:#6b7787;--border:#dce2ea;--border-strong:#c5ceda;--accent:#17324f;--accent-hover:#274768;--accent-fg:#fff;--blue-soft:#eef6ff;--green-soft:#eef8f2;--yellow-soft:#fff7df;--red-soft:#fff0ef;--ring:rgba(36,91,160,.22);--shadow-sm:0 1px 2px rgba(15,23,42,.06);--shadow-md:0 18px 48px rgba(15,23,42,.10);--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-xs:.78rem;--fs-sm:.9rem;--fs-base:1rem;--fs-md:1.1rem;--fs-lg:1.35rem;--fs-xl:1.75rem;--fs-2xl:clamp(2rem,4vw,3.15rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:28px;--r-pill:999px;--page-pad:clamp(20px,5vw,60px);--content:1080px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(189,218,255,.65),transparent 34rem),radial-gradient(circle at 100% 18%,rgba(205,238,218,.65),transparent 30rem),linear-gradient(180deg,#fbfcff 0%,var(--bg) 40%,#f8fafc 100%);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.72;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 14px;border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg)}.skip-link:focus{top:16px}.container{width:min(100%,var(--content));margin-inline:auto;padding:36px var(--page-pad) 72px}.container.wide{--content:1180px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,248,251,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,226,234,.75)}.site-header-inner{width:min(100%,1180px);margin-inline:auto;padding:11px var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.logo-mark{width:34px;height:34px;border-radius:12px;display:inline-grid;place-items:center;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:.8rem}.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.site-nav a{padding:8px 10px;border-radius:var(--r-pill);color:var(--text-secondary);font-size:var(--fs-sm)}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--surface-2);color:var(--text)}.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding:clamp(34px,6vw,72px);border:1px solid var(--border);border-radius:var(--r-xl);background:rgba(255,255,255,.78);box-shadow:var(--shadow-md)}.hero-with-figure{grid-template-columns:minmax(0,1.5fr) minmax(180px,.55fr);align-items:center}.hero h1,.page-hero h1{margin:0;font-size:var(--fs-2xl);line-height:1.13;letter-spacing:-.055em}.hero-lead,.page-lead{margin:18px 0 0;max-width:760px;color:var(--text-secondary);font-size:var(--fs-md)}.hero-figure{display:grid;place-items:center;margin:0}.hero-figure img{width:min(220px,100%);border-radius:999px;filter:drop-shadow(0 18px 34px rgba(15,23,42,.12))}.hero-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.page-kicker,.eyebrow{margin:0 0 10px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:700;font-size:var(--fs-sm);box-shadow:var(--shadow-sm);cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:rgba(255,255,255,.72)}.btn.small{min-height:30px;padding:5px 10px;font-size:var(--fs-xs)}.notice-banner,.callout{margin-top:18px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text-secondary)}.callout{margin:18px 0}.callout strong,.notice-banner strong{color:var(--text)}.callout.blue{background:var(--blue-soft)}.callout.green{background:var(--green-soft)}.callout.yellow{background:var(--yellow-soft)}.callout.red{background:var(--red-soft)}.callout.left-strong{border-left:5px solid var(--accent)}.section{margin-top:clamp(46px,8vw,84px)}.section h2{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.22;letter-spacing:-.04em}.section h3{margin:0 0 8px;font-size:var(--fs-lg);line-height:1.28;letter-spacing:-.035em}.section-intro{max-width:850px;margin:0 0 18px;color:var(--text-secondary)}.muted{color:var(--text-secondary)}.tiny{font-size:var(--fs-xs);color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid var(--border);border-radius:var(--r-pill);background:rgba(255,255,255,.72);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:650}.chip:hover{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.module-grid,.feature-grid,.info-grid,.doc-grid,.tool-grid,.three-col,.two-col{display:grid;gap:14px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid,.doc-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-grid,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:14px}.card,.module-card,.feature-card,.info-card,.tool-card,.doc-card{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}.module-card{min-height:310px;display:grid;grid-template-rows:auto 1fr auto;gap:15px}.card:hover,.module-card:hover,.feature-card:hover,.tool-card:hover,.doc-card:hover{border-color:var(--border-strong)}.module-number{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-weight:800}.small-label{display:inline-block;margin-bottom:7px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);font-weight:700;letter-spacing:.07em}.point-list,.info-list,.module-meta{margin:12px 0 0;padding-left:1.05em;color:var(--text-secondary)}.point-list li,.info-list li,.module-meta li{margin:5px 0}.flow-list{counter-reset:step;list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}.flow-list li{position:relative;margin:0;padding:10px 12px 10px 44px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-secondary);font-size:var(--fs-sm)}.flow-list li::before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:800}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}table.simple-table{width:100%;border-collapse:collapse;min-width:720px}.simple-table th,.simple-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left;font-size:var(--fs-sm)}.simple-table th{background:var(--surface-2);color:var(--text);font-weight:800}.simple-table tr:last-child td{border-bottom:0}.simple-table .center{text-align:center}.simple-table .num{text-align:right;font-variant-numeric:tabular-nums}.page-hero{padding:34px 0 12px}.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;color:var(--text-muted);font-size:var(--fs-sm)}.breadcrumb a{color:var(--text-secondary);font-weight:700}.local-nav{margin:20px 0 0;padding:12px;border:1px solid var(--border);border-radius:var(--r-lg);background:rgba(255,255,255,.74)}.search-panel{padding:16px;border:1px solid var(--border);border-radius:var(--r-lg);background:rgba(255,255,255,.82)}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.search-row input{width:100%;min-height:42px;padding:9px 13px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);outline:0}.search-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.search-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}.empty-box{padding:18px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-secondary)}.tool-card{display:grid;gap:12px}.tool-title{margin:0;font-weight:850;font-size:var(--fs-md)}.tool-sub{margin:5px 0 0;color:var(--text-secondary);font-size:var(--fs-sm)}.copy-block{position:relative;margin-top:14px}.copy-pre{white-space:pre-wrap;margin:0;padding:18px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:#101827;color:#edf4ff;font-family:var(--font-sans);line-height:1.72;overflow-x:auto}.copy-block .copy-btn{position:absolute;top:10px;right:10px}.template-box{white-space:pre-wrap}.check-table td:last-child,.check-table th:last-child{text-align:center;white-space:nowrap}.footer-note{margin-top:72px;padding-top:22px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm)}.site-footer{border-top:1px solid var(--border);background:rgba(255,255,255,.62)}.site-footer-inner{width:min(100%,1180px);margin-inline:auto;padding:24px var(--page-pad) 34px;color:var(--text-muted);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;z-index:100;padding:10px 14px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-fg);font-size:var(--fs-sm);font-weight:800;transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:900px){.hero-with-figure{grid-template-columns:1fr}.hero-figure{display:none}.module-grid,.info-grid,.two-col,.three-col{grid-template-columns:1fr}.site-header-inner{align-items:flex-start;flex-direction:column}.site-nav{justify-content:flex-start}}@media(max-width:640px){.container{padding-top:24px}.hero{padding:28px 22px}.search-row{grid-template-columns:1fr}.search-meta{align-items:flex-start;flex-direction:column}table.simple-table{min-width:660px}}@media print{.site-header,.site-footer,.hero-actions,.local-nav,.copy-btn,.btn,.toast,.no-print{display:none!important}body{background:#fff;color:#111}.container{width:100%;max-width:none;padding:20px}.hero,.card,.module-card,.feature-card,.info-card,.table-wrap,.callout{box-shadow:none;break-inside:avoid}.section{margin-top:28px}a{text-decoration:none}}

/* 공통 UI: site-config.js + site.js 렌더링 요소 */
.site-footer-sub{
  width:min(100%,1180px);
  margin-inline:auto;
  padding:0 var(--page-pad) 24px;
  color:var(--text-muted);
  font-size:var(--fs-xs);
}
.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:80;
  min-width:54px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--border-strong);
  border-radius:var(--r-pill);
  background:var(--accent);
  color:var(--accent-fg);
  box-shadow:var(--shadow-md);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;
}
.back-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover{
  box-shadow:0 16px 36px rgba(38,92,255,.22);
}
.back-to-top:focus-visible{
  outline:4px solid var(--ring);
  outline-offset:3px;
}
@media(max-width:640px){
  .back-to-top{right:12px;bottom:12px;min-width:50px;}
}
@media print{
  .back-to-top,.site-footer-sub{display:none!important;}
}
