@font-face{font-family:Pen;src:url('./assets/fonts/NanumPenScript-Regular.ttf')}@font-face{font-family:Myeongjo;src:url('./assets/fonts/NanumMyeongjo-Regular.ttf')}@font-face{font-family:Nanum;src:url('./assets/fonts/NanumGothic-Regular.ttf')}
:root{font-family:-apple-system,BlinkMacSystemFont,'Nanum',sans-serif;color:#30372f;background:#faf9f5;font-synthesis:none;--green:#3d5144;--muted:#82877c;--border:#e4e5dc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label.upload-button{ -webkit-tap-highlight-color:transparent}button,.upload-button,select{cursor:pointer}button{transition:background .15s,transform .15s}button:hover,.upload-button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}:focus-visible{outline:2px solid #738b69;outline-offset:3px}header{height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{text-decoration:none;color:var(--green);display:flex;align-items:center;gap:13px;font-size:21px;font-weight:750;letter-spacing:2px}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;font-family:Myeongjo,serif;font-size:21px;width:38px;height:38px;border-radius:9px;letter-spacing:0}.brand-sub{font-size:12px;font-weight:400;letter-spacing:0;color:#93988e;border-left:1px solid #d9ddd2;padding-left:16px;margin-left:5px}.local-badge{font-size:12px;color:#687961;background:#eef1e8;padding:9px 13px;border-radius:20px}.local-badge i{display:inline-block;width:6px;height:6px;background:#7a8d70;border-radius:50%;margin-right:6px}main{max-width:1440px;padding:42px 5% 60px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#8b9584;font-weight:600}h1{font-family:Myeongjo,serif;font-size:32px;font-weight:400;margin:14px 0}p{line-height:1.65}.intro p{font-size:13px;color:#83877e;margin:0}.intro-note{font-family:Pen,cursive;font-size:25px;color:#8c957e;transform:rotate(-7deg);margin:0 40px;line-height:1.1}.intro-note span{font-size:35px;display:block;text-align:right}.workspace{display:grid;grid-template-columns:325px minmax(0,1fr);align-items:start;gap:28px}.controls{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.control-section{padding:24px;border-bottom:1px solid #eeeee7}h2{font-size:14px;margin:0 0 22px;display:flex;gap:10px;align-items:center}h2 span{font-size:10px;font-weight:500;background:#eef1e9;color:#7a896e;border-radius:4px;padding:5px}label{display:block;font-size:11px;font-weight:600;margin:16px 0 8px;color:#62695e}input:not([type=range],[type=checkbox],[type=file]),select,textarea{width:100%;border:1px solid #dedfd5;border-radius:6px;background:#fff;padding:11px;color:#4c5548;font-size:12px}select{padding-right:23px}textarea{resize:vertical;min-height:155px;line-height:1.85}.select-row{display:flex;gap:6px}.icon-button{border:1px solid var(--border);border-radius:5px;background:#fff;color:#7b8273;width:31px;flex-shrink:0}.icon-button:disabled{opacity:.35;cursor:default}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row span,.label-row output{font-size:10px;color:#8b9480;font-weight:400}.button-row{display:flex;gap:8px;margin-top:10px}.secondary,.upload-button{border:1px solid #dfe2d6;background:#fff;color:#626f58;font-size:11px;padding:10px 13px;border-radius:6px;font-weight:500;margin:0;display:inline-flex;align-items:center;justify-content:center}.button-row>*{flex:1;white-space:nowrap}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-input:focus-visible+*{outline:2px solid #738b69}.hint{font-size:10px;color:#91968a;margin:9px 0 0}.font-sample{font-family:Pen;font-size:28px;text-align:center;background:#f8f9f4;border:1px solid #ecede6;border-radius:6px;padding:15px 4px;margin:10px 0}.wide{width:100%;justify-content:space-between;padding:10px}.wide small{font-size:8px;color:#939a8b}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-col select{font-size:10px;padding-left:7px}input[type=range]{width:100%;accent-color:var(--green);height:4px;margin:9px 0 6px}input[type=checkbox]{accent-color:var(--green)}.check-label{display:flex;align-items:center;gap:6px;font-weight:400}.storage-note{display:flex;padding:18px 21px;gap:10px;background:#f8f9f5;color:#89907f;align-items:center}.storage-note p{font-size:10px;margin:0}.preview-panel{background:#f0f1eb;border:1px solid #e0e3d8;border-radius:12px;overflow:hidden;min-width:0}.preview-toolbar{padding:18px 23px;background:#fcfcf9;border-bottom:1px solid #dfe3d6;display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-toolbar strong{font-size:12px}.paper-badge{font-size:9px;margin-left:12px;border:1px solid #e2e4dc;border-radius:4px;padding:4px 7px;color:#8c9384}.actions{display:flex;gap:8px}.primary{background:var(--green);color:white;font-size:11px;border:1px solid var(--green);border-radius:6px;padding:11px 15px}.primary:disabled{opacity:.6;cursor:wait}.preview-info{display:flex;justify-content:space-between;padding:20px 29px;font-size:10px;color:#8c9581}.legend-dot{display:inline-block;background:#99a68e;width:5px;height:5px;border-radius:50%;margin-right:6px}.pages{padding:0 35px 30px;display:flex;flex-direction:column;gap:24px;align-items:center}.sheet{width:100%;max-width:700px;background:white;box-shadow:0 4px 14px #3d514414;line-height:0}.sheet svg{width:100%;height:auto}.preview-footer{font-size:9px;color:#8c9482;text-align:center;padding:0 16px 24px;line-height:1.7}.preview-footer span{display:block}footer{border-top:1px solid var(--border);padding:24px 5%;color:#a0a595;font-size:10px}footer span{font-size:12px;color:#78836d;margin-right:13px}#status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#35473d;color:#fff;padding:13px 23px;border-radius:8px;font-size:12px;box-shadow:0 4px 18px #0002;max-width:90vw;z-index:5}#status:empty{display:none}@media(min-width:1100px){.preview-panel{position:sticky;top:20px}}@media(max-width:1000px){.workspace{grid-template-columns:290px minmax(0,1fr);gap:18px}.control-section{padding:20px}.preview-toolbar{flex-wrap:wrap;padding:16px}.pages{padding:0 18px 20px}.preview-info{padding:16px;font-size:9px}.paper-badge{margin-left:5px}}@media(max-width:720px){header{height:70px;padding:0 20px}.brand-sub{display:none}.brand{font-size:17px;gap:9px}.local-badge{font-size:9px;padding:8px}main{padding:30px 18px}.intro-note{display:none}h1{font-size:27px}.intro p{font-size:11px}.workspace{grid-template-columns:1fr}.controls{width:100%}.control-section{padding:22px}.preview-toolbar{gap:12px}.preview-info{padding:16px}.pages{padding:0 12px 20px}.preview-panel{min-height:0}.intro{margin-bottom:24px}footer{line-height:1.8}.preview-toolbar .actions{margin-left:auto}}
@page{size:A4 portrait;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:white}header,.intro,.controls,.preview-toolbar,.preview-info,.preview-footer,footer,#status{display:none!important}main,.workspace,.preview-panel,.pages{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:white!important;position:static!important}.sheet{width:210mm!important;height:297mm!important;max-width:none!important;margin:0!important;box-shadow:none!important;break-after:page;break-inside:avoid}.sheet:last-child{break-after:auto}.sheet svg{width:210mm;height:297mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.upload-button:has(+input:focus-visible),.button-row:has(input:focus-visible) .upload-button{outline:2px solid #738b69;outline-offset:3px}
