:root{--brand:#194f82;--ink:#17212b;--muted:#667381;--line:#dce2e8;--surface:#f3f5f7}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#e9edf1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{text-decoration:none;color:#14263b;font-weight:800;font-size:22px}.brand span{color:#2f80c9}.top-actions{display:flex;align-items:center;gap:10px}select,input,textarea{font:inherit}select{border:1px solid var(--line);border-radius:9px;padding:10px;background:white}.btn{border:0;border-radius:9px;padding:11px 17px;font-weight:700;cursor:pointer}.btn.primary{background:#1769aa;color:white}.btn.secondary{background:#eef3f7;color:#23415c}.app-shell{height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(400px,540px) 1fr}.editor{background:#fff;overflow:auto;padding:32px 38px}.intro h1{font-size:27px;line-height:1.15;margin:7px 0}.intro p{color:var(--muted);margin:0 0 22px}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;color:#168058;letter-spacing:.08em}.steps{display:flex;overflow:auto;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:25px}.step{border:0;background:transparent;color:#7a8793;min-width:38px;cursor:pointer;padding:0}.step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf1f4;margin:auto}.step span{display:none}.step.active b{background:#1769aa;color:#fff}.panel{display:none}.panel.active{display:block}.panel h2{font-size:20px;margin:0 0 20px}.panel-head{display:flex;justify-content:space-between;align-items:center}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}label{display:block;margin-bottom:17px}label>span{font-size:12px;font-weight:700;display:block;margin-bottom:7px}input:not([type=checkbox]):not([type=color]),textarea{width:100%;border:1px solid #ccd5dd;border-radius:8px;padding:11px 12px;outline:none;background:#fff}textarea{resize:vertical}input:focus,textarea:focus{border-color:#2979b9;box-shadow:0 0 0 3px #2979b91a}.photo-row{display:flex;align-items:center;gap:14px;margin-bottom:22px}.photo-preview{height:70px;width:70px;border-radius:50%;background:#edf1f4;display:grid;place-items:center;font-size:25px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.upload{color:#1769aa;cursor:pointer;font-weight:700}.upload input{display:none}.mini-add{border:0;background:#e9f2f9;color:#1769aa;padding:8px 10px;border-radius:8px;font-weight:700;cursor:pointer}.repeat-card{position:relative;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:15px;background:#fbfcfd}.repeat-card .remove{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#a34b4b;font-size:19px;cursor:pointer}.wide{width:100%}.toggle{display:flex;align-items:center;gap:9px}.toggle span{margin:0}.templates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.template{border:2px solid transparent;background:#f4f6f8;border-radius:10px;padding:10px;text-align:left;cursor:pointer}.template.active{border-color:#2780c2;background:#edf6fd}.template span{font-weight:700}.thumb{height:110px;background:#fff;display:block;margin-bottom:8px;border:1px solid #dce2e8;position:relative}.thumb:before{content:"";position:absolute;inset:10px;background:repeating-linear-gradient(#7c8790 0 3px,transparent 3px 11px);opacity:.35}.thumb.executive{border-left:34px solid #194f82}.thumb.modern{border-top:30px solid #355c7d}.thumb.minimal{border-top:8px solid #222}.thumb.creative{border-left:34px solid #7656a7}.workspace{min-width:0;background:#dfe4e8;overflow:auto}.workspace-bar{height:54px;background:#f8fafb;border-bottom:1px solid #d2d8de;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:13px;font-weight:700}.icon-btn{height:30px;width:30px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}.paper-stage{padding:36px;min-height:calc(100% - 54px);display:flex;justify-content:center;align-items:flex-start}.resume{--accent:var(--brand);width:210mm;min-height:297mm;background:#fff;box-shadow:0 6px 24px #31404f2c;transform-origin:top center;color:#27313b;font-size:10.4pt;line-height:1.45}.resume .cv-grid{min-height:297mm;display:grid;grid-template-columns:34% 66%}.resume .side{background:var(--accent);color:#fff;padding:16mm 9mm}.resume .main{padding:18mm 13mm}.resume .avatar{width:34mm;height:34mm;border-radius:50%;object-fit:cover;display:block;margin:0 auto 9mm;border:2px solid #fff}.resume h1{font-size:25pt;line-height:1.05;margin:0;color:var(--accent)}.resume .role{text-transform:uppercase;letter-spacing:.12em;font-size:8.5pt;font-weight:700;margin:3mm 0 10mm}.resume h2{font-size:10pt;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid currentColor;padding-bottom:2mm;margin:8mm 0 4mm}.resume .main h2{color:var(--accent);border-bottom-color:#cad4dc}.resume p{margin:0 0 3mm}.resume .item{margin-bottom:5mm;break-inside:avoid}.resume .item-head{font-weight:800}.resume .date{font-size:8.5pt;color:#71808d}.resume .side .date{color:#d9e5ef}.resume ul{padding-left:4mm;margin:2mm 0}.resume .contact{font-size:8.7pt;overflow-wrap:anywhere}.resume .chips{display:flex;flex-wrap:wrap;gap:2mm}.resume .chip{font-size:8.4pt;background:#ffffff20;border:1px solid #ffffff44;padding:1.3mm 2mm;border-radius:4px}.resume .qr{background:white;padding:2mm;width:max-content;margin-top:5mm}.resume.modern .cv-grid{display:block}.resume.modern .side{background:#f1f5f8;color:#2c3b48;padding:9mm 14mm;display:grid;grid-template-columns:35mm 1fr;gap:8mm}.resume.modern .main{padding:10mm 16mm}.resume.modern .avatar{margin:0}.resume.modern .side h2{color:var(--accent)}.resume.modern .side-content{display:grid;grid-template-columns:1fr 1fr;gap:4mm 10mm}.resume.modern .chip{background:#fff;border-color:#ced8df}.resume.minimal .cv-grid{grid-template-columns:29% 71%}.resume.minimal .side{background:#fff;color:#2c3339;border-right:1px solid #dce2e8}.resume.minimal .main{padding-top:17mm}.resume.minimal .side h2,.resume.minimal h1,.resume.minimal .main h2{color:#222}.resume.minimal .chip{border-color:#cfd6dc}.resume.minimal .avatar{border-color:#222}.resume.creative .side{background:#f1eafb;color:#2b2532}.resume.creative h1,.resume.creative .main h2,.resume.creative .side h2{color:var(--accent)}.resume.creative .avatar{border-radius:10px;border-color:var(--accent)}.resume.creative .chip{background:#fff;border-color:#d7cae6}.mobile-download{display:none}dialog{border:0;border-radius:14px;max-width:460px;padding:28px;box-shadow:0 20px 60px #0004}dialog::backdrop{background:#14202b99}.dialog-close{float:right;border:0;background:transparent;font-size:26px;cursor:pointer}.dialog-ok{margin-top:10px}@media(max-width:1050px){.app-shell{display:block;height:auto}.editor{overflow:visible}.workspace{overflow:visible}.paper-stage{overflow:auto;justify-content:flex-start}.resume{transform:scale(.75);margin-right:-25%;margin-bottom:-25%}.workspace-bar{display:none}.mobile-download{display:block;position:sticky;bottom:12px;margin:12px auto}.top-actions .primary{display:none}}@media(max-width:600px){.topbar{padding:0 14px}.top-actions{gap:5px}.top-actions .secondary{display:none}.editor{padding:25px 18px}.grid.two{grid-template-columns:1fr}.paper-stage{padding:15px}.resume{transform:scale(.47);margin-right:-53%;margin-bottom:-53%}}
