.app{flex-direction:column;min-height:100vh;display:flex}.drawer__overlay{z-index:25;background:#00000073;border:0;position:fixed;inset:0}.drawer{background:var(--surface);border-right:1px solid var(--border);z-index:30;width:min(280px,80vw);height:100vh;padding:.9rem;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.drawer--open{transform:translate(0)}.drawer__head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.drawer__links{gap:.35rem;display:grid}.drawer__link{color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;text-decoration:none}.drawer__link:hover{border-color:var(--accent)}.app__bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:flex}.app__brand{align-items:center;gap:.75rem;display:flex}.app__logo{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:#0a0e12;border-radius:8px;place-items:center;width:2.25rem;height:2.25rem;font-size:.75rem;font-weight:700;display:grid}.app__tagline{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.app__actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn{border:1px solid #0000;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{color:var(--muted);border-color:var(--border);background:0 0}.btn--ghost:hover{color:var(--text);border-color:var(--muted)}.btn--small{padding:.35rem .65rem;font-size:.8rem}.btn--icon{place-items:center;width:1.8rem;height:1.8rem;padding:0;font-size:1rem;line-height:1;display:inline-grid}.btn--primary{background:var(--accent);color:#0a0e12;border-color:var(--accent)}.btn--primary:hover:not(:disabled){filter:brightness(1.08)}.btn--primary:disabled{cursor:wait}.app__main{flex:1;grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:0;height:calc(100vh - 57px);display:grid;overflow:hidden}@media (width<=900px){.app__main{grid-template-columns:1fr;height:auto;overflow:visible}}.app__panel--editor{border-right:1px solid var(--border);align-self:start;height:calc(100vh - 57px);padding:1.25rem;position:sticky;top:0;overflow-y:auto}@media (width<=900px){.app__panel--editor{border-right:none;border-bottom:1px solid var(--border);height:auto;position:static}}.app__panel--preview{background:linear-gradient(180deg, #121820 0%, var(--bg) 40%);height:calc(100vh - 57px);padding:1rem;overflow-y:auto}@media (width<=900px){.app__panel--preview{height:auto;overflow:visible}}.preview__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .75rem;font-size:.75rem}.preview__sheet{box-shadow:none;background:0 0;border-radius:0;max-width:210mm;min-height:200px;margin:0 auto;padding:1rem}.preview__pages{background:#ffffff08;border-radius:8px;gap:1rem;padding:.25rem;display:grid}.preview__render-source{opacity:0;pointer-events:none;width:min(100%,210mm);position:fixed;top:-99999px;left:-99999px}.preview__page{aspect-ratio:210/297;background:#fff;border-radius:2px;margin:0;overflow:hidden;box-shadow:0 6px 18px #0000003d}.preview__page img{object-fit:contain;width:100%;height:100%;display:block}.preview__page figcaption{color:#5a6675;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-top:1px solid #eef2f7;padding:.35rem .6rem;font-size:.72rem}.preview__note{color:var(--muted);text-align:center;margin:0;font-size:.74rem}.editor__title{margin:0 0 .35rem;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.editor__hint{color:var(--muted);margin:0 0 1rem;font-size:.8rem}.editor__grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=1200px){.editor__grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.field span{color:var(--muted);font-size:.75rem}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;min-width:0;padding:.45rem .55rem}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field--checkbox span{color:var(--text);align-items:center;gap:.45rem;display:inline-flex}.field--checkbox input[type=checkbox]{width:auto;accent-color:var(--accent)}.field--full{grid-column:1/-1}.editor__subtitle{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.85rem}.editor__subtitle-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.editor__card{background:var(--bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:grid}@media (width<=1200px){.editor__card{grid-template-columns:1fr}}.editor__card .field--full{grid-column:1/-1}.editor__card-actions{justify-content:flex-end;display:flex}.resume-print{color:#1a1a1a;box-sizing:border-box;background:#fff;width:100%;padding:.45in .4in;font-family:DM Sans,system-ui,sans-serif;font-size:10.5pt;line-height:1.45}.resume-print__header{text-align:center;border-bottom:1px solid #ddd;margin-bottom:1.25rem;padding-bottom:1rem}.resume-print__name{letter-spacing:-.02em;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.65rem;font-weight:700}.resume-print__headline{color:#444;margin:.25rem 0 .5rem;font-size:.95rem}.resume-print__contact{color:#333;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.resume-print__contact a{color:#2b5f94;text-decoration:none}.resume-print__section{margin-bottom:1rem}.resume-print__section h2{text-transform:uppercase;letter-spacing:.08em;color:#333;border-bottom:1px solid #ccc;margin:0 0 .5rem;padding-bottom:.2rem;font-family:Fraunces,Georgia,serif;font-size:.75rem}.resume-print__summary{text-align:justify;margin:0}.resume-print__skills{flex-wrap:wrap;gap:.35rem .75rem;margin:0;padding:0;list-style:none;display:flex}.resume-print__skills li{background:#f0f3f7;border-radius:4px;padding:.2rem .5rem;font-size:.85rem}.resume-print__muted{color:#888;background:0 0!important}.resume-print__job{margin-bottom:.85rem}.resume-print__job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.resume-print__period{color:#555;white-space:nowrap;font-size:.85rem}.resume-print__bullets{margin:.35rem 0 0;padding-left:1.1rem}.resume-print__link{overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.82rem}.resume-print__link a{color:#2b5f94;text-decoration:none}.resume-print__bullets li{margin-bottom:.2rem}.resume-print__edu{margin-bottom:.35rem;font-size:.9rem}.resume-print__languages{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.resume-print__language{grid-template-columns:1.2fr repeat(3,auto);align-items:baseline;gap:.5rem .9rem;font-size:.88rem;display:grid}.legal-page{background:linear-gradient(180deg, #121820 0%, var(--bg) 50%);min-height:100vh;padding:1.5rem}.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:860px;margin:0 auto;padding:1.25rem}.legal-card h1{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif}.legal-card h2{margin:1rem 0 .35rem;font-size:1rem}.legal-card p{color:var(--text);margin:.35rem 0}.legal-back{color:var(--accent);margin-top:1rem;font-weight:600;text-decoration:none;display:inline-block}*,:before,:after{box-sizing:border-box}:root{--bg:#0f1419;--surface:#1a222c;--border:#2d3845;--text:#e7ecf1;--muted:#8b9aad;--accent:#5eb3f6;--accent-dim:#3d7eb3}html{color:var(--text);background:var(--bg);font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.5}body{min-height:100vh;margin:0}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}textarea,input{font-family:inherit;font-size:inherit}
