:root{--bg:#f3f6fa;--card:#fff;--bd:#dbe3ed;--fg:#182638;--mut:#526174;--pri:#2454a6}
*{box-sizing:border-box}
body{font:16px/1.7 "Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;margin:0;color:var(--fg);background:var(--bg);word-break:keep-all}
main{max-width:860px;margin:0 auto;padding:4px 16px 48px}
h1{font-size:clamp(22px,4vw,30px);letter-spacing:-.02em;margin:4px 0 20px;color:#193453}
.sr{position:absolute;left:-9999px}
textarea{display:block;width:100%;min-height:9em;padding:16px 18px;font:inherit;border:1px solid #a9b8ca;border-radius:14px;background:#fff;resize:vertical;box-shadow:0 4px 20px rgb(24 38 56/5%)}
textarea:focus{outline:3px solid #bfd6f6;border-color:var(--pri)}
button{font:inherit;font-weight:700;margin-top:12px;min-height:48px;padding:10px 32px;border:0;border-radius:12px;background:var(--pri);color:#fff;cursor:pointer;transition:background-color .15s}
button:hover{background:#1c4286}button:disabled{cursor:wait;opacity:.6}
button:focus-visible,summary:focus-visible{outline:3px solid #93b9ee;outline-offset:3px}
#status{color:var(--mut);min-height:1.7em;margin:12px 0 0}
#error{color:#b91c1c;margin:0}#error:empty{display:none}
#result{margin-top:12px;display:flex;flex-direction:column;gap:16px}
#conclusion{margin:0;padding:22px 24px;border:1px solid #86a9d8;border-left-width:6px;border-radius:12px;background:#edf3fb;color:#193f7a;font-weight:700;line-height:1.3}
#conclusion .lbl{display:block;font-size:.85rem;font-weight:600;opacity:.8;margin-bottom:4px}
#conclusion strong{font-size:clamp(28px,6vw,40px);letter-spacing:-.02em}
.block li+li{margin-top:6px}
#conclusion[data-verdict="가능"]{background:#f0fdf4;border-color:#86c99e;color:#146334}
#conclusion[data-verdict="불가"]{background:#fff5f5;border-color:#e9a3a3;color:#a32121}
#conclusion[data-verdict="조건부"]{background:#fff8ed;border-color:#eab477;color:#99400b}
.block{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:16px 20px;box-shadow:0 2px 10px rgb(24 38 56/4%)}
.block h2{font-size:1em;margin:0 0 6px;color:#294361}
.block p,.block ul{margin:0;overflow-wrap:anywhere}.block ul{padding-left:1.2em}
.cond{background:#fff8ed;border-color:#eab477;color:#803707}.cond h2{color:#803707}
#cards{display:grid;gap:12px}
article{padding:12px 14px;border:1px solid var(--bd);border-left:4px solid #6d8eb8;border-radius:8px;background:#f7f9fc}
article h3{font-size:1em;margin:0 0 4px;color:#203e61}
.sum{margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
details{margin-top:6px}summary{cursor:pointer;color:var(--pri);padding:4px 0}
pre{max-height:none;overflow:visible;height:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:8px 0 0;padding:12px;background:#fff;border:1px solid var(--bd);border-radius:8px}
.note{color:var(--mut);font-size:14px;margin:20px 0 0}
[hidden]{display:none!important}
@media(max-width:600px){main{padding:8px 12px}.top{padding:6px 12px 0}button{width:100%}.block{padding:14px}}

.top{max-width:860px;margin:0 auto;padding:6px 16px 0}
.studio{font-size:12px;color:#2e9e4f;margin:0;letter-spacing:.02em}

#lead{margin:0 0 12px;color:var(--mut)}
.ritem{padding:12px 0;border-top:1px solid var(--bd)}.ritem:first-of-type{border-top:0;padding-top:0}
.ritem h3,.cgroup h3{font-size:1em;margin:0 0 6px;color:#203e61}
.no{display:inline-block;min-width:1.5em;height:1.5em;line-height:1.5em;margin-right:8px;text-align:center;border-radius:50%;background:var(--pri);color:#fff;font-size:.85em}
.tag{margin-left:8px;padding:1px 8px;border-radius:999px;background:#e8eef7;color:#294361;font-size:.8em;font-weight:500}
.key{margin:0 0 8px;padding:10px 12px;background:#f3f7fc;border-radius:8px}
.key .k{display:block;font-size:.8em;color:var(--mut);margin-bottom:2px}
.sub{margin:0 0 4px;font-size:.9em;font-weight:700;color:#294361}
.block li b{color:#14305c}.cond li b{color:#7a2f04}
.cgroup+.cgroup{margin-top:14px}.cgroup h3{color:#803707}
.at{display:block;font-size:.8em;color:#a0551f}
