:root{--bg: #fbf7ee;--panel: #f0e6d2;--panel2: #e4d7bc;--line: #d9cdb8;--acc-bg: #eddacd;--blush: #e8c4b8;--heading: #3a3128;--text: #4a3f35;--dim: #8a7c68;--faint: #b8ad98;--acc: #c97c5d;--acc-text: #b8735f;--ok: #8a9a7e;--warn: #d9a441;--err: #a8442e;--on-acc: #ffffff;--overlay: #3a3128b3;--shadow: rgba(58, 49, 40, .08);--drag-bg: #f4e4da;--warn-box-bg: #f7ecd6;--warn-box-bd: #d9a44166;--scroll-track: #f0e6d2;--scroll-thumb: #c4b79e;--scroll-hover: #b8ad98;--log-bg: #2a2420;--log-fg: #8fd98f;--font-ui: "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-serif: "Noto Serif KR", "바탕체", "바탕", Batang, serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.65}a{color:var(--acc-text)}h1,h2,h3{font-family:var(--font-serif);color:var(--heading);line-height:1.3}.container{max-width:880px;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:56px}.brand{font-family:var(--font-serif);font-weight:700;font-size:18px;color:var(--heading);text-decoration:none}.brand span{color:var(--acc)}.site-nav a{margin-left:16px;font-size:14px;text-decoration:none;color:var(--dim)}.site-nav a:hover{color:var(--heading)}.trust{background:var(--panel);border-bottom:1px solid var(--line);font-size:13px;color:var(--text)}.trust .container{padding-top:8px;padding-bottom:8px}.site-footer{margin-top:56px;border-top:1px solid var(--line);padding:24px 0 40px;font-size:12.5px;color:var(--dim)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:20px 0}.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--text);box-shadow:0 1px 2px var(--shadow)}.card:hover{border-color:var(--acc)}.card .icon{font-size:24px}.card .title{font-weight:700;color:var(--heading);margin:6px 0 4px}.card .desc{font-size:13px;color:var(--dim)}.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;background:var(--panel2);color:var(--dim);margin-left:6px}.tool-title{margin:28px 0 6px}.sub{color:var(--dim);margin:0 0 18px}.dropzone{border:2px dashed var(--faint);border-radius:14px;background:var(--panel);text-align:center;padding:34px 16px;transition:.15s}.dropzone.drag{background:var(--drag-bg);border-color:var(--acc)}.dropzone .icon{font-size:34px}.dropzone .title{font-weight:700;color:var(--heading);margin:4px 0}.dropzone .desc{font-size:13px;color:var(--dim)}.btns{margin-top:14px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}button{font-family:inherit;cursor:pointer}.btn-primary{background:var(--acc);color:var(--on-acc);border:0;border-radius:8px;padding:9px 22px;font-weight:700;font-size:14px}.btn-primary:hover{filter:brightness(.95)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 18px;font-size:14px}.btn-ghost:hover{background:var(--panel)}.note{font-size:12.5px;color:var(--dim);margin-top:12px}.panel{background:var(--panel2);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px}.panel label{display:flex;align-items:center;gap:6px;cursor:pointer}.panel select,.inline-select{font-family:inherit;font-size:12.5px;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);margin-top:6px}.warnbox{background:var(--warn-box-bg);border:1px solid var(--warn-box-bd);border-radius:8px;padding:12px 14px;font-size:13px;margin:0 0 14px;text-align:left}.hidden{display:none!important}.progress-track{height:8px;background:var(--panel2);border-radius:4px;overflow:hidden}.progress-fill{height:100%;width:0;background:var(--acc);transition:width .2s}table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}th{background:var(--panel2);text-align:left;padding:7px 9px}td{padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}td.num,th.num{text-align:right;white-space:nowrap}.mono{font-family:var(--font-mono);font-size:12px;word-break:break-all}.pct-good{color:var(--ok);font-weight:700}.flag{display:inline-block;padding:1px 7px;border-radius:6px;font-size:12px;margin-right:4px}.flag.warn{background:#d9a44126;color:#9a6f12}.flag.ok{background:#8a9a7e33;color:#4f6144}.flag.info{background:var(--panel2);color:var(--dim)}.flag.err{background:#a8442e26;color:var(--err)}.logpanel-title{font-weight:700;font-size:12px;color:var(--dim);margin:18px 0 6px}.logcontent{height:240px;overflow-y:auto;background:var(--log-bg);color:var(--log-fg);font-family:var(--font-mono);font-size:11px;line-height:1.6;padding:10px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-all}.prose h2{margin-top:36px}.prose li{margin:4px 0}.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{cursor:pointer;font-weight:600;color:var(--heading)}.cta{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:28px;font-size:13.5px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}@media(max-width:560px){.site-nav a:not(:last-child){display:none}}.field{margin:0 0 14px}.field>label,.lbl{display:block;font-size:13px;font-weight:600;color:var(--heading);margin-bottom:4px}input[type=text],input[type=number],input[type=date],input[type=password],textarea,select.sel{width:100%;font-family:inherit;font-size:15px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;color:var(--text)}textarea{min-height:220px;resize:vertical;font-family:var(--font-mono);font-size:13.5px;line-height:1.55}textarea.plain{font-family:var(--font-ui);font-size:15px}input:focus,textarea:focus,select:focus{outline:2px solid var(--blush);border-color:var(--acc)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1 180px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.stat .k{font-size:12px;color:var(--dim)}.stat .v{font-size:22px;font-weight:700;color:var(--heading);font-family:var(--font-serif)}.result-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0}.result-box b{color:var(--heading)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.seg button{border:0;background:var(--bg);padding:8px 16px;font-size:14px;color:var(--text)}.seg button[aria-pressed=true]{background:var(--acc);color:var(--on-acc);font-weight:700}.err-text{color:var(--err);font-size:13px;margin-top:6px}.ok-text{color:#5e7052;font-size:13px;margin-top:6px}.mini-table td,.mini-table th{padding:5px 9px}canvas.qr{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.hwpx-doc{background:#e9e2d2;padding:16px;border-radius:8px;overflow:auto;margin-top:12px}.hwpx-paper{background:#fff;color:#000;margin:0 auto 16px;box-shadow:0 1px 4px var(--shadow);box-sizing:border-box;font-family:Malgun Gothic,맑은 고딕,Apple SD Gothic Neo,serif;font-size:10pt;line-height:1.6;white-space:pre-wrap;word-break:break-all}.hwpx-paper .hp{min-height:1em}.hwpx-paper .hp.pb{border-top:1px dashed var(--faint);margin-top:12px;padding-top:12px;break-before:page}.hwpx-paper table.hp-tbl{border-collapse:collapse;table-layout:fixed;margin:4px 0;width:auto;font-size:inherit}.hwpx-paper table.hp-tbl td{white-space:pre-wrap}.hwpx-paper img{max-width:100%}.hp-box{border:1px solid #999;padding:4px;display:inline-block;vertical-align:top}.hp-ph{color:#999;font-size:11px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.toolbar .info{font-size:12.5px;color:var(--dim);margin-left:auto}.tbl-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:12px 0;background:var(--panel)}.tbl-card h3{margin:0 0 8px;font-size:15px}.tbl-preview{overflow:auto;max-height:220px;background:#fff;border-radius:6px}.tbl-preview table{margin:0;font-size:12px}@media print{.site-header,.trust,.site-footer,.promo,.after-promo,.home-promo,.no-print,.prose,.tool-title,.sub{display:none!important}body{background:#fff}.hwpx-doc{background:none;padding:0;margin:0;zoom:1!important;overflow:visible}.hwpx-paper{box-shadow:none;margin:0!important;width:auto!important;min-height:0!important;padding:0!important}@page{size:A4;margin:15mm}}.promo{margin-top:40px}.promo-link{display:flex;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px var(--shadow)}.promo-link:hover{border-color:var(--acc)}.promo-qr{flex:0 0 84px;width:84px;height:84px;border-radius:8px;border:1px solid var(--line)}.promo-txt{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:var(--dim)}.promo-txt b{color:var(--heading);font-size:15px}.promo-txt em{font-style:normal;color:var(--acc-text);font-weight:700}.promo-txt small{font-size:12px;color:var(--acc-text)}.after-promo{display:block;margin-top:12px;padding:9px 12px;text-align:center;font-size:13px;text-decoration:none;color:var(--dim);background:var(--panel2);border:1px solid var(--line);border-radius:10px}.after-promo span{color:var(--acc-text);font-weight:700;margin-left:4px}.after-promo:hover{border-color:var(--acc)}.home-promo{display:inline-block;margin:-6px 0 6px;font-size:13.5px;color:var(--dim);text-decoration:none}.home-promo span{color:var(--acc-text);font-weight:700;margin-left:4px;border-bottom:1px dashed var(--acc)}.home-promo:hover span{border-bottom-style:solid}.foot-links{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px}.foot-links a{color:var(--dim);text-decoration:none;font-size:13px}.foot-links a:hover{color:var(--acc-text)}
