/* 찐 — 신뢰 도구: 깨끗한 라이트, 초록 포인트 */
:root{
  --ink:#191f28; --sub:#4e5968; --faint:#8b95a1; --line:#e5e8eb;
  --green:#00c471; --green-d:#00a05c; --red:#f04452; --bg:#fff; --panel:#f9fafb;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Noto Sans KR",-apple-system,sans-serif; color:var(--ink); background:var(--bg); padding-bottom:70px;}
.wrap{max-width:680px; margin:0 auto; padding:0 18px;}

.top{text-align:center; padding:54px 0 8px;}
.top h1{font-size:56px; font-weight:900; margin:0; letter-spacing:-2px;}
.top .dot{color:var(--green)}
.top .tag{color:var(--sub); font-size:15.5px; margin:8px 0 0;}
.top .tag b{color:var(--ink)}

.searchbox{margin-top:22px;}
#f{display:flex; gap:10px;}
#q{flex:1; font:inherit; font-size:17px; padding:15px 18px; border:2px solid var(--line); border-radius:14px; outline:none; transition:border .15s;}
#q:focus{border-color:var(--green);}
#go{font:inherit; font-size:16px; font-weight:700; color:#fff; background:var(--green); border:0; border-radius:14px; padding:0 22px; cursor:pointer; white-space:nowrap;}
#go:hover{background:var(--green-d)}
#go:disabled{opacity:.5}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; justify-content:center;}
.chip{font-size:13px; color:var(--sub); background:var(--panel); border:1px solid var(--line); border-radius:999px; padding:7px 13px; cursor:pointer;}
.chip:hover{border-color:var(--green); color:var(--green-d);}

#progress{margin-top:26px;}
.pline{color:var(--sub); font-size:14px; line-height:2.1; white-space:pre-wrap;}
.pline .ok{color:var(--green-d); font-weight:700;}

#statbar{margin-top:22px;}
.stat{background:linear-gradient(135deg,#e9fbf3,#f2fdf8); border:1.5px solid #b7ecd4; border-radius:16px; padding:18px 20px; font-size:16px; font-weight:500;}
.stat .big{font-size:34px; font-weight:900; color:var(--green-d); margin-right:4px;}
.stat .sub{display:block; color:var(--faint); font-size:12.5px; margin-top:4px; font-weight:400;}

#answer{margin-top:16px;}
.acard{border:1.5px solid var(--line); border-radius:16px; padding:20px; background:#fff; box-shadow:0 2px 14px rgba(25,31,40,.05);}
.ahead{font-weight:900; font-size:14px; color:var(--green-d); margin-bottom:10px;}
#atext{font-size:15.5px; line-height:1.95; color:var(--ink); white-space:pre-wrap; word-break:keep-all;}
#atext .cite{color:var(--green-d); font-size:12px; font-weight:700; vertical-align:super;}

#sources{margin-top:22px;}
.shead{font-weight:900; font-size:15px; margin-bottom:10px;}
.scount{color:var(--faint); font-weight:500; font-size:13px;}
.src{display:block; text-decoration:none; color:inherit; border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin:8px 0; transition:border .12s;}
.src:hover{border-color:var(--green)}
.src .st{font-size:14.5px; font-weight:700; line-height:1.5;}
.src .sd{font-size:13px; color:var(--sub); margin-top:3px; line-height:1.6;}
.src .sk{font-size:11px; color:var(--faint); margin-top:5px;}
.src .no{display:inline-block; background:var(--green); color:#fff; font-size:11px; font-weight:800; border-radius:6px; padding:1px 7px; margin-right:7px; vertical-align:1px;}
details{margin-top:16px;}
summary{cursor:pointer; font-weight:700; font-size:14px; color:var(--red); padding:8px 2px;}
.sp{border:1px dashed #f3c2c7; background:#fff8f8; border-radius:12px; padding:10px 14px; margin:8px 0;}
.sp .st{font-size:13.5px; color:#8b6b6e; text-decoration:line-through; line-height:1.5;}
.sp .sw{font-size:11.5px; color:var(--red); margin-top:3px; font-weight:700;}
.sp a{color:inherit; text-decoration:none;}

.foot{margin-top:44px; text-align:center; color:var(--faint); font-size:12px; line-height:1.9;}
.hidden{display:none}
