:root{--bg:#fff;--fg:#1a1d24;--mut:#5b6472;--line:#dfe3ea;--card:#f6f8fb;--acc:#1d5fd1;--acc-fg:#fff;--warn:#fff4e0;--warn-b:#e2a33b;--err:#fdeaea;--err-b:#d64545;--ok:#e8f6ee}
@media(prefers-color-scheme:dark){:root{--bg:#12151b;--fg:#e8ebf1;--mut:#9aa4b5;--line:#2b313c;--card:#1a1f28;--acc:#6aa2ff;--acc-fg:#0b1220;--warn:#2d2410;--warn-b:#b98a2e;--err:#321818;--err-b:#c95a5a;--ok:#14291d}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,-apple-system,"Segoe UI","Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",sans-serif}
html[lang=ko] .en,html[lang=en] .ko{display:none!important}
a{color:var(--acc)}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
header.top{border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:12px;min-height:56px;flex-wrap:wrap}
.brand{font-weight:700;font-size:1.05rem;color:var(--fg);text-decoration:none;display:flex;align-items:center;gap:8px}
nav.m{margin-left:auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.92rem}
nav.m a{color:var(--mut);text-decoration:none}nav.m a:hover{color:var(--fg)}
button,.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 14px;min-height:40px}
button:hover{border-color:var(--acc)}
button.pri,.btn.pri{background:var(--acc);color:var(--acc-fg);border-color:var(--acc);font-weight:600}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
h1{font-size:1.7rem;line-height:1.3;margin:28px 0 8px}
h2{font-size:1.25rem;margin:32px 0 8px}
.lead{color:var(--mut);margin:0 0 16px}
#drop{display:block;border:2px dashed var(--line);border-radius:14px;background:var(--card);padding:34px 16px;text-align:center;cursor:pointer;transition:border-color .15s}
#drop:hover,#drop.over,#drop:focus-within{border-color:var(--acc)}
#drop input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
#drop strong{display:block;font-size:1.15rem;margin-bottom:4px}
#drop small{color:var(--mut)}
.priv{display:inline-block;margin:10px 0 0;padding:3px 10px;border-radius:99px;background:var(--ok);font-size:.88rem}
.msg{margin:14px 0;padding:10px 14px;border-radius:10px;border:1px solid var(--line)}
.msg.err{background:var(--err);border-color:var(--err-b)}.msg.warn{background:var(--warn);border-color:var(--warn-b)}.msg.info{background:var(--card)}
.samples{margin:10px 0;font-size:.92rem;color:var(--mut)}
#viewer{margin-top:24px}
.bar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bar .meta{flex:1 1 200px;min-width:0}
.bar .meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .meta span{color:var(--mut);font-size:.85rem}
.limits{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px 18px 12px;margin:24px 0}
.limits h2{margin-top:12px}
.limits li{margin:3px 0}
details{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--card)}
summary{cursor:pointer;padding:12px 14px;font-weight:600;min-height:44px}
details>div{padding:0 14px 12px}
footer.bot{border-top:1px solid var(--line);margin-top:48px;padding:20px 0 40px;color:var(--mut);font-size:.9rem}
footer.bot a{color:var(--mut)}
footer.bot .wrap>div{margin:4px 0}
table.cmp{border-collapse:collapse;width:100%;font-size:.95rem}.cmp th,.cmp td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
@media(max-width:560px){h1{font-size:1.45rem}nav.m{margin-left:0;width:100%}}
@media print{header.top,footer.bot,.hero,.limits,.faq,.skip{display:none!important}}
.skip{position:absolute;left:-999px;top:0;background:var(--bg);padding:8px}.skip:focus{left:8px;z-index:9}
.scroll{overflow-x:auto}
#frameHost iframe{display:block;width:100%;height:60vh;border:0;background:#e9ecf1;border-radius:6px}
[hidden]{display:none!important}
