/* Win98 / early Word–style résumé viewer */
.resume-window{
  width:720px;
  height:560px;
  min-width:320px;
  min-height:300px;
  overflow:hidden;
  position:relative;
}
.resume-window .titlebar{user-select:none}

.resume-menubar{
  position:relative;
  height:24px;
  flex:0 0 24px;
  display:flex;
  align-items:center;
  gap:2px;
  padding:0 5px;
  background:#d4d0c8;
  border-bottom:1px solid #808080;
  color:#000;
  font-size:11px;
  z-index:2;
}
.resume-menubar>button{
  font:inherit;
  color:inherit;
  background:transparent;
  border:0;
  padding:3px 7px;
  min-width:0;
  cursor:default;
}
.resume-menubar>button::first-letter{text-decoration:underline}
.resume-menubar>button:hover,
.resume-menubar>button:focus-visible,
.resume-menubar>button[aria-expanded="true"]{
  background:#0a246a;
  color:#fff;
  outline:none;
}
.resume-menu-drop{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:160px;
  margin:0;
  padding:2px;
  list-style:none;
  background:#d4d0c8;
  border:2px outset #fff;
  box-shadow:2px 2px 0 rgba(0,0,0,.25);
  z-index:5;
}
.resume-menu-item{
  position:relative;
}
.resume-menu-item[aria-expanded="true"]>.resume-menu-drop{display:block}
.resume-menu-drop button{
  display:block;
  width:100%;
  text-align:left;
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
  background:transparent;
  border:0;
  padding:4px 18px 4px 22px;
  cursor:default;
  position:relative;
}
.resume-menu-drop button:hover,
.resume-menu-drop button:focus-visible{
  background:#0a246a;
  color:#fff;
  outline:none;
}
.resume-menu-drop .resume-menu-shortcut{
  float:right;
  margin-left:24px;
  opacity:.75;
}
.resume-menu-sep{
  height:1px;
  margin:3px 4px;
  background:#808080;
  border-bottom:1px solid #fff;
}

