:root{--bg:#ffffff;--bg2:#f5f7fb;--fg:#0f1420;--muted:#5b6472;--accent:#2f6df6;--accent2:#1c4dbb;--card:#f8fafc;--line:#e3e7ee;--warn:#b45309;--dark:#0f1420}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 -apple-system,"Pretendard","Noto Sans KR",system-ui,sans-serif}
a{color:var(--accent2)}img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{font-weight:800;letter-spacing:-.01em;color:var(--fg);text-decoration:none;font-size:18px}
.brand span{color:var(--accent)}
nav.links{display:flex;gap:18px;flex-wrap:wrap}nav.links a{color:var(--muted);text-decoration:none;font-size:14px}nav.links a:hover,nav.links a.on{color:var(--fg)}
.btn{display:inline-block;background:var(--accent);color:#ffffff;font-weight:700;padding:13px 22px;border-radius:10px;text-decoration:none;white-space:nowrap}
.btn.sec{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn[aria-disabled="true"]{background:#e9edf2;color:var(--muted);pointer-events:none}
.hero{padding:88px 0 56px}.hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.1;margin:0 0 18px;letter-spacing:-.025em}
.hero p.lead{font-size:20px;color:var(--muted);max-width:760px;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cta .meta{color:var(--muted);font-size:14px}
.section{padding:64px 0;border-top:1px solid var(--line)}.section h2{font-size:30px;letter-spacing:-.02em;margin:0 0 8px}.section p.sub{color:var(--muted);margin:0 0 32px;max-width:760px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}.card h3{margin:0 0 8px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:15px}
.card .k{display:inline-block;font-size:12px;color:var(--accent2);border:1px solid rgba(47,109,246,.35);border-radius:999px;padding:2px 10px;margin-bottom:12px}
.platform{display:flex;flex-direction:column;gap:10px}.platform .row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.platform .meta{color:var(--muted);font-size:13px}.platform .badge{font-size:12px;color:var(--warn)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
pre{background:#0f1420;color:#d8e2f0;border:1px solid #0f1420;border-radius:10px;padding:14px 16px;overflow-x:auto;margin:12px 0 0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;counter-reset:s}
.steps .card::before{counter-increment:s;content:counter(s);display:inline-block;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;text-align:center;line-height:28px;margin-bottom:12px}
details{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 0 10px;background:var(--card)}summary{cursor:pointer;font-weight:600}details p{color:var(--muted);margin:10px 0 0}
.ad{margin:32px 0;min-height:90px;border:1px dashed var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9aa3b2;font-size:12px}
.prose{max-width:800px}.prose h2{font-size:22px;margin:32px 0 10px}.prose h3{font-size:17px;margin:22px 0 8px}.prose p,.prose li{color:#3b4454}.prose .date{color:var(--muted);font-size:14px}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;vertical-align:top}th{color:var(--muted);font-weight:600}
footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-size:13px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:24px}footer h4{margin:0 0 8px;color:var(--fg);font-size:14px}footer a{color:var(--muted);text-decoration:none;display:block;margin:4px 0}footer a:hover{color:var(--fg)}
footer .biz{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7}footer .biz p{margin:0}
.sha{word-break:break-all}
.band{background:var(--bg2)}
.form{display:grid;gap:12px;max-width:640px}.form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.form input,.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--fg);font:inherit}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid rgba(47,109,246,.4);outline-offset:1px;border-color:var(--accent)}.form textarea{min-height:160px;resize:vertical}.form .ok{border:1px solid rgba(47,109,246,.5);background:rgba(47,109,246,.10);padding:12px 14px;border-radius:8px}.form .err{border:1px solid rgba(220,90,90,.5);background:rgba(220,90,90,.08);padding:12px 14px;border-radius:8px}

/* 다크 히어로 밴드 — 배경 이미지 없이 그러데이션만 쓴다(사이트에 img/ 자산이 없다). */
.hero.dark{background:linear-gradient(120deg,#0f1420 0%,#152036 55%,#1b2c50 100%);color:#f3f5f9;padding:96px 0 72px}
.hero.dark h1{color:#fff}.hero.dark .accent{color:#7fa8ff}
.hero.dark p.lead{color:#c7cfdc}
.hero.dark .cta .meta{color:#9aa3b2}
.hero.dark .btn.sec{color:#fff;border-color:rgba(255,255,255,.35)}

/* 원장 목업 — 첫 화면이 채팅이 아니라 업무 원장이라는 점을 그림 없이 보여준다. */
.ledger{margin:40px 0 0;border:1px solid var(--line);border-radius:16px;background:#0f1420;padding:16px;box-shadow:0 24px 60px rgba(15,20,32,.28)}
.ledger .bar{display:flex;gap:6px;align-items:center;margin-bottom:12px}.ledger .bar i{width:10px;height:10px;border-radius:50%;background:#2a3140;display:block}.ledger .bar span{margin-left:8px;font-size:12px;color:#8a93a3}
.ledger table{font-size:13px;color:#c7cfdc}.ledger th,.ledger td{border-bottom:1px solid #1e2636;padding:9px 8px}.ledger th{color:#8a93a3}
.ledger .s{font-size:12px;border-radius:999px;padding:2px 9px;white-space:nowrap}
.ledger .s.done{background:rgba(47,109,246,.18);color:#9dbcff}
.ledger .s.wait{background:rgba(180,83,9,.22);color:#f3c07b}
.ledger .s.fail{background:rgba(220,90,90,.2);color:#f0a1a1}
.no{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.no div{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:10px;padding:14px 16px;font-size:15px;color:#3b4454}
/* 원장 목업의 모바일 형태 — 360px 에서 4열 표는 한 칸에 한 글자씩 세로로 쌓여 읽히지 않는다.
   표 대신 줄마다 라벨이 붙은 카드로 접는다(가로 스크롤 없이 각 값이 한 줄로 읽힌다). */
@media (max-width:720px){
  .hero{padding:56px 0 40px}
  .ledger{padding:12px}
  .ledger table,.ledger tbody,.ledger tr,.ledger th,.ledger td{display:block;width:100%}
  .ledger table{font-size:13px}
  .ledger tr:first-child{display:none} /* 헤더 행 — 각 칸에 라벨이 붙으므로 감춘다 */
  .ledger tr{border:1px solid #1e2636;border-radius:10px;padding:10px 12px;margin:0 0 10px}
  .ledger tr:last-child{margin-bottom:0}
  .ledger td{border:0;padding:3px 0;display:flex;gap:10px;align-items:baseline}
  .ledger td::before{content:attr(data-l);color:#8a93a3;font-size:11px;min-width:46px;flex:none}
  .ledger td:first-child{font-weight:700;color:#e6ecf6}
  /* 상단 네비 — 링크가 두 줄로 접혀 60px 헤더 밖으로 흐르던 것을 막는다. */
  header.nav .wrap{gap:10px}
  .brand{flex:none}
  nav.links{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  nav.links a{white-space:nowrap}
}
