.resume-preview{width:min(820px,calc(100vw - 32px));max-width:none;max-height:88vh;max-height:88dvh;margin:auto;padding:0;border:1px solid #44536b;border-radius:10px;background:#122240;color:#f9f6eb;box-shadow:0 24px 80px #0006;overflow:hidden}
.resume-preview[open]{display:flex;flex-direction:column}
.resume-preview::backdrop{background:rgb(4 12 24 / 76%)}
.resume-preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #44536b;flex-shrink:0}
.resume-preview-header h2{font:500 25px/1.2 var(--serif);margin:0;color:#f9f6eb}
.resume-preview-close{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #60708c;border-radius:5px;background:transparent;color:#f9f6eb;cursor:pointer}
.resume-preview-close svg{width:20px;height:20px}
.resume-preview-body{min-height:0;overflow:auto;overscroll-behavior:contain;background:#e5e7eb;padding:16px}
.resume-preview-body img{display:block;width:100%;height:auto;margin:0;box-shadow:0 2px 12px #0002;background:white}
.resume-preview-actions{display:flex;justify-content:flex-end;padding:18px 24px;flex-shrink:0;border-top:1px solid #44536b}
.resume-preview-open{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 24px;background:#e7bb62;color:#0b182b;border-radius:5px;font:600 15px/1.4 var(--sans);text-decoration:none}
.resume-preview-open:hover{background:#f3cf88}
.resume-preview-close:hover{color:#e7bb62;border-color:#e7bb62}
.resume-preview a:focus-visible,.resume-preview button:focus-visible{outline:2px solid #e7bb62;outline-offset:4px}
body.resume-preview-visible{overflow:hidden}
@media(max-width:600px){.resume-preview-header{padding:12px 16px}.resume-preview-header h2{font-size:22px}.resume-preview-body{padding:8px}.resume-preview-actions{padding:14px 16px}.resume-preview-open{width:100%}}
@media(prefers-reduced-motion:no-preference){.resume-preview[open]{animation:resume-preview-in .2s ease-out}.resume-preview-open,.resume-preview-close{transition:background-color .18s,color .18s,border-color .18s}@keyframes resume-preview-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
