.resume-page{box-sizing:border-box;width:100%;height:100dvh;min-height:0;padding:18px;display:flex;position:relative}.resume-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.resume-back{display:none}.resume-viewer{border:1px solid var(--line);background:var(--paper-deep);flex:1;min-width:0;min-height:0;display:flex;position:relative}.resume-toolbar{z-index:2;box-sizing:border-box;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f0e8f5;align-items:center;gap:18px;max-width:calc(100% - 32px);padding:10px 12px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #241f1829}.resume-page-count{white-space:nowrap;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.resume-toolbar-controls,.resume-zoom-controls{align-items:center;display:flex}.resume-toolbar-controls{gap:14px}.resume-zoom-controls{border:1px solid var(--line)}.resume-zoom-controls button{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.resume-zoom-controls button:hover:not(:disabled){background:var(--paper-deep)}.resume-zoom-controls button:disabled{color:var(--muted);cursor:default}.resume-zoom-controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;color:var(--ink-soft);font-size:12px}.resume-zoom-controls .resume-fit-button{border-left:1px solid var(--line)}.resume-open-link,.resume-download{box-sizing:border-box;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.resume-open-link{color:var(--ink-soft)}.resume-open-link:hover{color:var(--ink)}.resume-download{background:var(--ink);color:var(--paper);padding:0 14px}.resume-download:hover{background:var(--navy)}.resume-scroll{box-sizing:border-box;background:#e7e2d9;flex:1;min-width:0;min-height:0;padding:clamp(18px,2.5vw,40px) clamp(18px,2.5vw,40px) 110px;overflow:auto}.resume-sheet{background:#fff;width:max-content;margin:0 auto 28px;box-shadow:0 8px 32px #241f1824}.resume-sheet:last-child{margin-bottom:0}.resume-sheet canvas{display:block}.resume-loading{box-sizing:border-box;width:min(100%,800px);min-height:420px;color:var(--ink-soft);text-align:center;background:#fff;place-items:center;margin:0 auto;padding:32px;font-size:14px;display:grid;box-shadow:0 8px 32px #241f181a}.resume-preview-message{max-width:30em;color:var(--ink-soft);margin:0;padding:40px}@media (max-width:860px){.resume-page{padding:0}.resume-viewer{border:0}.resume-back{top:max(14px,env(safe-area-inset-top));z-index:3;border:1px solid var(--line);background:var(--paper);width:42px;height:42px;color:var(--ink);justify-content:center;align-items:center;display:inline-flex;position:absolute;left:14px;box-shadow:0 4px 16px #241f181f}.resume-toolbar{bottom:max(12px,env(safe-area-inset-bottom));gap:0;padding:8px}.resume-page-count{display:none}.resume-toolbar-controls{gap:8px}.resume-open-link,.resume-download{width:38px;min-width:38px;padding:0}.resume-open-link span,.resume-download span{display:none}.resume-scroll{padding:64px 14px 96px}}
