@font-face{font-family:"Noto Serif KR";src:url("./fonts/NotoSerifKR-Regular.otf");font-weight:400;font-display:block}@font-face{font-family:"Noto Serif KR";src:url("./fonts/NotoSerifKR-Bold.otf");font-weight:700;font-display:block}
@font-face{font-family:Pretendard;src:url('./fonts/Pretendard-Regular.otf');font-display:swap;font-weight:400}@font-face{font-family:Pretendard;src:url('./fonts/Pretendard-Bold.otf');font-display:swap;font-weight:700}
:root{color-scheme:light;--bg:#f7f8f6;--paper:#fff;--ink:#1d2925;--muted:#6d7872;--line:#dce2dc;--accent:#245746;--soft:#eaf0e9;--error:#a22929}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .15s,color .15s}button[hidden],[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:15px;z-index:10;padding:14px;background:white}.skip:focus{top:12px}
.topbar{height:78px;padding:0 4%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px;background:var(--paper)}.brand{text-decoration:none;display:flex;align-items:center;gap:15px;white-space:nowrap}.brand b{font-size:27px;letter-spacing:-2px}.brand span{padding-left:15px;border-left:1px solid var(--line);font-size:15px;font-weight:700}.local-note{margin-left:auto;color:var(--muted);font-size:12px}.text-button{border:0;background:none;color:var(--accent);padding:8px 0;font-size:12px;font-weight:700}.text-button:hover{color:#112e24;text-decoration:underline}.intro{max-width:1510px;margin:auto;display:flex;justify-content:space-between;align-items:flex-end;padding:37px 4% 30px;gap:24px}.eyebrow{font-size:12px;color:var(--accent);font-weight:700;margin:0 0 13px}h1{font-size:clamp(27px,2.8vw,40px);line-height:1.3;letter-spacing:-1.5px;margin:0;font-weight:700}.intro-copy{margin:0 0 4px;color:var(--muted);line-height:1.8;font-size:14px}
.workspace{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);max-width:1390px;margin:0 auto;border:1px solid var(--line);background:var(--paper);min-height:700px}.editor{padding:25px 28px;border-right:1px solid var(--line)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}h2{font-size:15px;margin:0;font-weight:700;letter-spacing:-.3px}.template{display:flex;gap:13px;align-items:center;padding:16px;background:var(--soft);margin-bottom:24px;border-left:3px solid var(--accent)}.paper-icon{font-size:29px;color:var(--accent)}.template strong{font-size:13px}.template p{margin:5px 0 0;font-size:11px;color:var(--muted)}.selected{margin-left:auto;color:var(--accent);font-size:10px;white-space:nowrap;font-weight:700}label{font-size:12px;font-weight:700;display:block;margin:0 0 8px}input,textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:11px 12px;color:var(--ink);line-height:1.5}input::placeholder,textarea::placeholder{color:#97a099}input:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px #24574618}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 17px}.body-label{display:flex;align-items:center;justify-content:space-between}.body-label label{margin:0}.body-label .text-button{font-size:11px}textarea{resize:vertical;min-height:265px;font-size:13px;line-height:1.9}.input-info{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin-top:8px;gap:10px}.syntax{font-size:11px;margin:18px 0;color:var(--muted)}.syntax summary{cursor:pointer;padding:5px 0;color:var(--ink)}.syntax p{line-height:1.8;margin:8px 0}.syntax code,.syntax pre{font:11px/1.7 Pretendard,monospace;background:var(--bg);padding:2px 4px}.syntax>div{padding:5px 0 0}.form-actions{display:flex;gap:14px;align-items:center;margin-top:19px}.primary{background:var(--accent);color:white;border:1px solid var(--accent);padding:13px 16px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:28px;font-weight:700;font-size:13px;flex:1}.primary:hover{background:#193f32}.primary:disabled{opacity:.7}.secondary,.icon-button{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:9px 11px;border-radius:4px;font-size:11px;white-space:nowrap}.secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--soft)}.status{font-size:11px;line-height:1.7;margin:13px 0 0;color:var(--muted);min-height:20px}.status.error{color:var(--error)}.status.success{color:var(--accent)}
.preview{background:#eef1ed;min-width:0;display:flex;flex-direction:column}.preview-toolbar{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);gap:12px;background:#fbfcfa}.preview-toolbar>div{display:flex;align-items:center;gap:12px}.preview-toolbar #page-count{font-size:10px;color:var(--muted)}.preview-toolbar .downloads{gap:7px}.preview-scroll{height:660px;overflow:auto;padding:26px;scrollbar-width:thin}.empty-preview{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);border:1px dashed #c9d2c8;background:#f5f7f3}.empty-symbol{font-size:70px;font-weight:400;color:#b3c2b3;line-height:1;margin-bottom:18px}.empty-preview h3{font-size:18px;font-weight:400;letter-spacing:-.5px;margin:0;color:#4c5d50}.empty-preview p{text-align:center;line-height:1.9;font-size:12px;margin:15px 0 22px}.document-page{margin:0 auto 24px;max-width:790px}.document-page svg{width:100%;height:auto;display:block;background:#fff;box-shadow:0 3px 15px #273d2610}.page-label{text-align:center;display:block;font-size:10px;color:var(--muted);padding-top:9px}.preview-note{font-size:10px;color:var(--muted);line-height:1.6;margin:0;padding:12px 24px;border-top:1px solid var(--line);background:#fbfcfa}.preview.stale .document-page svg{opacity:.45}.preview.stale #page-count{color:var(--error)}footer{max-width:1390px;margin:0 auto;padding:20px 0 25px;display:flex;gap:25px;justify-content:space-between;color:var(--muted);font-size:10px}footer a{margin-left:auto;text-decoration:none}footer a:hover{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:8px;max-width:560px;padding:28px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#16291b66}.dialog-head{display:flex;gap:20px;align-items:center;justify-content:space-between}dialog p,dialog li{font-size:13px;line-height:1.9}dialog ol{padding-left:20px}dialog p{color:var(--muted)}#print-pages{display:none}
@media(min-width:1500px){.intro{padding-left:60px;padding-right:60px}.preview-scroll{height:720px}}@media(max-width:1450px){.workspace,footer{margin-left:4%;margin-right:4%}.workspace{grid-template-columns:minmax(345px,40%) minmax(0,1fr)}.editor{padding:22px}.preview-toolbar{padding:0 17px}.preview-toolbar h2{font-size:13px}.preview-toolbar .downloads{gap:4px}.preview-toolbar .secondary,.preview-toolbar .icon-button{padding:8px}.preview-scroll{padding:20px}}
@media(max-width:1000px){.preview-toolbar{height:auto;min-height:82px;align-items:flex-start;justify-content:center;flex-direction:column;gap:10px;padding:14px}.local-note{font-size:10px}.preview-scroll{padding:15px}.editor{padding:20px}.input-info{font-size:9px}.intro-copy{font-size:12px}.intro{padding-top:28px}h1{font-size:29px}}
@media(max-width:760px){.topbar{height:64px;gap:16px}.brand b{font-size:24px}.brand span{font-size:13px}.local-note{display:none}.topbar>.text-button{margin-left:auto}.intro{display:block;padding:27px 5% 25px}.intro-copy{margin-top:15px;line-height:1.7}.intro-copy br{display:none}.eyebrow{margin-bottom:10px}.workspace{display:block;margin:0 4%;min-height:0}.editor{border-right:0;border-bottom:1px solid var(--line);padding:22px 20px}.template{margin-bottom:20px}textarea{min-height:260px}.preview-toolbar{flex-direction:row;justify-content:space-between;align-items:center;min-height:65px}.preview-toolbar>div{gap:7px}.preview-toolbar .secondary,.preview-toolbar .icon-button{font-size:10px;padding:8px 6px}.preview-toolbar h2{font-size:12px}.preview-scroll{height:auto;max-height:75dvh;padding:17px}.empty-preview{min-height:360px}.preview-note{padding:13px 18px}.intro h1{font-size:30px}footer{padding:19px 0;flex-wrap:wrap;gap:12px}footer>span:nth-child(2){display:none}dialog{margin:20px;padding:22px}.input-info{font-size:10px}}
@page{size:210mm 297mm;margin:0}@media print{body>*{display:none!important}#print-pages{display:block!important}#print-pages .print-page{width:210mm;height:297mm;break-after:page;page-break-after:always;overflow:hidden;margin:0;padding:0}#print-pages .print-page:last-child{break-after:auto;page-break-after:auto}#print-pages svg{width:210mm;height:297mm;display:block}body{margin:0;background:white}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Font aliases affect browser preview only; native document font references are preserved. */
@font-face{font-family:"함초롬바탕";src:url('./fonts/NotoSerifKR-Regular.otf');font-weight:400;font-display:block}
@font-face{font-family:"함초롬바탕";src:url('./fonts/NotoSerifKR-Bold.otf');font-weight:700;font-display:block}
@font-face{font-family:"HY헤드라인M";src:url('./fonts/Pretendard-Bold.otf');font-weight:400 900;font-display:block}
@font-face{font-family:"HY울릉도M";src:url('./fonts/Pretendard-Regular.otf');font-display:block}
@font-face{font-family:"나눔고딕";src:url('./fonts/Pretendard-Regular.otf');font-weight:400;font-display:block}
@font-face{font-family:"나눔고딕";src:url('./fonts/Pretendard-Bold.otf');font-weight:700;font-display:block}
.input-info{flex-wrap:wrap;line-height:1.7}.syntax ol{padding-left:18px;line-height:1.9}