.resume-toolbar{
  height:34px;
  flex:0 0 34px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:0 6px;
  background:#d4d0c8;
  border-bottom:1px solid #808080;
  flex-wrap:nowrap;
  overflow-x:auto;
}
.resume-toolbar button{
  min-width:32px;
  height:25px;
  padding:2px 7px;
  background:#d4d0c8;
  border:2px outset #fff;
  color:#000;
  font:11px Tahoma,Arial,sans-serif;
  white-space:nowrap;
  cursor:default;
}
.resume-toolbar button:active{border-style:inset;padding:3px 6px 1px 8px}
.resume-toolbar button:disabled{color:#808080;text-shadow:1px 1px #fff}
.resume-toolbar button.is-active{
  border-style:inset;
  background:#c8c4bc;
  padding:3px 6px 1px 8px;
  font-weight:bold;
}
.resume-toolbar .toolbar-divider{
  height:23px;
  border-left:1px solid #808080;
  border-right:1px solid #fff;
  margin:0 3px;
}
.resume-view-group{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex:0 0 auto;
}
.resume-view-label{
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
  white-space:nowrap;
  padding:0 4px 0 2px;
  user-select:none;
}
.resume-menu-drop button[aria-checked="true"]{
  font-weight:bold;
}
.resume-menu-drop button[aria-checked="true"]::before{
  content:"✓";
  position:absolute;
  left:6px;
}

.resume-findbar{
  display:none;
  flex:0 0 auto;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  background:#ece9d8;
  border-bottom:1px solid #808080;
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
}
.resume-findbar.is-open{display:flex;flex-wrap:wrap}
.resume-findbar label{flex:0 0 auto}
.resume-findbar input{
  flex:1 1 140px;
  min-width:100px;
  height:22px;
  border:2px inset #fff;
  padding:2px 4px;
  font:12px Tahoma,Arial,sans-serif;
  background:#fff;
  color:#000;
}
.resume-findbar button{
  min-width:28px;
  height:24px;
  padding:2px 8px;
  background:#d4d0c8;
  border:2px outset #fff;
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
}
.resume-findbar button:active{border-style:inset}
.resume-find-count{flex:0 0 auto;min-width:4.5em;color:#333}

.resume-mode-banner{
  display:none;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  padding:5px 8px;
  background:#ffffcc;
  border-bottom:1px solid #808080;
  color:#000;
  font:11px Tahoma,Arial,sans-serif;
  line-height:1.35;
}
.resume-mode-banner.is-visible{display:flex;flex-wrap:wrap}
.resume-mode-banner[hidden]{display:none!important}
.resume-mode-banner-text{flex:1 1 160px;min-width:0}
.resume-mode-banner-btn{
  flex:0 0 auto;
  min-height:24px;
  padding:3px 10px;
  background:#d4d0c8;
  border:2px outset #fff;
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
  font-weight:bold;
  cursor:default;
}
.resume-mode-banner-btn:active{border-style:inset}
.resume-mode-banner-dismiss{
  flex:0 0 auto;
  min-width:24px;
  height:24px;
  padding:0 6px;
  background:#d4d0c8;
  border:2px outset #fff;
  font:11px Tahoma,Arial,sans-serif;
  color:#000;
  cursor:default;
}
.resume-mode-banner-dismiss:active{border-style:inset}

.resume-body{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#808080;
  border:2px inset #fff;
  margin:0;
  overflow:hidden;
}
.resume-pdf-wrap,
.resume-text-wrap{
  flex:1 1 auto;
  min-height:0;
  position:relative;
  overflow:auto;
  overscroll-behavior:contain;
}
.resume-pdf-wrap{
  background:#525252;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.resume-pdf-viewer{
  flex:1 1 auto;
  width:100%;
  min-height:420px;
  padding:12px 8px 20px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.resume-pdf-page{
  position:relative;
  background:#fff;
  box-shadow:2px 2px 0 #303030;
  flex:0 0 auto;
}
.resume-pdf-canvas{
  display:block;
  width:100%;
  height:auto;
  vertical-align:top;
}
.resume-pdf-textlayer{
  pointer-events:auto;
}
.resume-pdf-highlights{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:3;
}
.resume-pdf-hit{
  position:absolute;
  background:rgba(255,255,0,0.45);
  mix-blend-mode:multiply;
  border-radius:1px;
  box-sizing:border-box;
}
.resume-pdf-hit.is-current{
  background:rgba(255,165,0,0.55);
  outline:1px solid #c06000;
  z-index:2;
}
/* Tip overlay on #resume (covers menubar/toolbar/body) so zoom/scroll never hides it */
#resume.is-pdf-tip-open .resume-body,
#resume.is-pdf-tip-open .resume-menubar,
#resume.is-pdf-tip-open .resume-toolbar,
#resume.is-pdf-tip-open .resume-findbar,
#resume.is-pdf-tip-open .resume-mode-banner{
  pointer-events:none;
}
.resume-pdf-fallback{
  position:absolute;
  left:0;
  right:0;
  top:28px;
  bottom:24px;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  box-sizing:border-box;
  pointer-events:auto;
}
.resume-pdf-fallback.hidden{display:none!important}
.resume-pdf-tip-backdrop{
  position:absolute;
  inset:0;
  margin:0;
  padding:0;
  border:0;
  background:rgba(0,0,0,.45);
  cursor:default;
  z-index:0;
}
.resume-pdf-tip-dialog{
  position:relative;
  z-index:2;
  width:min(340px,100%);
  margin:0;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#ffffcc;
  border:2px outset #fff;
  box-shadow:2px 2px 0 rgba(0,0,0,.35);
  color:#000;
  font:11px Tahoma,Arial,sans-serif;
  line-height:1.4;
  box-sizing:border-box;
  pointer-events:auto;
}
.resume-pdf-error{
  position:absolute;
  left:50%;
  right:auto;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(320px,90%);
  margin:0;
  padding:12px;
  text-align:center;
  background:#d4d0c8;
  border:2px outset #fff;
  color:#000;
  font:12px Tahoma,Arial,sans-serif;
  line-height:1.4;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  box-sizing:border-box;
}
.resume-pdf-error.hidden{display:none!important}
.resume-pdf-tip-text{margin:0;min-width:0}
.resume-pdf-tip-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
}
.resume-pdf-tip-open,
.resume-pdf-tip-dismiss{
  flex:0 0 auto;
  min-height:28px;
  min-width:64px;
  padding:4px 12px;
  background:#d4d0c8;
  border:2px outset #fff;
  color:#000;
  font:11px Tahoma,Arial,sans-serif;
  cursor:default;
}
.resume-pdf-tip-open{font-weight:bold}
.resume-pdf-tip-open:active,
.resume-pdf-tip-dismiss:active{border-style:inset}
.resume-pdf-error a{
  display:inline-block;
  padding:6px 12px;
  background:#d4d0c8;
  border:2px outset #fff;
  color:#000;
  text-decoration:none;
  font-weight:bold;
}
.resume-pdf-error a:active{border-style:inset}

.resume-text-wrap{
  display:none;
  background:#a0a0a0;
  padding:12px 10px 18px;
}
.resume-text-wrap.is-visible{display:block}
.resume-pdf-wrap.is-hidden{display:none}
.resume-page{
  max-width:720px;
  min-height:100%;
  margin:0 auto;
  padding:28px 36px;
  background:#fff;
  color:#000;
  box-shadow:2px 2px 0 #404040;
  font:12px/1.55 "Times New Roman",Times,serif;
  white-space:pre-wrap;
  word-wrap:break-word;
  user-select:text;
  -webkit-user-select:text;
  outline:none;
}
.resume-page mark.resume-hit{
  background:#ffff00;
  color:#000;
  padding:0;
}
.resume-page mark.resume-hit.is-current{
  background:#ffa500;
  outline:1px solid #c06000;
}

.resume-statusbar{
  height:24px;
  flex:0 0 24px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:0 4px;
  background:#d4d0c8;
  color:#000;
  font:11px Tahoma,Arial,sans-serif;
  border-top:1px solid #fff;
}
.resume-statusbar span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px inset #fff;
  padding:2px 5px;
}
.resume-statusbar .resume-status-view{
  flex:0 0 auto;
  font-weight:bold;
  min-width:4.8em;
}
.resume-statusbar .resume-status-main{flex:1}
.resume-statusbar .resume-status-zoom,
.resume-statusbar .resume-status-words{flex:0 0 auto}

