:root{--navy:#17253d;--ink:#1c2940;--muted:#6a778c;--blue:#456fae;--line:#e3e9f0;--surface:#f4f6f9;--white:#fff;font-family:Inter,"Segoe UI","Noto Sans KR",Arial,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}h1,h2,h3,p{margin:0}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #7eabed;outline-offset:2px}.skip-link{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;padding:8px}.skip-link:focus{left:8px}.topbar{height:72px;padding:0 clamp(20px,4vw,64px);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:750;font-size:18px;letter-spacing:-.5px;white-space:nowrap}.brand img{border-radius:9px}.brand-divider{height:21px;border-left:1px solid #ced7e3;margin:0 3px}.product-name{font-weight:500;color:#52657f;font-size:14px;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:18px}.privacy-badge{font-size:11px;color:#5b758b;background:#eef5f8;border-radius:99px;padding:8px 12px;white-space:nowrap}.privacy-badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5e9d89;margin-right:7px;vertical-align:middle}.language-button{background:#fff;border:1px solid #cbd5e2;border-radius:7px;color:var(--navy);font-size:12px;font-weight:750;min-width:43px;height:34px}.workspace{max-width:1760px;margin:auto;padding:42px clamp(20px,4vw,64px) 60px}.intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.eyebrow,.section-kicker{font-size:10px;color:var(--blue);font-weight:750;letter-spacing:1.75px}.eyebrow{margin-bottom:10px}.intro h1{font-size:clamp(27px,2.7vw,41px);line-height:1.2;letter-spacing:-1.5px;font-weight:700}.intro-copy{font-size:13px;color:var(--muted);margin-top:11px;line-height:1.6}.intro-aside{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px;white-space:nowrap;padding-bottom:4px}.step-number{font-size:11px;color:var(--blue);font-weight:700}.tool-layout{display:grid;grid-template-columns:minmax(390px,.88fr) minmax(560px,1.12fr);gap:26px;align-items:start}.editor-panel,.preview-panel{min-width:0}.editor-panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 40px #1b2b4410;overflow:hidden}.panel-head,.preview-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head{padding:24px 28px;border-bottom:1px solid var(--line)}.panel-head h2,.preview-controls h2{font-size:19px;letter-spacing:-.5px;margin-top:6px}.panel-count,.a4-badge{font-size:10px;color:#7e8ba0;border:1px solid #dce3ec;border-radius:99px;padding:6px 10px;white-space:nowrap}.editor-body{padding:0 28px}.form-section{padding:27px 0 30px;border-bottom:1px solid var(--line)}.form-section:last-child{border:0}.form-section-head{display:flex;gap:14px;align-items:start;margin-bottom:20px}.section-index{color:#8ca6c4;font-size:11px;font-weight:750;padding-top:4px}.form-section h3{font-size:15px;letter-spacing:-.2px}.form-section-head p{font-size:11px;color:#8290a2;margin-top:5px;line-height:1.5}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.field-grid label,.full-field,.item-fields label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:11px;color:#42516a;font-weight:650}.field-grid input,.full-field textarea,.item-fields input,.item-fields textarea{width:100%;border:1px solid #dbe3ed;background:#fbfcfe;border-radius:7px;color:var(--ink);padding:10px 11px;outline:0;font-size:12px;font-weight:400;line-height:1.45;min-height:40px}.field-grid input:focus,.full-field textarea:focus,.item-fields input:focus,.item-fields textarea:focus{border-color:#78a0d6;box-shadow:0 0 0 3px #e5effd;background:#fff}.field-grid input::placeholder,textarea::placeholder,.item-fields input::placeholder{color:#a0aab9}.full-field textarea,.item-fields textarea{resize:vertical;white-space:pre-wrap}.item-list{display:flex;flex-direction:column;gap:12px}.item-card{border:1px solid var(--line);border-radius:9px;background:#fcfdff;padding:15px}.item-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.item-card-title{font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-actions{display:flex;gap:5px}.item-actions button{width:28px;height:28px;border:1px solid #dce4ee;border-radius:5px;background:#fff;color:#5c6e85;line-height:1}.item-actions button:hover:not(:disabled){background:#edf3fa}.item-actions button[data-action="delete"]{color:#ad5f5f}.item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-fields .wide{grid-column:1/-1}.add-button{width:100%;margin-top:12px;min-height:40px;border:1px dashed #aebfd5;background:#f8fbff;border-radius:7px;color:#416b9d;font-size:12px;font-weight:650}.add-button:hover{background:#eaf3ff}.add-button span:first-child{font-size:19px;line-height:0;vertical-align:-1px;margin-right:5px}.preview-panel{position:sticky;top:20px}.preview-controls{margin:4px 0 16px}.preview-toolbar{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;box-shadow:0 5px 18px #1b2b4408}.template-wrap{display:flex;align-items:center;gap:10px;min-width:0}.toolbar-label{font-size:11px;color:#78879b;font-weight:650;white-space:nowrap}.template-options{display:flex;gap:3px;padding:3px;background:#f0f3f7;border-radius:6px}.template-options button{border:0;background:transparent;color:#64748a;font-size:11px;font-weight:650;padding:8px 10px;border-radius:4px;white-space:nowrap}.template-options button[aria-pressed=true]{background:#fff;color:#253f64;box-shadow:0 1px 4px #15243c20}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:37px;padding:8px 15px;background:linear-gradient(180deg,#253954,#14233a);color:#fff;border:1px solid #17253d;border-radius:6px;white-space:nowrap;font-size:11px;font-weight:700}.primary-button:hover{background:#30476b}.primary-button span:first-child{font-size:16px}.preview-stage{background:#e9eef4;border:1px solid #dce4ee;border-radius:10px;padding:24px 12px;overflow:auto;display:flex;justify-content:center;align-items:flex-start}.resume-sheet{--accent:#203b5d;background:#fff;color:#1c2837;width:210mm;min-width:210mm;min-height:297mm;padding:18mm;box-shadow:0 10px 35px #17253d20;font-family:"Segoe UI","Noto Sans KR",Arial,sans-serif;font-size:9.5pt;line-height:1.55;overflow-wrap:anywhere;word-break:normal;line-break:strict}.resume-sheet *{box-sizing:border-box}.resume-header{padding-bottom:8mm;border-bottom:1.2px solid var(--accent)}.resume-name{font-size:27pt;font-weight:750;line-height:1.15;letter-spacing:-1.1px;word-break:keep-all}.resume-role{font-size:11pt;color:var(--accent);margin-top:3mm;font-weight:650}.resume-contact{display:flex;flex-wrap:wrap;gap:1mm 5mm;margin-top:6mm;color:#566174;font-size:8.5pt}.resume-contact span{overflow-wrap:anywhere}.resume-section{margin-top:9mm}.resume-section-title{font-size:9pt;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:3.5mm;break-after:avoid}.resume-summary{white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.resume-entry{margin:0 0 6mm;break-inside:avoid-page;page-break-inside:avoid}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:4mm}.entry-title{font-size:10pt;font-weight:750;line-height:1.35;word-break:keep-all}.entry-date{font-size:8.2pt;color:#697789;text-align:right;white-space:nowrap}.entry-subtitle{color:#50647d;font-size:9pt;margin-top:1mm;font-weight:600}.entry-description{white-space:pre-wrap;margin-top:2.2mm;line-height:1.55;overflow-wrap:anywhere}.resume-skills{display:flex;flex-wrap:wrap;gap:2mm}.resume-skill{font-size:8.5pt;border:1px solid #d7e0e9;border-radius:3px;padding:1.1mm 2.3mm;break-inside:avoid}.resume-empty{height:215mm;display:flex;align-items:center;justify-content:center;text-align:center;color:#9aa8b8;font-size:11pt}.utility-bar{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.utility-bar button{border:0;background:transparent;color:#536981;font-size:11px;padding:8px 10px;border-radius:4px}.utility-bar button:hover{background:#e8eff8;color:#274c7a}.utility-bar .danger-text{margin-left:auto;color:#a26767}.privacy-note{font-size:10px;color:#8996a6;line-height:1.6;margin:8px 8px 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#17253d;color:white;border-radius:7px;padding:10px 16px;font-size:12px;box-shadow:0 8px 24px #17253d30;transition:opacity .2s,transform .2s;z-index:20;max-width:min(440px,calc(100% - 32px));text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.confirm-dialog{border:1px solid var(--line);border-radius:12px;max-width:390px;width:calc(100% - 32px);padding:26px;box-shadow:0 20px 60px #17253d30}.confirm-dialog::backdrop{background:#17253d88}.confirm-dialog h2{font-size:18px}.confirm-dialog p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dialog-actions button:first-child{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 16px;color:var(--ink);font-size:12px}.template-modern{--accent:#24627c}.template-modern .resume-header{background:#173a51;color:#fff;padding:8mm;margin:0 0 8mm;border:0}.template-modern .resume-role,.template-modern .resume-contact{color:#d9e9ef}.template-modern .resume-section-title{border-left:3px solid #5fa9b2;padding-left:3mm;letter-spacing:.5px;font-size:10pt}.template-modern .resume-skill{background:#eaf3f4;border-color:#eaf3f4;color:#245d6c}.template-editorial{--accent:#815b46;font-family:Georgia,"Noto Serif KR","Batang",serif;color:#302c29}.template-editorial .resume-header{text-align:center;border-top:2px solid #815b46;border-bottom:1px solid #d8c9bd;padding:9mm 0}.template-editorial .resume-name{font-family:Georgia,"Noto Serif KR","Batang",serif;font-size:30pt;font-weight:500;letter-spacing:-.5px}.template-editorial .resume-role{font-size:10pt;letter-spacing:1.4px;text-transform:uppercase;font-weight:400}.template-editorial .resume-contact{justify-content:center;color:#706960}.template-editorial .resume-section-title{font-size:10pt;letter-spacing:1.2px;border-bottom:1px solid #d8c9bd;padding-bottom:2mm}.template-editorial .entry-title{font-weight:650}.template-editorial .resume-skill{border-color:#d8c9bd;border-radius:0}
@media(max-width:1280px){.tool-layout{grid-template-columns:minmax(350px,.8fr) minmax(500px,1.2fr);gap:18px}.preview-stage{justify-content:flex-start}}
@media(max-width:1020px){.tool-layout{display:block}.preview-panel{position:static;margin-top:30px}.preview-stage{justify-content:center}.resume-sheet{transform:none;margin:0}.intro-aside{display:none}}
@media(max-width:760px){.topbar{height:62px;padding:0 16px}.brand{font-size:15px;gap:7px}.brand img{width:28px;height:28px}.product-name{font-size:12px}.privacy-badge{display:none}.workspace{padding:25px 16px 42px}.intro{margin-bottom:22px}.intro h1{font-size:28px;letter-spacing:-.8px}.intro-copy{font-size:12px}.panel-head{padding:20px}.editor-body{padding:0 20px}.field-grid{gap:13px}.preview-controls{margin-top:0}.preview-toolbar{flex-wrap:wrap}.template-wrap{width:100%;justify-content:space-between}.template-options{flex:1;justify-content:space-around}.template-options button{padding:8px 5px;flex:1}.preview-toolbar .primary-button{width:100%}.preview-stage{display:block;padding:12px;overflow-x:auto}.utility-bar .danger-text{margin-left:0}}
@media(max-width:420px){.brand-divider,.product-name{display:none}.field-grid{grid-template-columns:1fr}.item-fields{grid-template-columns:1fr}.item-fields .wide{grid-column:auto}.preview-stage{padding:10px}}
@page{size:A4;margin:18mm}
@media print{html,body{background:#fff!important;margin:0;padding:0}.no-print,.skip-link{display:none!important}.workspace,.tool-layout,.preview-panel,.preview-stage{display:block!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;box-shadow:none!important}.resume-sheet{width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;zoom:1!important;box-shadow:none!important;font-size:9.5pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-header{break-inside:avoid}.resume-section{break-inside:auto}.resume-entry{break-inside:avoid-page;page-break-inside:avoid}.resume-section-title{break-after:avoid-page}.template-modern .resume-header{margin:0 0 8mm!important;padding:8mm!important;background:#173a51!important}.template-modern .resume-contact,.template-modern .resume-role{color:#d9e9ef!important}.template-modern .resume-name{color:#fff!important}.template-editorial .resume-header{padding:9mm 0}}

/* Resume text stays at the same size on screen and on paper. */
.resume-sheet{font-size:10pt;line-height:1.5}
.resume-contact{font-size:9.5pt}
.resume-contact a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.resume-section-title{font-size:9.5pt}
.entry-title{font-size:10.5pt}
.entry-date{font-size:9pt}
.entry-subtitle{font-size:9.5pt}
.resume-entry{margin-bottom:5mm}
.resume-skill{font-size:9pt}
@media print{
  .resume-sheet{font-size:10pt!important}
  .resume-entry.long-entry{break-inside:auto;page-break-inside:auto}
  .entry-head,.entry-subtitle{break-after:avoid-page;page-break-after:avoid}
  .entry-description,.resume-summary{orphans:3;widows:3}
}

/* Screen-only editor refinements; resume and print typography are unchanged. */
@media screen{
  .intro-value{margin-top:12px;color:#405d7d;font-size:13px;font-weight:650;line-height:1.5}
  .intro-copy{margin-top:7px}
  .form-section{padding:24px 0 26px}
  .form-section h3{font-size:16px}
  .form-section-head p{font-size:12px;color:#66768b}
  .field-grid label,.full-field,.item-fields label{font-size:12px;color:#354760}
  .field-grid input,.full-field textarea,.item-fields input,.item-fields textarea{min-height:44px;padding:11px 12px;font-size:13px}
  .field-grid input::placeholder,textarea::placeholder,.item-fields input::placeholder{color:#8998aa}
  .item-card-title{font-size:13px}
  .item-actions button{width:44px;height:44px;font-size:17px}
  .add-button{min-height:44px;font-size:13px}
  .utility-bar button{min-height:44px;font-size:12px}
  .template-options button{font-size:12px;min-height:44px}
  .primary-button{min-height:44px;font-size:12px}
  .language-button{height:44px}
  .preview-stage{position:relative}
  .empty-preview-action{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:min(310px,calc(100% - 42px));text-align:center;color:#64758a}
  .empty-preview-action[hidden]{display:none!important}
  .empty-preview-action strong{font-size:19px;line-height:1.3;color:#263b57}
  .empty-preview-action p{font-size:13px;line-height:1.6;margin-top:8px}
  .empty-preview-action button{min-height:46px;margin-top:20px;padding:11px 18px;font-size:13px}
}
@media screen and (max-width:760px){
  .intro-value{font-size:12px}
  .empty-preview-action{width:min(290px,calc(100% - 30px))}
  .empty-preview-action strong{font-size:17px}
  .empty-preview-action p{font-size:12px}
}
@media screen {.topbar a.brand{text-decoration:none}.topbar .brand img{width:47px;height:25px;object-fit:contain;border-radius:0}}
@media screen and (max-width:760px){.topbar .brand img{width:31px;height:20px}}
@media screen{.service-hub-link{display:inline-flex;align-items:center;min-height:44px;color:#52657f;text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap}.service-hub-link:hover{text-decoration:underline;text-underline-offset:4px}}
@media screen and (max-width:760px){.top-actions{gap:12px}}

/* R03 editor shell; the A4 document and print rules above are unchanged. */
@media screen{
  :root{--navy:#2c2522;--ink:#2c2522;--muted:#786d65;--blue:#d95850;--line:#e5ded3;--surface:#faf8f2;--white:#fffefa;font-family:"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
  .workspace{max-width:1350px;padding:40px clamp(18px,3.5vw,48px) 70px}
  .intro h1{font-family:Georgia,"Noto Serif CJK KR",Batang,serif;font-size:clamp(36px,4.4vw,62px);font-weight:500;line-height:1.14;letter-spacing:-.035em}
  .intro-copy{font-size:15px;line-height:1.7}.intro-value{color:var(--muted)}
  .tool-layout{grid-template-columns:minmax(350px,2fr) minmax(0,3fr);gap:24px}
  .editor-panel,.preview-toolbar{background:#fffefa;border-color:var(--line);box-shadow:0 14px 38px #2c25220d}
  .editor-panel{border-radius:20px}.panel-head{background:#f7f2e9}.preview-controls h2,.panel-head h2{font-size:21px}
  .form-section-head p,.privacy-note{color:var(--muted)}
  .field-grid label,.full-field,.item-fields label{color:var(--ink)}
  .field-grid input,.full-field textarea,.item-fields input,.item-fields textarea{background:#fffefa;border-color:#ded6ca;border-radius:10px;font-size:14px}
  .field-grid input:focus,.full-field textarea:focus,.item-fields input:focus,.item-fields textarea:focus{border-color:#d95850;box-shadow:0 0 0 3px #fce5dd;background:#fff}
  .item-card{background:#faf8f2;border-color:var(--line);border-radius:12px}
  .add-button{background:#fffefa;border-color:#d9b5a5;color:#9d4c46;border-radius:999px}
  .add-button:hover{background:#fce5dd}.template-options{background:#f3ede2;border-radius:999px}
  .template-options button{border-radius:999px}.template-options button[aria-pressed=true]{color:#9b403b}
  .primary-button{background:#ef6d65;border-color:#d95850;border-radius:999px;font-size:13px}.primary-button:hover{background:#d95850}
  .preview-stage{background:#efe9df;border-color:#e5ded3;border-radius:20px}
  .utility-bar button{color:#675d55}.utility-bar button:hover{background:#fce5dd;color:#9b403b}
  button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-color:#d95850}
}
@media screen and (max-width:1020px){.tool-layout{display:flex;flex-direction:column}.tool-layout>*{width:100%}.preview-panel{order:-1;margin-top:0}.editor-panel{order:1}}
@media screen and (max-width:760px){.workspace{padding:26px 18px 42px}.intro h1{font-size:clamp(36px,9vw,48px)}.intro-copy{font-size:14px}.preview-stage{padding:10px}}
@media screen{
  .resume-empty-layout{color:#2c2522}
  .resume-empty-mark{font-size:8pt;font-weight:700;letter-spacing:2px;color:#a95b53}
  .resume-empty-name-line{width:42%;height:24px;margin-top:38px;border-bottom:3px solid #2c2522}
  .resume-empty-meta-line{width:26%;height:10px;margin-top:13px;background:#e5ded3;border-radius:3px}
  .resume-empty-rule{height:1px;margin-top:26px;background:#d8cfc3}
  .resume-empty-section{font-size:9pt;font-weight:700;letter-spacing:1.4px;color:#a95b53;margin:174px 0 13px}
  .resume-empty-text-line{height:8px;width:82%;margin:11px 0;background:#e9e3d9;border-radius:3px}
  .resume-empty-text-line.short{width:58%}
  .resume-empty-text-line.short+.resume-empty-section{margin-top:36px}
  .preview-stage.is-empty .empty-preview-action{top:205px;transform:translateX(-50%);z-index:1;background:#fffefa;padding:18px 20px;border:1px solid #e5ded3;border-radius:15px;box-shadow:0 12px 30px #2c252214;color:#675d55}
  .preview-stage.is-empty .empty-preview-action strong{color:#2c2522}
}
@media screen and (max-width:760px){.preview-stage.is-empty .empty-preview-action{top:auto;bottom:24px;padding:14px}}

@media screen{
  .resume-guide{margin-top:40px;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fffefa;color:var(--ink)}
  .resume-guide h2{margin:0 0 10px;font-family:Georgia,"Noto Serif CJK KR",Batang,serif;font-size:clamp(24px,2.5vw,32px);font-weight:500;line-height:1.3}
  .resume-guide>p{margin:0;max-width:850px;color:var(--muted);font-size:14px;line-height:1.7}
  .resume-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}
  .resume-guide-grid>div{border-top:1px solid var(--line);padding-top:18px}
  .resume-guide h3{margin:0 0 8px;font-size:16px;line-height:1.5}
  .resume-guide-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
  .resume-guide a{color:#9b403b;text-underline-offset:3px}
  .resume-guide .resume-guide-privacy{max-width:none;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}
}
@media screen and (max-width:760px){.resume-guide{margin-top:28px;padding:22px 18px}.resume-guide-grid{grid-template-columns:1fr;gap:18px;margin-top:20px}}
.builder-jump{display:none}
.resume-example-notice{padding:10px 12px;background:#f6eee2;color:#523e32;font-size:.86rem;line-height:1.5}
.dialog-actions{flex-wrap:wrap}
@media screen and (max-width:1020px){
  .builder-jump{display:inline-flex;align-items:center;min-height:44px;color:#694036;font-size:.9rem;font-weight:650}
  #editor,#preview-heading{scroll-margin-top:90px}
}
