*{box-sizing:border-box}[hidden]{display:none!important}:root{font-family:Inter,"Segoe UI",sans-serif;color:#252638;background:#f2f2f8;font-synthesis:none}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,.button:focus-visible,[contenteditable]:focus-visible{outline:2px solid #8277ef;outline-offset:2px}
.topbar{min-height:72px;background:#fff;border-bottom:1px solid #e6e5ef;display:flex;align-items:center;justify-content:space-between;padding:12px 30px;gap:16px;flex-wrap:wrap}.brand,.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:#5a50c8;border-radius:10px;font-weight:800}.brand-sub{font-size:12px;color:#8a8b9b;border-left:1px solid #e5e5ee;padding-left:12px;margin-left:4px}.button{border:1px solid #dedde9;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700;background:white;color:#44455d;text-decoration:none}.button.primary{background:#5a50c8;border-color:#5a50c8;color:white}.button:hover{filter:brightness(.96)}
main{padding:25px 24px 30px}.workspace-header{max-width:1100px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:end;gap:12px}.workspace-header h1{font-size:22px;letter-spacing:-.03em;margin:6px 0}.workspace-header p,.hint{color:#858698;font-size:12px;line-height:1.5;margin:0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#8989a1}.document-switch{background:#e2e2ed;border-radius:9px;padding:4px;display:flex}.document-button{border:0;background:transparent;color:#77788d;border-radius:6px;padding:9px 15px;font-size:12px;font-weight:700}.document-button.active{background:#fff;color:#5149b5;box-shadow:0 1px 5px #0000000c}.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:1100px;margin:0 auto 16px;padding:12px;background:#fff;border:1px solid #e6e6ef;border-radius:10px}.tools label:not(.button){font-size:11px;font-weight:700;color:#646579;display:flex;align-items:center;gap:6px}.tools select,.dialog-label select{border:1px solid #e1e1ea;border-radius:6px;padding:7px;background:#fff;color:#42435a;font-size:12px}.tools input[type=color]{width:30px;height:29px;padding:2px;border:1px solid #e1e1ea;border-radius:5px;background:white}.tools input[type=range]{width:75px;accent-color:#5a50c8}.tools output{min-width:37px}.tool-divider{height:25px;width:1px;background:#e6e6ef}#status{max-width:1100px;margin:0 auto}#status:not(:empty){border-radius:8px;background:#fff0ed;color:#9d3e35;font-size:12px;line-height:1.5;padding:10px;margin-bottom:14px}.document-area{overflow:auto;padding:3px 4px 24px}.paper{--accent:#5a50c8;--doc-font:Arial,sans-serif;background:#fff;color:#30313c;width:210mm;min-height:297mm;margin:0 auto;padding:19mm 20mm 20mm;box-shadow:0 8px 35px #29294f18;font-family:var(--doc-font);font-size:10pt;line-height:1.45;overflow-wrap:anywhere}.hint{max-width:794px;margin:0 auto}
[contenteditable]{white-space:pre-wrap;min-width:1em;border-radius:2px;cursor:text}[contenteditable]:hover{background:#f4f2ff;box-shadow:0 0 0 3px #f4f2ff}[contenteditable]:focus{background:#f9f8ff;outline:1px solid #a69ef1}[contenteditable]:empty:before{content:attr(data-placeholder);color:#aaaab7;font-weight:400;font-style:italic}[contenteditable].block{display:block;min-height:1.45em}.resume-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid var(--accent);padding-bottom:18px;margin-bottom:20px}.resume-name{font-size:26pt;line-height:1.1;margin:0 0 5px;color:#252633;font-weight:bold}.headline{color:var(--accent);font-size:12pt;font-weight:600}.contact{display:flex;flex-wrap:wrap;gap:3px 14px;color:#777;font-size:9pt;margin-top:12px}.photo{object-fit:cover;flex:none;max-width:100%}.resume-sections{display:flex;flex-wrap:wrap;align-items:flex-start}.resume-section{padding:0 14px 14px 0;min-width:0}.section-heading{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e5e5e9;margin-bottom:10px}.section-title{flex:1;font-size:11pt;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:bold;padding-bottom:5px;min-width:0}.section-actions,.entry-actions{display:flex;gap:3px;flex:none}.icon-button{border:1px solid #e6e6ef;background:#fff;border-radius:5px;padding:3px 6px;color:#66677b;font-size:11px;cursor:pointer}.icon-button:disabled{opacity:.35}.section-card{break-inside:avoid}.section-drag{cursor:grab}.section-drag.dragging{opacity:.45}.resume-entry{margin:0 0 11px;break-inside:avoid}.entry-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.entry-title{font-weight:bold;flex:1}.entry-date{font-size:9pt;color:#777;max-width:40%;text-align:right}.entry-subtitle{color:#686976}.entry-description{margin:4px 0 0}.add-entry{border:1px dashed #c9c5e9;background:#faf9ff;color:#655bc6;border-radius:6px;padding:5px 8px;font-size:10px;cursor:pointer}.paper.template-classic .resume-header{border-bottom:1px solid var(--accent)}.paper.template-classic .section-title{text-transform:none;letter-spacing:0;font-size:13pt}.paper.template-minimal .resume-header,.paper.template-minimal .section-heading{border:0}
.paper.letter-paper{padding-top:0;position:relative}.letter-top{height:100mm;position:relative}.address-window{position:absolute;top:45mm;left:0;width:85mm;height:45mm}.return-address{height:9mm;font-size:7pt;line-height:1.2;overflow:hidden;padding-top:1mm}.recipient{font-size:10pt;line-height:1.3;min-height:30mm}.letter-info{position:absolute;top:45mm;right:0;width:65mm;font-size:9pt;color:#555;line-height:1.5}.letter-date{text-align:right;margin-bottom:10mm}.letter-subject{font-weight:bold;margin-bottom:8mm}.letter-body{line-height:1.6}.letter-salutation{margin-bottom:5mm}.letter-closing{margin-top:8mm}.letter-signature{margin-top:12mm}.address-warning{color:#a34237;font-size:11px;max-width:794px;margin:0 auto 8px}.letter-info .block{min-height:1.4em}
dialog{width:min(980px,95vw);max-height:90vh;border:0;border-radius:14px;padding:0;box-shadow:0 15px 70px #17172b55}dialog::backdrop{background:#19192999}.dialog-content{padding:24px}.dialog-heading{display:flex;justify-content:space-between}.dialog-heading h2{margin:5px 0;font-size:20px}.dialog-content p{color:#68697b;font-size:13px;line-height:1.5}.dialog-label{font-size:12px;font-weight:bold;display:flex;align-items:center;gap:10px}.import-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.import-columns h3{font-size:13px}.import-columns pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:38vh;overflow:auto;background:#f7f7fb;padding:12px;border-radius:8px;font:12px/1.5 "Segoe UI",sans-serif}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.import-warning{background:#fff8e9;padding:10px;border-radius:6px}
.field-menu{position:relative}.field-menu summary{list-style:none}.field-menu summary::-webkit-details-marker{display:none}.field-options{position:absolute;z-index:2;right:0;top:100%;display:flex;flex-direction:column;min-width:180px;padding:4px;background:#fff;border:1px solid #e6e6ef;border-radius:6px;box-shadow:0 5px 15px #20203b25}.field-options button{text-align:left;border:0;background:#fff;padding:7px;color:#44455d;font-size:11px;cursor:pointer}.field-options button:hover{background:#f4f2ff}.skill-rating{display:flex;align-items:center;gap:12px;margin:4px 0}.rating-display{font-size:9pt;color:#666}.rating-dots{color:var(--accent);letter-spacing:.08em}.rating-controls{display:flex;gap:6px;align-items:center;font-size:10px;color:#777}.rating-controls select{font-size:11px;border:1px solid #ddd;border-radius:4px;background:#fff;padding:3px}.portfolio-header{border-bottom:2px solid var(--accent);padding-bottom:14px;margin-bottom:20px}.portfolio-title{font-size:22pt;font-weight:bold;color:var(--accent)}.portfolio-name{font-size:10pt;color:#777}.work-entry{margin-bottom:20px;break-inside:avoid}.work-link{color:var(--accent);font-size:9pt}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#5e6076}.form-grid input,.form-grid select{width:100%;border:1px solid #e1e1ea;border-radius:6px;padding:9px;background:#fff}.document-choices{border:1px solid #e5e5ee;border-radius:8px;margin:16px 0;display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.document-choices label{display:flex;gap:5px;align-items:center}#current-recipient{white-space:pre-wrap;background:#f7f7fb;padding:10px;border-radius:6px;font:12px/1.5 "Segoe UI",sans-serif}#download-status:not(:empty){color:#9d3e35}.export-paper{box-shadow:none;margin:0;min-height:0}.export-paper [contenteditable]:empty:before{content:none}.export-paper [data-key="place"]:empty~.date-separator,.export-paper .letter-date:has([data-key="date"]:empty) .date-separator{display:none}
.storage-choice{display:grid;gap:10px;border:1px solid #e5e5ee;border-radius:10px;margin:18px 0;padding:14px}.storage-choice legend{font-weight:700;font-size:13px}.storage-choice label{display:flex;align-items:flex-start;gap:10px;padding:9px;background:#f7f7fc;border-radius:7px;color:#5e6076;font-size:12px;line-height:1.55}.storage-choice input{margin-top:3px;accent-color:#5a50c8}.storage-choice strong{color:#303145}#welcome-status:not(:empty),#recipient-status:not(:empty){color:#9d3e35;font-size:12px}.dialog-actions{flex-wrap:wrap}#welcome-dialog{max-width:680px}
@media(max-width:700px){.topbar{padding:12px 16px}.brand-sub{display:none}main{padding:20px 10px}.workspace-header{align-items:flex-start;flex-direction:column}.paper{margin-left:0}.import-columns,.form-grid{grid-template-columns:1fr}.import-columns pre{max-height:20vh}}
@page{size:A4;margin:0}@media print{body{background:#fff}.topbar,.workspace-header,.tools,#status,.hint,.address-warning,.section-actions,.entry-actions,.add-entry,.rating-controls{display:none!important}main,.document-area{display:block;overflow:visible;padding:0;margin:0}.paper{box-shadow:none;width:210mm;min-height:0;margin:0}.paper.letter-paper{padding-top:0}[contenteditable]:empty:before{content:none}[contenteditable].block:empty{display:none}[contenteditable]:hover,[contenteditable]:focus{background:transparent;box-shadow:none;outline:0}.resume-entry{break-inside:avoid}.section-heading{break-after:avoid}.empty-section{display:none!important}.letter-date:has([data-key="place"]:empty) .date-separator,.letter-date:has([data-key="date"]:empty) .date-separator{display:none}}
.extra-fields{display:flex;flex-wrap:wrap;gap:3px 14px;color:#777;font-size:9pt;margin-top:6px}.custom-field{display:flex;gap:3px;align-items:baseline}.custom-label{font-weight:600}.entry-extras{margin-top:3px}.version-list{list-style:none;padding:0;margin:12px 0;max-height:50vh;overflow:auto;display:grid;gap:8px}.version-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f7f7fb;border-radius:8px;padding:10px 12px;font-size:13px}.version-list span{color:#777;font-size:12px}code{background:#f0f0f7;padding:1px 4px;border-radius:4px}
.editor-layout{display:flex;align-items:flex-start;justify-content:center;gap:20px}.document-area{min-width:0}.page-preview{position:sticky;top:10px;width:300px;max-height:calc(100vh - 20px);overflow:auto;flex:none;padding:12px;background:#fff;border:1px solid #e6e6ef;border-radius:10px}.page-preview h2{font-size:15px;margin:0}.page-preview p,.page-preview figcaption{font-size:11px;color:#646579;line-height:1.4}.page-preview figure{margin:0 0 16px}.page-preview canvas{display:block;width:100%;height:auto;border:1px solid #ddd}.page-preview figcaption{text-align:center}.profile-value,.dialog-field{cursor:pointer;white-space:pre-wrap}.profile-value:focus-visible,.dialog-field:focus-visible{outline:2px solid #8277ef}.profile-value:hover,.dialog-field:hover{background:#f4f2ff}.form-grid input,.dialog-label input,.dialog-label textarea{min-width:0}.dialog-label textarea{width:100%;font:inherit;resize:vertical}.dialog-label{margin:12px 0}
@media(max-width:1100px){.editor-layout{flex-direction:column;align-items:center}.document-area{max-width:100%}.page-preview{order:-1;position:sticky;top:0;z-index:3;width:min(100%,794px);max-height:190px;padding:8px}#preview-pages{display:flex;gap:8px;overflow:auto}#preview-pages figure{min-width:80px;max-width:90px;flex:none;margin-bottom:0}.page-preview p{margin:3px 0}}
@media print{.page-preview{display:none!important}.editor-layout{display:block}}
.profile-value:empty:before,.dialog-field:empty:before{content:attr(data-placeholder);color:#aaaab7;font-weight:400;font-style:italic}
@media print{.profile-value:empty:before,.dialog-field:empty:before{content:none}}
@media screen{
.editor-layout{align-items:flex-start;max-width:1600px;margin:auto}
.tools{position:sticky;top:10px;display:flex;flex-direction:column;align-items:stretch;flex:none;width:190px;max-height:calc(100vh - 20px);overflow:auto;margin:0;padding:12px}
.tools label:not(.button){justify-content:space-between}.tools .tool-divider{height:1px;width:100%}.tools .button{text-align:center}.document-area{flex:1;min-width:0}
.paper-scale{margin-inline:auto}
.paper,.paper.letter-paper{position:relative;width:210mm;height:297mm;min-height:0;margin:0;padding:19mm 20mm 20mm;background:transparent;box-shadow:none}
.paper{transform:scale(1.15);transform-origin:top left}
.paper.letter-paper{padding-top:0}
.paper>.resume-header{position:relative;z-index:1;width:170mm}
.editor-flow{position:relative;z-index:1;width:170mm}
.editor-flow .resume-entry,.editor-flow .work-entry{break-inside:auto}
.editor-page-decoration{position:absolute;left:0;width:210mm;height:297mm;background:#fff;box-shadow:0 8px 35px #29294f18;pointer-events:none;border-bottom:1px solid #e6e5ef}
.editor-page-decoration:after{content:"";position:absolute;bottom:20mm;left:20mm;right:20mm;border-top:1px dashed #d2d2d2}
}
@media screen and (max-width:1100px){
.editor-layout{flex-direction:column;align-items:stretch}.tools{position:static;width:auto;max-height:none;flex-direction:row;flex-wrap:wrap}.page-preview{order:0;position:static;width:100%}.document-area{width:100%}
}
@media print{
.paper-scale{width:auto!important;height:auto!important}.paper{width:210mm!important;height:auto!important;transform:none}.editor-page-decoration{display:none!important}
}
.letter-paper.template-modern .letter-subject{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4pt}
.letter-paper.template-classic .letter-subject{color:var(--accent);font-size:11pt}
@media screen{
.paper .add-entry{font-size:9px;padding:1px 5px}
.paper .section-actions .icon-button,.paper .entry-actions .icon-button{font-size:9px;padding:1px 4px}
}