@media print{
  body *{visibility:hidden!important}
  #resume,
  #resume *{visibility:visible!important}
  #resume{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    border:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  #resume .titlebar,
  #resume .resume-menubar,
  #resume .resume-toolbar,
  #resume .resume-findbar,
  #resume .resume-mode-banner,
  #resume .resume-statusbar,
  #resume .resume-pdf-fallback,
  #resume .resume-pdf-error{display:none!important}
  #resume .resume-body{border:0!important;background:#fff!important}
  #resume .resume-pdf-wrap{display:block!important;overflow:visible!important}
  #resume .resume-text-wrap{display:none!important}
  #resume .resume-pdf-viewer{min-height:auto;padding:0;gap:0}
  #resume .resume-pdf-page{box-shadow:none;page-break-after:always}
  #resume .resume-pdf-highlights,
  #resume .resume-pdf-textlayer{display:none!important}
}

@media (max-width:760px), (hover:none) and (pointer:coarse){
  .resume-window{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important}
  .resume-menubar{height:32px;flex-basis:32px;overflow-x:auto}
  .resume-menubar>button{padding:6px 10px;min-height:28px}
  .resume-menu-drop button{min-height:36px;padding:8px 16px 8px 22px;font-size:13px}
  .resume-toolbar{height:48px;flex-basis:48px}
  .resume-toolbar button{min-width:44px;min-height:44px;height:44px;font-size:12px}
  .resume-toolbar button[data-resume-action="pdf-help"]{min-width:52px}
  .resume-view-label{font-size:12px}
  .resume-findbar{gap:4px;padding:6px}
  .resume-findbar input{height:34px;font-size:16px}
  .resume-findbar button{min-height:34px;min-width:36px}
  .resume-mode-banner{padding:8px;font-size:12px;gap:6px}
  .resume-mode-banner-btn{min-height:34px;font-size:12px}
  .resume-mode-banner-dismiss{min-height:34px;min-width:36px}
  .resume-pdf-fallback{top:28px;bottom:28px;padding:16px}
  .resume-pdf-tip-dialog{padding:14px 16px;font-size:13px;gap:12px}
  .resume-pdf-tip-open,
  .resume-pdf-tip-dismiss{min-height:44px;min-width:88px;font-size:13px;padding:8px 14px}
  .resume-pdf-viewer{min-height:280px;padding:8px 4px 16px}
  .resume-page{padding:16px 14px;font-size:14px;line-height:1.5}
  .resume-statusbar{height:28px;flex-basis:28px;font-size:10px}
}
