*{box-sizing:border-box}:root{--navy: #092c64;--teal: #0da1a4;--neon: #01ffc6;--paper: #eef2f7;--text: #1a2744;--muted: #9ca3af;--line: #e5e7eb;--card-shadow: 0 2px 12px rgba(0, 0, 0, .06);font-family:Avenir,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:200;font-display:block;src:local("IBM Plex Sans ExtraLight"),local("IBMPlexSans-ExtraLight"),url(/fonts/ibm-plex-sans-latin-200-normal.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-200-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100;font-display:block;src:local("IBM Plex Sans Thin Italic"),local("IBMPlexSans-ThinItalic"),url(/fonts/ibm-plex-sans-latin-100-italic.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-100-italic.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-display:block;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(/fonts/ibm-plex-sans-latin-300-normal.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-300-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:block;src:local("IBM Plex Sans"),local("IBMPlexSans-Regular"),url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:block;src:local("IBM Plex Sans Italic"),local("IBMPlexSans-Italic"),url(/fonts/ibm-plex-sans-latin-400-italic.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-400-italic.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:block;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(/fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2"),url(/fonts/ibm-plex-sans-latin-700-normal.woff) format("woff")}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--paper);font-synthesis:none}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{height:100vh;overflow:hidden;background:var(--paper)}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:64px;padding:12px 24px;background:#fff;border-bottom:1px solid #e5e0d8}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:900}.brand strong,.brand span{display:block}.brand strong{color:var(--navy);font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.brand div span{margin-top:1px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.topbar nav{display:flex;justify-content:center;gap:6px;padding:4px;border-radius:10px;background:#f3f4f6}.topbar nav a{padding:7px 12px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.topbar nav a:first-child{color:var(--teal);background:#e6f7f7}.menu-button{display:none;justify-self:end;border:0;background:transparent;color:var(--muted)}.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--navy);color:#fff}.hero-strip h1{margin:0;font-family:Georgia,"Source Serif 4",serif;font-size:22px;font-weight:900;line-height:1.1}.hero-strip p{margin:4px 0 0;color:#ffffff7a;font-size:12px}.score-pill{display:grid;place-items:center;min-width:56px;padding:7px 11px;border:1.5px solid rgba(1,255,198,.35);border-radius:12px;background:#01ffc61f}.score-pill strong{color:var(--neon);font-family:Impact,Big Shoulders Display,sans-serif;font-size:24px;line-height:1}.score-pill span{margin-top:2px;color:#ffffff73;font-size:9px;font-weight:800;letter-spacing:.14em}.workspace{display:grid;grid-template-columns:minmax(430px,.82fr) minmax(0,1.18fr);gap:24px;width:min(100%,1500px);height:100vh;min-height:0;margin:0 auto;padding:20px 24px;overflow:hidden}.editor-column{min-width:0;min-height:0;height:100%;overflow-y:auto;padding-right:6px}.preview-column{display:flex;flex-direction:column;min-height:0;height:100%;min-width:0}.stats-row{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--muted);font-size:12px}.stats-row strong{color:var(--text)}.toolbar-card,.editor-card{border-radius:16px;background:#fff;box-shadow:var(--card-shadow)}.toolbar-card{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px}.toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:10px}.language-toggle{display:inline-flex;align-items:center;gap:6px;margin-right:auto}.language-toggle span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.language-toggle button{min-height:32px;border:1px solid var(--line);border-radius:8px;background:#f9fafb;color:var(--muted);padding:0 12px;font-size:12px;font-weight:800;letter-spacing:.06em}.language-toggle button.active{border-color:var(--navy);background:var(--navy);color:#fff}.primary-outline,.secondary-outline,.add-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:12px;background:#fff;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.primary-outline{border:2px solid var(--navy);color:var(--navy);padding:0 16px}.secondary-outline{border:2px solid var(--line);color:var(--muted);padding:0 16px}.primary-outline:disabled{cursor:not-allowed;opacity:.62}.editor-card{margin-bottom:16px;padding:20px}.editor-card>h2{margin:0 0 16px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.field{display:grid;gap:5px}.field span,.input-label{min-height:16px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.field input,.field textarea,.inline-add input,.bullet-row input,.bullet-row textarea{width:100%;border:1px solid var(--line);border-radius:8px;outline:none;color:var(--text);background:#fff;font-size:14px;line-height:1.35}.field input,.inline-add input,.bullet-row input{height:38px;padding:0 12px}.field textarea,.bullet-row textarea{min-height:72px;padding:9px 12px;resize:vertical}.field input:focus,.field textarea:focus,.inline-add input:focus,.bullet-row input:focus,.bullet-row textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0da1a424}.photo-drop{display:grid;place-items:center;gap:6px;min-height:96px;margin-top:8px;border:2px dashed #d1d5db;border-radius:12px;color:var(--muted);cursor:pointer}.photo-drop input{display:none}.photo-drop span{font-size:12px}.stack,.skill-editor,.bullet-editor{display:grid;gap:10px}.skill-editor h3,.entry-editor h3{margin:0;color:#374151;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:6px;min-height:32px}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#e6f7f7;color:var(--teal);font-size:14px}.chip button,.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;color:inherit}.chip .order-controls{margin-left:-4px}.chip .icon-button{width:18px;height:18px;border-radius:999px;color:#0da1a48c}.chip .icon-button:hover{color:var(--teal);background:#0da1a41f}.inline-add{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-add button{border:0;border-radius:8px;background:var(--teal);color:#fff;padding:0 12px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.entry-editor{display:grid;gap:12px;padding-top:14px;border-top:1px solid #f3f4f6}.entry-editor:first-of-type{padding-top:0;border-top:0}.entry-editor+.entry-editor{margin-top:14px}.entry-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-actions,.order-controls{display:inline-flex;align-items:center;gap:4px}.icon-button{width:30px;height:30px;border-radius:8px;color:#c7cbd1}.icon-button:hover{color:#ef4444;background:#fef2f2}.icon-button:disabled{cursor:default;opacity:.32}.icon-button:disabled:hover{color:#c7cbd1;background:transparent}.checkbox-row{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#6b7280;font-size:14px}.checkbox-row input{accent-color:var(--teal)}.bullet-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px}.bullet-row>span{margin-top:9px;color:#c7cbd1}.text-button{width:fit-content;border:0;background:transparent;color:var(--muted);padding:0;font-size:12px}.text-button:hover{color:var(--teal)}.add-button{margin-top:14px;border:2px dashed var(--teal);color:var(--teal);padding:0 14px}.language-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.language-row+.language-row{margin-top:12px}.preview-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.preview-title strong{border-radius:999px;background:#fff7ed;color:#ea580c;padding:5px 9px;font-size:11px}.preview-frame{position:relative;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;border-radius:4px;box-shadow:0 4px 24px #0000001f;background:#dfe5ee}.preview-scale-shell{position:relative;width:100%;min-height:100%}.preview-scale-inner{position:absolute;top:0;left:50%;width:210mm;transform-origin:top left;translate:-50% 0}.page-break-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.page-break-marker{position:absolute;left:0;right:0;display:flex;align-items:center;gap:8px;transform:translateY(-50%)}.page-break-marker:before,.page-break-marker:after{content:"";height:0;flex:1;border-top:2px dashed #ea580c}.page-break-marker span,.page-break-marker strong{border-radius:4px;background:#ea580c;color:#fff;padding:3px 6px;font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.page-break-marker span{background:#ea580cd1}.mobile-preview-button{display:none;position:fixed;right:16px;bottom:16px;z-index:30;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--navy);color:#fff;padding:13px 16px;box-shadow:0 4px 16px #092c6466;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:auto;background:#00000080;padding:20px}.preview-modal-inner{width:max-content;margin:0 auto}.preview-modal-inner>.icon-button{position:sticky;top:0;margin-left:auto;margin-bottom:8px;background:#fff;box-shadow:0 2px 8px #0000002e}.print-shell{min-height:100vh;margin:0;background:#fff}.harvard-page{width:210mm;min-height:297mm;padding:18mm 20mm 20mm;box-sizing:border-box;background:#fff;color:#000;font-family:IBM Plex Sans,Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.45;font-kerning:normal;font-synthesis:none;text-rendering:geometricPrecision}.harvard-header{display:flex;align-items:flex-start;gap:8mm}.harvard-photo{width:28mm;height:28mm;flex-shrink:0;border:.5pt solid #ccc;border-radius:50%;object-fit:cover}.harvard-heading{flex:1;text-align:center}.harvard-name{margin-bottom:3pt;font-size:22pt;letter-spacing:0;line-height:1.15}.harvard-first-name{font-weight:200}.harvard-last-name{font-weight:700}.harvard-placeholder{color:#ccc}.harvard-role{margin-bottom:4pt;color:#555;font-size:10pt;letter-spacing:0}.harvard-contact{color:#666;font-size:8.5pt;letter-spacing:-.01em}.harvard-section-title{display:flex;align-items:center;gap:8pt;margin-top:16pt;margin-bottom:6pt}.harvard-section-title span{flex-shrink:0;color:#111;font-size:11pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.harvard-section-title div{flex:1;height:.5pt;background:#aaa}.harvard-skills{font-size:9.5pt;line-height:1.7}.harvard-skill-row{display:flex;gap:4pt}.harvard-skill-row span{min-width:108pt;flex-shrink:0;font-weight:700}.harvard-skill-row p,.harvard-paragraph,.harvard-languages,.harvard-list p{margin:0}.harvard-entry{margin-bottom:10pt;break-inside:avoid;page-break-inside:avoid}.harvard-entry.compact{margin-bottom:8pt}.harvard-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:8pt}.harvard-entry-head strong{color:#000;font-size:10pt;font-weight:700}.harvard-entry-head span{flex-shrink:0;color:#555;font-size:9pt}.harvard-entry-meta{margin-top:1pt;margin-bottom:3pt;color:#555;font-size:9pt;font-style:italic}.harvard-list{margin:0;padding-left:0;list-style:none}.harvard-list li{display:flex;gap:6pt;margin-top:2pt;font-size:10pt;line-height:1.45}.harvard-list li>span{flex-shrink:0}.harvard-paragraph{margin-top:2pt;font-size:10pt;line-height:1.45}.harvard-languages{font-size:9.5pt;line-height:1.6}@page{size:A4;margin:18mm 20mm 19mm}@media print{*{print-color-adjust:exact;-webkit-print-color-adjust:exact}html,body,#root,.print-shell{height:auto;overflow:visible;background:#fff!important}body{background:#fff!important}.print-shell{min-height:0}.harvard-list li>span{font-size:8pt;line-height:1}.harvard-list li{align-items:baseline}.harvard-section-title{margin-top:14pt}.harvard-page{width:auto;min-height:0;padding:0;margin:0;background:#fff!important;box-shadow:none;font-size:9.9pt;line-height:1.43}}@media (max-width: 1180px){.workspace{grid-template-columns:minmax(0,1fr)}.preview-column{display:none}.mobile-preview-button{display:inline-flex}}@media (max-width: 720px){.topbar{grid-template-columns:1fr auto;padding:12px 16px}.topbar nav{display:none}.menu-button{display:inline-grid}.hero-strip{padding:12px 16px}.hero-strip p{display:none}.workspace{padding:14px 14px 84px}.grid.two,.language-row{grid-template-columns:1fr}.span-2{grid-column:span 1}.toolbar-card{display:grid}.toolbar-actions{display:grid;gap:8px}.language-toggle{display:grid;grid-template-columns:1fr 1fr;margin-right:0}.language-toggle span{grid-column:1 / -1}.primary-outline,.secondary-outline{width:100%}.preview-modal{padding:14px}.preview-modal-inner{transform-origin:top left}}
