.resume-trigger { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:32px; height:32px; margin:0; padding:7px; color:white; background:rgba(20,22,19,.48); border:1px solid rgba(255,255,255,.22); border-radius:50%; backdrop-filter:blur(8px); cursor:pointer; opacity:0; pointer-events:none; transform:translateY(4px); transition:opacity .18s,transform .18s,background .18s; }
.resume-trigger svg { width:16px; height:16px; }
.about-media:hover .resume-trigger,.about-media:focus-within .resume-trigger { opacity:1; pointer-events:auto; transform:none; }
.resume-trigger:hover { background:rgba(20,22,19,.75); }
@media (hover:none), (pointer:coarse) { .resume-trigger { opacity:1; pointer-events:auto; transform:none; width:40px; height:40px; } }
.resume-trigger:focus-visible,.resume-dialog :focus-visible { outline:2px solid #b7c5a7; outline-offset:4px; }
.resume-dialog { padding:0; width:min(960px,calc(100vw - 48px)); max-width:none; height:min(92dvh,1200px); max-height:calc(100dvh - 32px); margin:auto; border:1px solid #41443d; border-radius:16px; background:#191b17; color:#f4f4ef; box-shadow:0 24px 100px #0009; overflow:hidden; }
.resume-dialog[open] { display:flex; flex-direction:column; }
.resume-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(8px); }
.resume-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; flex-shrink:0; border-bottom:1px solid #ffffff20; }
.resume-toolbar h2 { margin:0; font-size:16px; font-weight:500; white-space:nowrap; }
.resume-actions { display:flex; gap:8px; align-items:center; }
.resume-actions button,.resume-actions a { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 12px; border:0; border-radius:8px; background:#ffffff0d; color:inherit; font:inherit; font-size:13px; text-decoration:none; cursor:pointer; white-space:nowrap; }
.resume-actions button:hover,.resume-actions a:hover { background:#ffffff20; }
.resume-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:20px; touch-action:pan-x pan-y pinch-zoom; }
.resume-scroll img { display:block; width:100%; height:auto; max-width:none; background:white; }
.resume-scroll.is-zoomed img { width:1190px; }
@media(max-width:600px) { .resume-dialog { width:calc(100vw - 16px); height:94dvh; max-height:calc(100dvh - 16px); border-radius:12px; } .resume-toolbar { padding:10px; gap:6px; } .resume-toolbar h2 { font-size:14px; } .resume-actions { gap:4px; } .resume-actions button,.resume-actions a { padding:8px; font-size:12px; } .resume-scroll { padding:8px; } .resume-scroll.is-zoomed img { width:850px; } }
@media(prefers-reduced-motion:reduce) { .resume-trigger { transition:none; } }
