/* 모두의 API — «작업실 터미널» 꾸밈(대표 결정 `[공짜 API 홈 디자인 시안 결정 2026-10-22]` 3번)
   모든 페이지의 인라인 스타일 «뒤»에 불러서 색 토큰과 겉모습만 덮는다(내용·동작은 그대로).
   가독성 원칙(대표 의견): 설명 글 = 읽기 쉬운 한글 글꼴 17px·줄 간격 1.75·밝은 글자 · 고정폭 글꼴은 제목·이름표·숫자에만.
   개인정보 안내는 작은 회색 글씨에 묻지 않고 테두리 상자로 꺼낸다(.privacy-box · 동의 칸 .cbox). */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans+KR:wght@400;500;700&display=swap");

:root, :root:not([data-theme="light"]), :root[data-theme="dark"]{
  --bg:#14161a; --card:#1b1e24; --ink:#efebe1; --muted:#c2bdb0; --line:#353a44;
  --navy:#f0a54a; --on-navy:#14161a; --focus:#ffd27a; --accent:#f0a54a; --err:#ff9b7a;
  --head:#262a32; --warn-soft:#2a2418; --sample-soft:#20242b; --main-soft:#1a1d22;
  --warm:#17191d; --warm-line:#3a3f49; --gauge:#23262d; --gauge-fill:#f0a54a; --gauge-low:#ff9b7a;
  --mono:"IBM Plex Mono","IBM Plex Sans KR",ui-monospace,monospace;
  --font:"IBM Plex Sans KR","Pretendard","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  color-scheme:dark;
}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.75;letter-spacing:-.003em}
::selection{background:#f0a54a;color:#14161a}
a{color:#ffd27a;text-underline-offset:3px}
a:hover{color:#fff}

/* 제목·이름표 = 터미널 글꼴 */
h1,h2,.top .brand,.crumb,.tool .no,.notice .k,.big,.left,.badge,.meterline,.cnt,.tab,.go,.post,.seg label,.chip{font-family:var(--mono)}
h1{color:#f0a54a;letter-spacing:-.01em}
h1::before{content:"$ ";color:#7c818c;font-weight:400}
h2{font-size:15px!important;font-weight:600!important;color:#c2bdb0;letter-spacing:.02em}
h2::before{content:"# ";color:#7c818c}
.top .brand{color:#7c818c!important;font-size:13px!important;font-weight:400!important}
.top .brand b{color:#efebe1!important}
.top .brand:first-child::before{content:"● ● ●  ";color:#f0a54a;letter-spacing:2px}
.crumb{font-size:13px!important}
.crumb a{color:#f0a54a!important}

/* 창(카드) — 얇은 테두리 + 위 막대 점 세 개 */
.hero,.card,.notice,.wish,.pitem,.asks,.answer,details.more{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:10px!important;color:var(--ink)!important;box-shadow:none!important}
.hero{position:relative;padding:44px 26px 28px!important}
.hero::before,.card.main::before{content:"● ● ●";position:absolute;top:12px;left:16px;font-size:10px;letter-spacing:4px;color:#4a4f5a}
.card.main{position:relative;padding-top:38px!important;border-color:#f0a54a!important}
.hero h1{color:#f0a54a!important}
.hero p{color:#efebe1!important;font-weight:400!important;font-size:clamp(17px,2.2vw,19px)!important;line-height:1.9!important}
.hero p b{color:#ffd27a;font-weight:700}
.hero .cur{display:inline-block;width:.55em;height:1.05em;background:#f0a54a;vertical-align:-.15em;margin-left:2px;animation:tblink 1s steps(1) infinite}
@keyframes tblink{50%{opacity:0}}

/* 도구 카드 */
.tool:hover,.tool:focus-visible{border-color:#f0a54a!important;transform:none!important}
.tool .no{color:#7c818c!important;font-weight:400!important;font-size:13px!important}
.tool .no::before{content:"> run  ";color:#f0a54a}
.tool h3{color:#ffd9a3!important;font-size:20px!important}
.tool p{color:#d6d1c5!important;font-size:16px!important;line-height:1.75}
.tool .go{background:#f0a54a!important;color:#14161a!important;border-radius:6px!important}
.tool.stuck{border-style:dashed!important}
.soon{color:#9a9fa9!important;font-family:var(--mono);font-size:14px!important;border-style:dashed!important}
.soon::before{content:"// "}

/* 오른쪽 크레딧 창 */
.notice{gap:14px}
.notice .k{color:#9a9fa9!important;font-weight:400!important}
.notice .big{color:#f0a54a!important}
.notice .big small{color:#9a9fa9!important;font-family:var(--font)}
.gauge{height:16px!important;background:transparent!important;border:1px solid #4a4f5a!important;border-radius:3px!important}
.gauge .fill{background:repeating-linear-gradient(90deg,#f0a54a 0 9px,transparent 9px 12px)!important;border-radius:0!important}
.gauge .fill.low{background:repeating-linear-gradient(90deg,#ff9b7a 0 9px,transparent 9px 12px)!important}
.refill{color:#c2bdb0!important;font-weight:400!important}
.plea{font-size:17px!important;font-weight:400!important;line-height:1.75!important;color:#efebe1}
.plea b{color:#ffd27a}
.wish{background:#17191d!important;font-size:17px!important}
.wish .w1{font-size:20px!important}
.wish mark{background:#f0a54a!important;color:#14161a!important;padding:0 4px}
.wish b{color:#ffd27a!important}
.sign{color:#c2bdb0!important;font-family:var(--mono);font-size:14px!important}

/* 개인정보 한눈에(홈) */
.privacy-box{border:1.5px solid #8fd3b0;border-radius:10px;background:#16201b;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.privacy-box .pt{font-family:var(--mono);font-size:14px;color:#8fd3b0;letter-spacing:.02em}
.privacy-box ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.7;color:#efebe1}
.privacy-box b{color:#b9f0d2}
.privacy-box .pgo{align-self:flex-start;font-family:var(--mono);font-size:14px;font-weight:600;color:#14161a;background:#8fd3b0;border-radius:6px;padding:8px 14px;text-decoration:none}
.privacy-box .pgo:hover{background:#b9f0d2;color:#14161a}
.ad{color:#9a9fa9!important;font-size:14px!important}

/* 한마디 게시판 */
.board-rules{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:15.5px;line-height:1.7;color:#d6d1c5}
.board-rules b{color:#efebe1}
.tab{border-radius:6px!important;border:1px solid var(--line)!important;background:var(--card)!important;color:#d6d1c5!important;font-weight:600!important;font-size:14px!important}
.tab[aria-selected="true"]{background:#f0a54a!important;color:#14161a!important;border-color:#f0a54a!important}
.pitem{border-left:3px solid #f0a54a!important}
.pitem .t{color:#efebe1;font-size:16px!important}
.pitem .m{color:#9a9fa9!important}
.pitem .r{background:#262a32!important;color:#efebe1!important}

/* 입력 칸·단추(도구 페이지 공통) */
textarea,input[type=text]{background:#101215!important;color:#efebe1!important;border:1px solid #4a4f5a!important;border-radius:8px!important;font-family:var(--font)!important;font-size:16px!important;line-height:1.7}
textarea::placeholder,input::placeholder{color:#8a8f99}
textarea:focus,input[type=text]:focus{border-color:#f0a54a!important;outline:none}
.post,.go{background:#f0a54a!important;color:#14161a!important;border-radius:6px!important;font-weight:600!important}
.go:hover,.post:hover{background:#ffd27a!important}
.ghost,.pickbtn{background:transparent!important;color:#efebe1!important;border:1px solid #4a4f5a!important;border-radius:6px!important}
.ghost:hover,.pickbtn:hover{border-color:#f0a54a!important}
.field label,.mlab{color:#efebe1!important}
.sub,.foot,.meterline,.status,.cnt,.bstatus{color:#c2bdb0!important}
.open{border-left-color:#f0a54a!important;color:#efebe1}
.concept{border-left-color:#8fd3b0!important}
.concept .say,.seg label small,.check small{color:#c2bdb0!important}
.seg label,.chip{background:var(--card)!important;color:#efebe1!important;border:1px solid #4a4f5a!important;border-radius:8px!important}
.seg label:has(input:checked),.chip[aria-pressed="true"]{border-color:#f0a54a!important;background:#2a2418!important;color:#ffd9a3!important}
.caution{background:#2a2418!important;color:#efebe1!important;border-left:3px solid #f0a54a}
.badge{background:#262a32!important;color:#c2bdb0!important}
pre.txt{background:#101215!important;color:#e6e1d5!important;border:1px solid #353a44!important;font-family:var(--mono)!important;font-size:14.5px!important;line-height:1.75!important}
.status.err,.bstatus.err,.state{color:#ff9b7a!important}
.proto{background:#2a2418!important;color:#efebe1!important}
.banner{background:#f0a54a!important;color:#14161a!important;border-radius:8px!important;font-family:var(--mono)}

/* 동의 칸(consent.js) — 잘 보이게: 초록 테두리 · 큰 체크 · 밝은 글자 */
.cbox{background:#16201b!important;border:1.5px solid #8fd3b0!important;border-radius:10px!important;padding:14px 16px!important}
.cbox .crow label{color:#efebe1!important;font-size:16px!important;line-height:1.6}
.cbox .crow input{width:22px!important;height:22px!important;accent-color:#8fd3b0!important}
.cbox ul{color:#d6d1c5!important;font-size:15px!important;line-height:1.7!important}
.cbox ul b{color:#b9f0d2}
.cbox .ckeep{color:#b9f0d2!important}
.cbox .cwarn{color:#ffb59a!important;font-size:15px!important}
.cbox .law{border-color:#8fd3b0!important;color:#8fd3b0!important}
.cbox .law[aria-expanded="true"]{background:#8fd3b0!important;color:#14161a!important}
.cbox .lawbox{background:#101a15!important;color:#d6d1c5!important;font-size:14.5px!important}
.cbox .lawbox b{color:#efebe1}
.cbox a{color:#8fd3b0!important}

/* 처리방침 표 */
table{color:#efebe1}
th{background:#262a32!important;color:#efebe1!important;font-family:var(--mono);font-weight:600!important}
th,td{border-color:#353a44!important;line-height:1.65}
td b{color:#ffd27a}

/* 키보드로 다닐 때 잘 보이게 */
a:focus-visible,button:focus-visible,textarea:focus-visible,input:focus-visible,.tool:focus-visible{outline:3px solid #ffd27a!important;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.hero .cur{animation:none}}
.tool.members{border-style:dashed!important;opacity:.92}
.tool.members .no::before{content:"> soon  "}

/* 처리방침 표 — 넓은 화면은 표, 좁은 화면은 줄마다 카드(privacy/index.html 의 data-label) */
td.dup{display:none}
@media (max-width:680px){
  .scroll table, .scroll thead, .scroll tbody, .scroll tr, .scroll td{display:block;min-width:0!important;width:100%}
  .scroll thead{position:absolute;left:-9999px}
  .scroll tr{border:1px solid #353a44;border-radius:10px;margin-bottom:12px;padding:6px 0;background:#17191d}
  .scroll td{border:0!important;border-bottom:1px dashed #2c3038!important;padding:8px 14px!important}
  .scroll td:last-child{border-bottom:0!important}
  .scroll td::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:12.5px;color:#f0a54a;margin-bottom:2px}
  td.dup{display:block}
  .scroll{overflow:visible!important}
}

/* 기다리는 동안 상자(wait.js) — 작업 로그 + AI 명언 */
.mwait{border:1px solid #4a4f5a;border-radius:10px;background:#101215;padding:16px;display:flex;flex-direction:column;gap:12px;margin-top:6px}
.mw-hd{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:14px;color:#c2bdb0}
.mw-hd b{color:#f0a54a}
.mw-spin{display:inline-block;width:1.2em;text-align:center;color:#f0a54a}
.mw-log{margin:0;padding:0;list-style:none;font-family:var(--mono);font-size:14.5px;line-height:1.9}
.mw-log li{color:#5f6470}.mw-log li.on{color:#efebe1}.mw-log li.ok{color:#8fd3b0}
.mw-m{display:inline-block;width:1.6em}
.mw-late{color:#ffd27a}
.mw-q{border-left:3px solid #f0a54a;padding:4px 0 4px 14px;min-height:7.5em}
.mw-qt{margin:0;font-size:19px;line-height:1.7;color:#efebe1}
.mw-qo{margin:0;font-size:13px;color:#8a8f99;font-style:italic}
.mw-qw{margin:6px 0 0;font-family:var(--mono);font-size:13px;color:#8a8f99}
.mw-dots{display:flex;gap:6px}.mw-dots i{width:7px;height:7px;border-radius:50%;background:#3a3f49}.mw-dots i.on{background:#f0a54a}

/* 한마디 — 주의 문구는 한 줄 + 접기(대표 결정 10/21 «4번») */
.board-key{margin:0;font-size:16px;color:#efebe1}
.board-key b{color:#ffd27a}
.brules summary{cursor:pointer;font-family:var(--mono);font-size:14px;color:#8fd3b0;padding:4px 0}
.brules summary:focus-visible{outline:3px solid #ffd27a;outline-offset:2px}
.brules[open] summary{margin-bottom:6px}

/* 결과 바로 뒤 «한 줄 남기기»(board-nudge.js · «1번») */
.nudge{border:1px dashed #f0a54a;border-radius:10px;background:#1a1d22;padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin-top:8px}
.nudge .nq{margin:0;font-weight:700;color:#ffd9a3;font-size:17px}
.nchips{display:flex;flex-wrap:wrap;gap:8px}
.nchip{font:inherit;font-size:15px;cursor:pointer;background:#262a32;color:#efebe1;border:1px solid #4a4f5a;border-radius:99px;padding:6px 12px}
.nchip:hover{border-color:#f0a54a}
.nrow{display:flex;gap:8px;flex-wrap:wrap}
.nrow button{padding:9px 14px;font-size:15px;cursor:pointer}
.nudge .nsay{margin:0;font-size:14px;color:#c2bdb0}
.nudge .nsay b{color:#efebe1}
.nudge .nstat{margin:0;font-size:14.5px;color:#c2bdb0;min-height:1.2em}
.nudge .nstat.err{color:#ff9b7a}
