.resume-editor-page {
  margin: 0;
  padding: 0;
  height: 100vh;
  overflow: hidden;
  background: #fff;
  color: #333;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.editor-topbar {
  height: 46px;
  display: grid;
  grid-template-columns: 160px 1fr 260px;
  align-items: center;
  padding: 0 22px;
  background: #fff;
  border-bottom: 1px solid #e7e7e7;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
  position: relative;
  z-index: 20;
}

.editor-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #19c9a5;
  font-weight: 700;
  text-decoration: none;
}

.editor-logo-mark {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #19c9a5;
  color: #fff;
}

.editor-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.editor-action {
  border: none;
  background: transparent;
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
}

.editor-action.active,
.editor-action:hover {
  color: #19c9a5;
}

.action-icon {
  font-size: 18px;
  line-height: 1;
  color: inherit;
}

.editor-user {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.editor-small-btn {
  height: 28px;
  padding: 0 14px;
  border: 1px solid #ddd;
  border-radius: 14px;
  background: #fff;
  color: #555;
  cursor: pointer;
}

.export-resume-btn {
  height: 38px;
  padding: 0 22px;
  border: none;
  border-radius: 19px;
  background: linear-gradient(to right, #19c9a5, #2f75e0);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .5px;
  box-shadow: 0 3px 12px rgba(25, 201, 165, .35);
  transition: opacity .2s, box-shadow .2s, transform .15s;
}

.export-resume-btn:hover {
  opacity: .9;
  box-shadow: 0 5px 18px rgba(47, 117, 224, .4);
  transform: translateY(-1px);
}

.export-resume-btn:active {
  transform: translateY(0);
  opacity: 1;
}

.editor-avatar {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1cc9a9;
  color: #fff;
  font-weight: 700;
}

.editor-main {
  height: auto;
  min-height: calc(100vh - 46px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

.editor-preview-zone {
  background: #33364e;
  overflow-y: auto;
  overflow-x: auto;
  position: relative;
  padding: 16px 16px 84px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .2) transparent;
  flex: 1 1 0;
  min-height: 100px;
}

.editor-preview-zone::-webkit-scrollbar {
  width: 5px;
}

.editor-preview-zone::-webkit-scrollbar-track {
  background: transparent;
}

.editor-preview-zone::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .25);
  border-radius: 3px;
}

.editor-preview-inner {
  min-height: 100%;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 16px;
  overflow: visible;
  padding-bottom: 16px;
  align-items: start;
  box-sizing: border-box;
  position: relative;
}

/* Color applied by JS inline style only — no class-level --resume-theme */
.resume-paper {
  width: 794px;
  min-height: 1123px;
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  background: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
  overflow: visible;
  position: relative;
}

.resume-paper .resume-side {
  background: var(--resume-theme, #214d6a);
  color: #fff;
  padding: 28px 20px;
}

.resume-paper .resume-avatar,
.editor-resume .resume-avatar {
  width: 90px;
  height: 90px;
  margin: 0 auto 22px;
  background: #fff;
  overflow: hidden;
}

.resume-paper .resume-avatar img,
.editor-resume .resume-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resume-paper .resume-main {
  padding: 28px;
}

.resume-paper .resume-name {
  font-size: 28px;
  margin: 0 0 14px;
  color: var(--resume-theme, #214d6a);
  letter-spacing: 1px;
}

.preview-toggle-btn {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 36px 36px 0 0;
  background: #fff;
  box-shadow: 0 -3px 16px rgba(0, 0, 0, .15);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  transition: box-shadow .2s;
}

.preview-toggle-btn:hover {
  box-shadow: 0 -4px 20px rgba(25, 201, 165, .35);
}

.toggle-arrow {
  display: block;
  transform: rotate(180deg);
  transition: transform .4s cubic-bezier(.4, 0, .2, 1);
}

.editor-ai-panel {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border-radius: 4px;
  padding: 14px;
  overflow-y: auto;
  position: sticky;
  top: 0;
}

.editor-ai-panel h3 {
  margin: 0 0 10px;
  font-size: 14px;
  color: #333;
}

.ai-buttons {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.ai-buttons button {
  flex: 1;
  height: 30px;
  border: none;
  border-radius: 3px;
  color: #fff;
  background: #19c9a5;
  font-size: 12px;
  cursor: pointer;
}

.ai-buttons button:first-child {
  background: #ff8c2a;
}

.faq-card {
  border-top: 1px solid #eee;
  padding-top: 10px;
  color: #555;
  font-size: 12px;
  line-height: 1.8;
}

.faq-card p {
  margin: 4px 0;
}

.editor-form-zone {
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
  height: 58vh;
  max-height: 58vh;
  min-height: 0;
  flex-shrink: 0;
  transition: height .4s cubic-bezier(.4, 0, .2, 1), max-height .4s cubic-bezier(.4, 0, .2, 1);
}

.editor-form-zone.collapsed {
  height: 88px;
  max-height: 88px;
  overflow-y: hidden;
}

.editor-tabs {
  flex-shrink: 0;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 max(20px, calc(50% - 430px));
  border-bottom: 1px solid #e8e8e8;
  overflow-x: auto;
  white-space: nowrap;
  background: #fff;
}

.tab-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  position: relative;
  height: 46px;
  padding: 0 6px;
  cursor: pointer;
}

.tab-item.active .tab-label {
  color: #ff8c2a;
}

.tab-item.active::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 0;
  height: 2px;
  background: #ff8c2a;
}

.tab-label {
  border: none;
  background: transparent;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.tab-item:hover .tab-label,
.tab-item.active .tab-label {
  color: #ff8c2a;
}

.tab-toggle {
  position: relative;
  width: 28px;
  height: 16px;
  border: none;
  border-radius: 8px;
  background: #ccc;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background .25s ease;
}

.tab-toggle::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  transition: transform .25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}

.tab-toggle.on {
  background: #19c9a5;
}

.tab-toggle.on::after {
  transform: translateX(12px);
}

.editor-form {
  flex-shrink: 0;
  overflow-y: visible;
  overflow-x: visible;
  padding: 20px 40px 40px;
  max-width: 860px;
  margin: 0 auto;
  box-sizing: border-box;
}

[data-section].section-hidden {
  display: none;
}

.form-tip {
  color: #f39b3d;
  font-size: 12px;
  margin-bottom: 14px;
}

.form-actions-row {
  padding: 14px 0 4px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px 22px;
}

.form-field {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: #555;
  font-size: 13px;
}

.form-field input,
.form-field select {
  width: 100%;
  height: 32px;
  border: none;
  background: #f4f5f7;
  color: #555;
  padding: 0 10px;
  outline: none;
}

.form-field input:focus,
.form-field select:focus {
  box-shadow: 0 0 0 1px #19c9a5 inset;
}

.form-extra-row {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.upload-photo-btn,
.add-section-btn {
  border: none;
  border-radius: 18px;
  background: #19c9a5;
  color: #fff;
  height: 34px;
  padding: 0 20px;
  cursor: pointer;
}

.save-section-btn {
  border: 1px solid #19c9a5;
  border-radius: 18px;
  background: #fff;
  color: #19c9a5;
  height: 34px;
  padding: 0 20px;
  cursor: pointer;
}

.checkbox-field {
  color: #555;
  font-size: 13px;
}

.resume-meta b {
  font-weight: 400;
}

@media (max-width:1024px) {
  .resume-editor-page {
    height: auto;
    overflow: auto;
  }

  .editor-topbar {
    grid-template-columns: 70px 1fr;
  }

  .editor-user {
    display: none;
  }

  .editor-main {
    height: auto;
    display: block;
    overflow: visible;
  }

  .resume-editor-page.editor-collapsed .editor-main {
    display: block;
  }

  .editor-preview-zone {
    height: auto;
    min-height: 320px;
    overflow: hidden;
  }

  .editor-preview-inner {
    grid-template-columns: 1fr;
    height: auto;
  }

  .resume-paper {
    width: 100%;
  }

  .editor-ai-panel {
    display: none;
  }

  .preview-toggle-btn {
    display: none;
  }

  .editor-form-zone {
    height: auto;
    overflow: visible;
  }

  .editor-form {
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .form-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:640px) {
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-field {
    grid-template-columns: 1fr;
  }
}

.form-panel {
  display: none;
}

.form-panel.active {
  display: block;
}

.richtext-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f4f5f7;
  padding: 6px 8px;
  border-radius: 3px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.rt-size-label {
  font-size: 12px;
  color: #888;
  margin-right: 4px;
}

.rt-btn {
  width: 26px;
  height: 26px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 3px;
  cursor: pointer;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.rt-btn:hover {
  background: #e8faf6;
  border-color: #19c9a5;
}

.rt-tip {
  font-size: 11px;
  color: #aaa;
  margin-left: auto;
}

.richtext-area {
  min-height: 90px;
  border: 1px solid #e8e8e8;
  background: #fafafa;
  padding: 10px;
  font-size: 13px;
  line-height: 1.7;
  outline: none;
  border-radius: 2px;
}

.richtext-area:focus {
  border-color: #19c9a5;
  box-shadow: 0 0 0 2px rgba(25, 201, 165, .12);
}

.richtext-area:empty::before {
  content: attr(data-placeholder);
  color: #bbb;
  pointer-events: none;
}

.date-range-field {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: 8px;
}

.date-range {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.month-input {
  width: 100px;
  height: 32px;
  background: #f4f5f7;
  border: none;
  padding: 0 10px;
  cursor: pointer;
  font-size: 13px;
  color: #555;
  outline: none;
}

.month-input:focus,
.month-input[readonly]:hover {
  background: #edfaf6;
}

.date-sep {
  color: #aaa;
  font-size: 13px;
}

.till-now-label {
  font-size: 12px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 4px;
}

.ai-optimize-btn {
  margin-top: 8px;
  height: 30px;
  padding: 0 16px;
  border: 1px solid #ff8c2a;
  background: #fff;
  color: #ff8c2a;
  border-radius: 15px;
  cursor: pointer;
  font-size: 12px;
}

.ai-optimize-btn:hover {
  background: #ff8c2a;
  color: #fff;
}

.entry-card {
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  margin-bottom: 14px;
  overflow: hidden;
}

.entry-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #f9f9f9;
  border-bottom: 1px solid #f0f0f0;
}

.entry-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.entry-card-actions {
  display: flex;
  gap: 8px;
}

.entry-toggle-btn,
.entry-del-btn {
  height: 26px;
  padding: 0 12px;
  border-radius: 13px;
  font-size: 12px;
  cursor: pointer;
  border: 1px solid #ddd;
  background: #fff;
  color: #555;
}

.entry-del-btn {
  color: #e05;
  border-color: #fcc;
}

.entry-del-btn:hover {
  background: #fee;
  border-color: #e05;
}

.entry-body {
  padding: 14px 16px;
}

.entry-field-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  margin-bottom: 10px;
}

.entry-inline-field {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #555;
  font-size: 13px;
}

.entry-inline-field>span {
  white-space: nowrap;
  flex-shrink: 0;
}

.entry-inline-field input,
.entry-inline-field select {
  height: 32px;
  border: none;
  background: #f4f5f7;
  color: #555;
  padding: 0 10px;
  outline: none;
  font-size: 13px;
  min-width: 110px;
}

.entry-inline-field input:focus,
.entry-inline-field select:focus {
  box-shadow: 0 0 0 1px #19c9a5 inset;
}

.entry-inline-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #555;
  font-size: 13px;
}

.entry-inline-date>span:first-child {
  white-space: nowrap;
  flex-shrink: 0;
}

.entry-inline-date .month-input {
  width: 90px;
  height: 32px;
  background: #f4f5f7;
  border: none;
  padding: 0 8px;
  cursor: pointer;
  font-size: 13px;
  color: #555;
  outline: none;
}

.entry-inline-date .month-input:focus {
  background: #edfaf6;
}

.entry-inline-date .date-sep {
  color: #aaa;
  font-size: 13px;
}

.entry-inline-date .till-now-label {
  font-size: 12px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 4px;
}

.entry-richtext-wrap {
  margin-bottom: 10px;
}

.entry-richtext-wrap .richtext-bar {
  margin-bottom: 6px;
}

.entry-actions-row {
  margin-top: 6px;
}

.form-grid-wide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 24px;
  align-items: center;
  max-width: 860px;
}

.form-grid-wide .form-field {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

.form-grid-wide .form-field input,
.form-grid-wide .form-field select {
  width: 100%;
  height: 30px;
  border: none;
  background: #f4f5f7;
  color: #555;
  padding: 0 8px;
  outline: none;
  font-size: 13px;
}

.form-grid-wide .form-field input:focus,
.form-grid-wide .form-field select:focus {
  box-shadow: 0 0 0 1px #19c9a5 inset;
}

.form-field-photo {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #555;
  font-size: 13px;
  grid-column: span 1;
}

.form-field-hw {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #555;
  font-size: 13px;
}

.form-field-hw>span:first-child {
  width: 60px;
  flex-shrink: 0;
  white-space: nowrap;
}

.form-field-hw input {
  height: 32px;
  border: none;
  background: #f4f5f7;
  padding: 0 8px;
  outline: none;
  font-size: 13px;
  width: 60px;
}

.form-field-hw input:focus {
  box-shadow: 0 0 0 1px #19c9a5 inset;
}

.form-unit {
  font-size: 12px;
  color: #888;
  flex-shrink: 0;
}

.form-field-inline {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #555;
  font-size: 13px;
}

.form-field-inline>span:first-child {
  width: 60px;
  flex-shrink: 0;
  white-space: nowrap;
}

.form-field-inline input {
  height: 32px;
  border: none;
  background: #f4f5f7;
  padding: 0 8px;
  outline: none;
  font-size: 13px;
  width: 52px;
}

.form-calc-age {
  font-size: 12px;
  color: #19c9a5;
  text-decoration: none;
  white-space: nowrap;
  margin-left: 2px;
}

.birth-month-input {
  cursor: pointer;
}

.form-calc-age:hover {
  text-decoration: underline;
}

.form-divider {
  height: 1px;
  background: #f0f0f0;
  margin: 12px 0;
}

.form-field-inline-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.form-inline-tag {
  height: 30px;
  border: 1px solid #e0e0e0;
  background: #fafafa;
  padding: 0 10px;
  font-size: 13px;
  color: #555;
  outline: none;
  border-radius: 3px;
  width: 150px;
}

.form-inline-sep {
  color: #aaa;
  font-size: 14px;
}

.form-add-custom-btn {
  height: 30px;
  padding: 0 14px;
  border: 1px dashed #19c9a5;
  background: #fff;
  color: #19c9a5;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
}

.form-add-custom-btn:hover {
  background: #f0fdf8;
}

.form-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.skill-tags-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}

.skill-tags-label {
  font-size: 13px;
  color: #888;
}

.skill-tag {
  height: 28px;
  padding: 0 12px;
  border: 1px solid #19c9a5;
  border-radius: 14px;
  background: #fff;
  color: #19c9a5;
  cursor: pointer;
  font-size: 12px;
}

.skill-tag:hover {
  background: #19c9a5;
  color: #fff;
}

.skill-level-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.skill-level-item:last-child {
  border-bottom: none;
}

.skill-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

.skill-level-sel {
  height: 28px;
  border: 1px solid #ddd;
  background: #f4f5f7;
  padding: 0 8px;
  font-size: 12px;
  color: #555;
  cursor: pointer;
}

.skill-del-btn {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
}

.add-skill-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

#skill-input {
  flex: 1;
  height: 32px;
  background: #f4f5f7;
  border: none;
  padding: 0 10px;
  font-size: 13px;
  color: #555;
  outline: none;
}

#skill-input:focus {
  box-shadow: 0 0 0 1px #19c9a5 inset;
}

.skill-line {
  height: 6px;
  background: rgba(255, 255, 255, .3);
  border-radius: 3px;
  margin: 4px 0;
}

.skill-line span {
  display: block;
  height: 100%;
  background: #fff;
  border-radius: 3px;
}

.skill-label {
  font-size: 11px;
  color: rgba(255, 255, 255, .8);
  margin-bottom: 6px;
}

.month-picker-popup {
  width: 326px;
  background: #fff;
  border: 1px solid #edf0f4;
  border-radius: 2px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  color: #606266;
  padding: 0 18px 16px;
  box-sizing: border-box;
}

.mp-header {
  height: 54px;
  display: grid;
  grid-template-columns: 72px 1fr 72px;
  align-items: center;
  border-bottom: 1px solid #ebeef5;
  margin: 0 -8px 10px;
}

.mp-year {
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  color: #606266;
}

.mp-prev,
.mp-next {
  border: 0;
  background: transparent;
  color: #909399;
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  width: 42px;
  height: 42px;
  padding: 0;
}

.mp-prev {
  justify-self: end;
}

.mp-next {
  justify-self: start;
}

.mp-prev:hover,
.mp-next:hover,
.mp-month:hover,
.mp-month.active {
  color: #409eff;
}

.mp-months {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 28px;
  column-gap: 0;
  padding-top: 14px;
  margin-bottom: 0;
}

.mp-month {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #606266;
  font-size: 14px;
  cursor: pointer;
  padding: 0;
  height: 20px;
}

.mp-month.active {
  background: transparent;
  border-color: transparent;
}

.mp-clear {
  display: none;
}

.resume-section h2 {
  font-size: 15px;
  margin: 14px 0 2px;
  color: var(--resume-theme, #214d6a);
  display: flex;
  align-items: center;
  gap: 8px;
}

.resume-section h2::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--resume-theme, #214d6a);
  flex-shrink: 0;
}

.resume-divider {
  height: 1px;
  background: var(--resume-theme, #214d6a);
  opacity: .3;
  margin-bottom: 8px;
}

.resume-contact span {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
  opacity: .9;
}

.resume-side-section h3 {
  font-size: 13px;
  font-weight: 600;
  margin: 14px 0 6px;
}

.resume-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: #666;
  margin-bottom: 12px;
}

.resume-item-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 4px;
}

.editor-preview-zone.collapsed {
  height: 0;
  padding: 0;
  overflow: hidden;
}

.richtext-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f4f5f7;
  padding: 6px 8px;
  border-radius: 3px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.rt-size-label {
  font-size: 12px;
  color: #888;
  margin-right: 4px;
}

.rt-btn {
  width: 26px;
  height: 26px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 3px;
  cursor: pointer;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.rt-btn:hover {
  background: #e8faf6;
  border-color: #19c9a5;
}

.rt-tip {
  font-size: 11px;
  color: #aaa;
  margin-left: auto;
}

.richtext-area {
  min-height: 90px;
  border: 1px solid #e8e8e8;
  background: #fafafa;
  padding: 10px;
  font-size: 13px;
  line-height: 1.7;
  outline: none;
  border-radius: 2px;
}

.richtext-area:focus {
  border-color: #19c9a5;
  box-shadow: 0 0 0 2px rgba(25, 201, 165, .12);
}

.richtext-area:empty::before {
  content: attr(data-placeholder);
  color: #bbb;
  pointer-events: none;
}

.resume-section {
  margin-bottom: 2px;
}

.section-hidden {
  display: none !important;
}

.resume-section h2 {
  font-size: 15px;
  margin: 14px 0 2px;
  color: var(--resume-theme, #214d6a);
  display: flex;
  align-items: center;
  gap: 8px;
}

.resume-section h2::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--resume-theme, #214d6a);
  flex-shrink: 0;
}

.resume-divider {
  height: 1px;
  background: var(--resume-theme, #214d6a);
  opacity: .3;
  margin-bottom: 8px;
}

.resume-contact span {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
  opacity: .9;
}

.resume-side-section h3 {
  font-size: 13px;
  font-weight: 600;
  margin: 14px 0 6px;
}

.resume-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: #666;
  margin-bottom: 12px;
}

.resume-item-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 4px;
}

.editor-preview-zone.collapsed {
  height: 0;
  padding: 0;
  overflow: hidden;
}

.skin-panel {
  position: fixed;
  top: 46px;
  right: 0;
  width: 320px;
  max-height: calc(100vh - 46px);
  overflow-y: auto;
  background: #fff;
  border-left: 1px solid #e0e0e0;
  box-shadow: -4px 0 18px rgba(0, 0, 0, .12);
  padding: 18px 18px 28px;
  z-index: 100;
  transform: translateX(100%);
  transition: transform .28s ease;
}

.skin-panel.open {
  transform: translateX(0);
}

.skin-section {
  margin-bottom: 22px;
}

.skin-section h4 {
  margin: 0 0 10px;
  font-size: 13px;
  color: #555;
  font-weight: 600;
}

.tpl-dots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.tpl-dot {
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background: #f5f5f5;
  aspect-ratio: 3/4;
  transition: border-color .18s;
}

.tpl-dot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpl-dot:hover,
.tpl-dot.active {
  border-color: #19c9a5;
}

.tpl-dot.active {
  box-shadow: 0 0 0 2px #19c9a5;
}

.color-dots {
  display: grid;
  grid-template-columns: repeat(8, 24px);
  gap: 8px;
  margin-bottom: 10px;
}

.skin-panel .color-dot {
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .18);
  cursor: pointer;
  padding: 0;
  transition: transform .15s;
}

.skin-panel .color-dot:hover {
  transform: scale(1.2);
}

.skin-panel .color-dot.active {
  box-shadow: 0 0 0 3px #222;
}

.custom-color-row {
  margin-top: 8px;
  font-size: 13px;
  color: #555;
}

.custom-color-row input[type=color] {
  width: 32px;
  height: 24px;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 1px;
  cursor: pointer;
  vertical-align: middle;
  margin-left: 4px;
}

.tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="side-left"] {
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-rows: unset;
}

.resume-paper[data-tpl="top-bar"] {
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
}

.resume-paper[data-tpl="top-bar"] .resume-side {
  display: grid;
  grid-template-columns: 80px 1fr 1fr;
  align-items: center;
  gap: 16px;
  padding: 18px 28px;
}

.resume-paper[data-tpl="top-bar"] .resume-avatar {
  width: 72px;
  height: 72px;
  margin: 0;
}

.resume-paper[data-tpl="top-bar"] .resume-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 12px;
  font-size: 12px;
}

.resume-paper[data-tpl="top-bar"] .resume-side-section {
  display: none;
}

.resume-paper[data-tpl="top-bar"] .resume-main {
  padding: 24px 28px;
}

.resume-paper[data-tpl="minimal"] {
  grid-template-columns: 1fr;
  grid-template-rows: unset;
}

.resume-paper[data-tpl="minimal"] .resume-side {
  background: #f5f5f5;
  color: #333;
  padding: 18px 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  border-bottom: 3px solid var(--resume-theme, #333);
}

.resume-paper[data-tpl="minimal"] .resume-avatar {
  width: 72px;
  height: 72px;
  margin: 0;
}

.resume-paper[data-tpl="minimal"] .resume-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 12px;
}

.resume-paper[data-tpl="minimal"] .resume-contact span {
  color: #333;
  opacity: 1;
}

.resume-paper[data-tpl="minimal"] .resume-side-section {
  display: none;
}

.resume-paper[data-tpl="minimal"] .resume-main {
  padding: 24px 28px;
}

.resume-paper[data-tpl="minimal"] .resume-name {
  color: #222;
}

.resume-paper[data-tpl="minimal"] .resume-section h2 {
  border-left: 4px solid var(--resume-theme, #333);
  padding-left: 10px;
  color: #222;
}

.resume-paper[data-tpl="minimal"] .resume-section h2::before {
  display: none;
}

/* ══════════════════════════════════════════
   编辑页 8 套模板排版：对应 resume_templates/t1~t8.png
══════════════════════════════════════════ */
.resume-paper[data-tpl^="tpl-"] {
  grid-template-rows: unset;
}

.resume-paper[data-tpl^="tpl-"] .resume-name {
  color: var(--resume-theme, #214d6a);
}

.resume-paper[data-tpl^="tpl-"] .resume-section h2 {
  color: var(--resume-theme, #214d6a);
}

.resume-paper[data-tpl^="tpl-"] .resume-divider {
  background: var(--resume-theme, #214d6a);
}

.resume-paper[data-tpl^="tpl-"] .resume-section h2::before {
  background: var(--resume-theme, #214d6a);
}

.preview-page-break {
  display: none;
}

/* ── 屏幕分页间隙（保留 class 以备将来扩展，当前不自动插入）── */
.page-gap-spacer {
  display: none;
}

.page-gap-bar {
  display: none;
}

.resume-offscreen {
  display: none;
}

.page-sheet {
  display: none;
}

.page-sheet-inner {
  display: none;
}

/* t1：白底经典，头像右侧，信息4行居中 */
.resume-paper[data-tpl="tpl-1"] {
  display: block;
  position: relative;
  padding: 0;
  box-sizing: border-box;
}

.resume-paper[data-tpl="tpl-1"] .resume-side {
  display: none;
}

.resume-paper[data-tpl="tpl-1"] .resume-main {
  padding: 44px 64px 48px;
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}

/* 顶部 flex 行：左侧信息 + 右侧头像 */
.resume-paper[data-tpl="tpl-1"] .t1-header-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid #e0e0e0;
}

.resume-paper[data-tpl="tpl-1"] .t1-info-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.resume-paper[data-tpl="tpl-1"] .t1-name {
  font-size: 26px;
  font-weight: 700;
  color: #111;
  letter-spacing: 2px;
  margin: 0;
  text-align: center;
}

.resume-paper[data-tpl="tpl-1"] .t1-info-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 4px;
  font-size: 11px;
  color: #555;
  line-height: 1.6;
}

.resume-paper[data-tpl="tpl-1"] .t1-sep {
  color: #bbb;
  margin: 0 2px;
}

.resume-paper[data-tpl="tpl-1"] .t1-avatar {
  width: 72px;
  height: 86px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f3f3f3;
  display: block;
}

/* 各模块 */
.resume-paper[data-tpl="tpl-1"] .resume-section {
  padding-top: 16px;
  margin: 0;
}

.resume-paper[data-tpl="tpl-1"] .resume-section h2 {
  display: block;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 6px;
  padding-bottom: 4px;
  border-bottom: 1.5px solid #999;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-1"] .resume-section h2::before {
  display: none;
}

.resume-paper[data-tpl="tpl-1"] .resume-divider {
  display: none;
}

.resume-paper[data-tpl="tpl-1"] .resume-item {
  font-size: 11px;
  line-height: 1.75;
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-1"] .resume-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 3px;
}

.resume-paper[data-tpl="tpl-1"] .resume-item-date {
  white-space: nowrap;
  font-weight: 700;
  color: #333;
}

.resume-paper[data-tpl="tpl-1"] ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-detail p {
  margin: 3px 0;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 32px;
  margin-top: 10px;
  max-width: 440px;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-meter {
  height: 5px;
  background: #e9edf3;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme, #284967);
  border-radius: inherit;
}

/* t2：蓝色商务，左右分栏，左栏深色，右栏留白 */
.resume-paper[data-tpl="tpl-2"] {
  grid-template-columns: 205px minmax(0, 1fr);
  grid-template-rows: 1fr;
}

/* 左栏整体 */
.resume-paper[data-tpl="tpl-2"] .resume-side {
  background: var(--resume-theme, #254665);
  color: #fff;
  padding: 32px 20px 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 头像：圆形居中 */
.resume-paper[data-tpl="tpl-2"] .resume-avatar {
  width: 84px;
  height: 84px;
  margin: 0 auto 20px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .35);
  overflow: hidden;
  background: rgba(255, 255, 255, .15);
}

/* 姓名显示在左栏头像下方 */
.resume-paper[data-tpl="tpl-2"] .resume-side .t2-name {
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .5px;
  margin: 0 0 4px;
  color: #fff;
}

.resume-paper[data-tpl="tpl-2"] .resume-side .t2-jobtitle {
  text-align: center;
  font-size: 10.5px;
  opacity: .8;
  margin: 0 0 18px;
}

/* 联系方式 */
.resume-paper[data-tpl="tpl-2"] .resume-contact {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 22px;
}

.resume-paper[data-tpl="tpl-2"] .resume-contact .rc-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, .92);
  word-break: break-all;
}

.resume-paper[data-tpl="tpl-2"] .rc-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  fill: rgba(255, 255, 255, .8);
  overflow: visible;
}

/* 左栏分区标题 */
.resume-paper[data-tpl="tpl-2"] .resume-side-section {
  display: block;
}

.resume-paper[data-tpl="tpl-2"] .resume-side-section h3 {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .65);
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  padding-bottom: 5px;
  margin: 0 0 10px;
}

/* 技能条 */
.resume-paper[data-tpl="tpl-2"] .skill-line {
  height: 4px;
  background: rgba(255, 255, 255, .2);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-2"] .skill-line span {
  display: block;
  height: 100%;
  background: rgba(255, 255, 255, .85);
  border-radius: inherit;
}

.resume-paper[data-tpl="tpl-2"] .skill-label {
  font-size: 10px;
  opacity: .88;
  margin-bottom: 8px;
}

/* 右栏主体 */
.resume-paper[data-tpl="tpl-2"] .resume-main {
  padding: 32px 34px 32px;
}

/* 右栏：隐藏 t1 专用的信息行，主栏直接用 h1 姓名 + resume-meta */
.resume-paper[data-tpl="tpl-2"] .t1-header-info {
  display: none;
}

.resume-paper[data-tpl="tpl-2"] .resume-name {
  font-size: 26px;
  font-weight: 700;
  color: var(--resume-theme, #254665);
  margin: 0 0 4px;
  letter-spacing: .5px;
}

.resume-paper[data-tpl="tpl-2"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-2"] .resume-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 10px;
  font-size: 10.5px;
  color: #555;
  margin-bottom: 18px;
}

/* 章节标题 */
.resume-paper[data-tpl="tpl-2"] .resume-section {
  margin-top: 18px;
}

.resume-paper[data-tpl="tpl-2"] .resume-section h2 {
  font-size: 14px;
  font-weight: 700;
  color: var(--resume-theme, #254665);
  margin: 0 0 5px;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--resume-theme, #254665);
  display: flex;
  align-items: center;
  gap: 7px;
}

/* 圆形图标通用样式 */
.resume-paper[data-tpl="tpl-2"] .resume-section h2::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background-color: var(--resume-theme, #254665);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

/* 分页线仅在屏幕上显示，打印时隐藏 */
@media print {
  .page-break-line {
    display: none !important;
  }

  .resume-paper {
    overflow: hidden;
  }
}

/* 教育背景 — 毕业帽 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="edu"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10l-10-6L2 10l10 6 10-6z'/%3E%3Cpath d='M6 12v5c0 1.7 2.7 3 6 3s6-1.3 6-3v-5'/%3E%3C/svg%3E");
}

/* 工作经历 — 公文包 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="work"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2'/%3E%3Cline x1='12' y1='12' x2='12' y2='16'/%3E%3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3C/svg%3E");
}

/* 技能特长 — 闪电 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="skill"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}

/* 项目经验 — 文件夹 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="project"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2z'/%3E%3C/svg%3E");
}

/* 实习经历 — 图钉 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="intern"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='17' x2='12' y2='22'/%3E%3Cpath d='M5 17h14v-1.76a2 2 0 00-1.11-1.79l-1.78-.9A2 2 0 0115 10.76V6h1a2 2 0 000-4H8a2 2 0 000 4h1v4.76a2 2 0 01-1.11 1.79l-1.78.9A2 2 0 005 15.24V17z'/%3E%3C/svg%3E");
}

/* 荣誉证书 — 奖杯 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="honor"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='8 21 12 17 16 21'/%3E%3Cline x1='12' y1='17' x2='12' y2='11'/%3E%3Cpath d='M6 3H4v6a8 8 0 0016 0V3h-2'/%3E%3Cline x1='6' y1='3' x2='18' y2='3'/%3E%3C/svg%3E");
}

/* 兴趣爱好 — 心形 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="hobby"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z'/%3E%3C/svg%3E");
}

/* 自我评价 — 用户 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="self"] h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* 条目排版 */
.resume-paper[data-tpl="tpl-2"] .resume-item {
  font-size: 11px;
  line-height: 1.73;
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-2"] .resume-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  font-size: 11px;
  font-weight: 700;
  color: #222;
  margin-bottom: 3px;
}

.resume-paper[data-tpl="tpl-2"] .resume-item-header span:last-child:not(:first-child) {
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  min-width: 96px;
  text-align: right;
}

.resume-paper[data-tpl="tpl-2"] ul {
  margin: 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-2"] ul li {
  margin-bottom: 0;
}

/* tpl-2 技能/爱好在侧栏，主栏对应板块全部隐藏 */
.resume-paper[data-tpl="tpl-2"] .resume-main-skill-section {
  display: none !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-main-hobby-section {
  display: none !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="skill"] {
  display: none !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="hobby"] {
  display: none !important;
}

/* tpl-2 project/intern 在主栏正常显示 */
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="project"],
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="intern"] {
  display: block;
}

/* tpl-2 主栏求职意向行（resume-meta）正常显示，覆盖 section-hidden */
.resume-paper[data-tpl="tpl-2"] .resume-meta,
.resume-paper[data-tpl="tpl-2"] .resume-meta.section-hidden {
  display: flex !important;
  flex-wrap: wrap;
  gap: 3px 10px;
  font-size: 10.5px;
  color: #666;
  margin-bottom: 14px;
}

/* t2-side-name 默认全局隐藏，仅 tpl-2 下显示 */
.t2-side-name {
  display: none;
}

.resume-paper[data-tpl="tpl-2"] .t2-side-name {
  display: block;
  text-align: center;
  margin-bottom: 14px;
}

.resume-paper[data-tpl="tpl-2"] .t2-name {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .5px;
  margin-bottom: 4px;
}

.resume-paper[data-tpl="tpl-2"] .t2-jobtitle {
  font-size: 10.5px;
  color: rgba(255, 255, 255, .75);
}

/* tpl-2 主栏姓名区：右栏顶部大标题 */
.resume-paper[data-tpl="tpl-2"] .resume-name {
  font-size: 26px;
  font-weight: 700;
  color: var(--resume-theme, #254665);
  margin: 0 0 6px;
  display: block;
  letter-spacing: .5px;
}

/* 左栏 side-section 之间加间距 */
.resume-paper[data-tpl="tpl-2"] .resume-side-section {
  margin-top: 20px;
}

/* tpl-2 侧栏技能条目样式 */
.resume-paper[data-tpl="tpl-2"] .t2-skill-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-name {
  font-size: 10.5px;
  color: rgba(255, 255, 255, .9);
  margin-bottom: 3px;
}

.resume-paper[data-tpl="tpl-2"] .skill-line {
  height: 6px;
  background: rgba(255, 255, 255, .18);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 10px;
}

.resume-paper[data-tpl="tpl-2"] .skill-line span {
  display: block;
  height: 100%;
  background: rgba(255, 255, 255, .9);
  border-radius: inherit;
}

/* t3：通用简约，单栏，色块标题栏 */
.resume-paper[data-tpl="tpl-3"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-3"] .resume-side {
  display: none;
}

.resume-paper[data-tpl="tpl-3"] .resume-name,
.resume-paper[data-tpl="tpl-3"] .resume-meta,
.resume-paper[data-tpl="tpl-3"] .resume-section,
.resume-paper[data-tpl="tpl-3"] .t1-header-info,
.resume-paper[data-tpl="tpl-3"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-3"] .resume-main {
  padding: 0;
}

/* ── 顶部 Header ── */
.resume-paper[data-tpl="tpl-3"] .t3-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 28px 12px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-left {
  display: flex;
  align-items: center;
}

/* 主标题：蓝色同主题色，纤细字重 */
.resume-paper[data-tpl="tpl-3"] .t3-header-left h1 {
  font-size: 30px;
  font-weight: 300;
  color: var(--resume-theme);
  margin: 0;
  letter-spacing: 4px;
  line-height: 1;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-divider {
  width: 1px;
  height: 38px;
  background: #c5cdd2;
  margin: 0 16px;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-sub {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-sub p {
  font-size: 10.5px;
  color: #7a9bae;
  margin: 0;
  line-height: 1.4;
  letter-spacing: .5px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-sub .t3-subtitle {
  font-size: 17px;
  color: #7a9bae;
  font-style: normal;
  letter-spacing: 1px;
  margin: 0;
  font-weight: 300;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid #c19f67;
  background: rgba(193, 159, 103, .05);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #c19f67;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ── [顶部斜切条局部修正] 双色斜切分隔条 ── */
.resume-paper[data-tpl="tpl-3"] .t3-header-bar {
  height: 15px;
  margin: 14px 0 0;
  position: relative;
  width: 100%;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-bar-left {
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(74% - 1.5px);
  height: 15px;
  background: var(--resume-theme);
  clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%);
}

.resume-paper[data-tpl="tpl-3"] .t3-header-bar-right {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(26% - 1.5px);
  height: 12px;
  background: #c19f67;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 24px 100%);
}

/* ── 内容区竖线 ── */
.resume-paper[data-tpl="tpl-3"] #t3-content {
  position: relative;
  padding-bottom: 20px;
  border-left: 2px solid var(--resume-theme);
}

.resume-paper[data-tpl="tpl-3"] #t3-content::before {
  content: none;
}

/* ── 模块标题：左折角 + 右斜切 + 右侧平行装饰线 ── */
.resume-paper[data-tpl="tpl-3"] .t3-section-wrap {
  position: relative;
  margin: 14px 0 0;
  padding-left: 25px;
  display: flex;
  align-items: stretch;
  overflow: visible;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-wrap::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--resume-theme);
  opacity: .35;
  z-index: 0;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-wrap::before {
  content: none;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-title {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  background: var(--resume-theme);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 28px 7px 16px;
  letter-spacing: 1px;
  white-space: nowrap;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 100%, 0 100%);
}

.resume-paper[data-tpl="tpl-3"] .t3-rule {
  position: absolute;
  left: var(--t3-rule-x, 160px);
  right: 25px;
  bottom: 0;
  height: 1px;
  background: var(--resume-theme);
  opacity: .35;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-title::before {
  content: none;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-title::after {
  content: none;
}

.resume-paper[data-tpl="tpl-3"] .t3-corner {
  display: block;
  position: absolute;
  left: 25px;
  bottom: -9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 9px 0;
  border-color: transparent color-mix(in srgb, var(--resume-theme) 50%, #000 50%) transparent transparent;
  z-index: 2;
}

.resume-paper[data-tpl="tpl-3"] .t3-lines {
  display: block;
  position: relative;
  z-index: 2;
  align-self: stretch;
  margin-left: 2px;
  width: 26px;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-3"] .t3-lines::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  background: rgba(255, 255, 255, 0.6);
  clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}

.resume-paper[data-tpl="tpl-3"] .t3-lines::after {
  content: '';
  position: absolute;
  left: 11px;
  top: 0;
  bottom: 0;
  width: 11px;
  background: rgba(255, 255, 255, 0.45);
  clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}

/* ── 基本信息网格 ── */
.resume-paper[data-tpl="tpl-3"] .t3-basic-item .t3-colon {
  margin: 0 6px 0 0;
  color: #555;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 0;
  padding: 10px 28px 10px 32px;
  position: relative;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-item {
  display: flex;
  align-items: baseline;
  font-size: 11px;
  color: #333;
  line-height: 1.85;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-item .t3-label {
  min-width: 60px;
  color: #555;
  letter-spacing: 2px;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-3"] .t3-avatar {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  width: 74px;
  height: 90px;
  object-fit: cover;
  border: 1px solid #ddd;
}

/* 内容区通用 */
.resume-paper[data-tpl="tpl-3"] .t3-body {
  padding: 10px 32px 6px;
}

/* 教育 */
.resume-paper[data-tpl="tpl-3"] .t3-edu-item {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 12px;
  margin-bottom: 6px;
  font-size: 11px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-range {
  color: #666;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-school {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-degree {
  color: #666;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-desc {
  padding-left: 142px;
  font-size: 10.5px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 6px;
}

/* 工作 */
.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 10px;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-header {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 12px;
  font-size: 11px;
  align-items: baseline;
  margin-bottom: 4px;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-range {
  color: #666;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-position {
  color: #666;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item ul {
  margin: 0;
  padding-left: 154px;
  font-size: 10.5px;
  line-height: 1.75;
  color: #333;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item ul li {
  margin-bottom: 2px;
  list-style: disc;
}

/* 技能 */
.resume-paper[data-tpl="tpl-3"] .t3-skill-desc p {
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 40px;
  margin-top: 6px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* 荣誉/评价 */
.resume-paper[data-tpl="tpl-3"] .t3-honor-list {
  padding-left: 18px;
  margin: 0;
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
}

.resume-paper[data-tpl="tpl-3"] .t3-honor-list li {
  margin-bottom: 2px;
  list-style: disc;
}

.resume-paper[data-tpl="tpl-3"] .t3-self {
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}

/* t4：清爽个人 */
.resume-paper[data-tpl="tpl-4"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-4"] .resume-side,
.resume-paper[data-tpl="tpl-4"] .resume-name,
.resume-paper[data-tpl="tpl-4"] .resume-meta,
.resume-paper[data-tpl="tpl-4"] .resume-section,
.resume-paper[data-tpl="tpl-4"] .t1-header-info,
.resume-paper[data-tpl="tpl-4"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-4"] .resume-main {
  padding: 0;
}

.resume-paper[data-tpl="tpl-4"] .t4-head {
  text-align: center;
  padding: 24px 32px 12px;
}

.resume-paper[data-tpl="tpl-4"] .t4-head h1 {
  font-size: 26px;
  font-weight: 700;
  color: #222;
  margin: 0 0 4px;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-4"] .t4-head p {
  font-size: 11px;
  color: #666;
  margin: 0;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-bar {
  background: var(--resume-theme);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 32px;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic {
  display: flex;
  align-items: flex-start;
  padding: 10px 32px;
  gap: 12px;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 16px;
  font-size: 11px;
  color: #333;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b {
  color: #555;
}

.resume-paper[data-tpl="tpl-4"] .t4-full {
  grid-column: 1/-1;
}

.resume-paper[data-tpl="tpl-4"] .t4-avatar {
  width: 72px;
  height: 88px;
  object-fit: cover;
  border: 1px solid #ddd;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-4"] .t4-job {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding: 8px 32px;
  font-size: 11px;
  color: #333;
  background: #f5f8ff;
}

.resume-paper[data-tpl="tpl-4"] .t4-job b {
  color: #555;
}

.resume-paper[data-tpl="tpl-4"] .t4-body {
  padding: 10px 32px 6px;
  font-size: 11px;
  color: #333;
  line-height: 1.75;
}

.resume-paper[data-tpl="tpl-4"] .t4-body p {
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-4"] .t4-body ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-4"] .t4-body li {
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 10px;
  margin-bottom: 3px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-4"] .t4-range {
  color: #666;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-4"] .t4-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-4"] .t4-pos {
  color: #555;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-4"] .t4-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin-top: 8px;
}

.resume-paper[data-tpl="tpl-4"] .t4-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-4"] .t4-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-4"] .t4-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* t5：深蓝商务 */
.resume-paper[data-tpl="tpl-5"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-5"] .resume-side,
.resume-paper[data-tpl="tpl-5"] .resume-name,
.resume-paper[data-tpl="tpl-5"] .resume-meta,
.resume-paper[data-tpl="tpl-5"] .resume-section,
.resume-paper[data-tpl="tpl-5"] .t1-header-info,
.resume-paper[data-tpl="tpl-5"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-5"] .resume-main {
  padding: 0;
}

.resume-paper[data-tpl="tpl-5"] .t5-banner {
  background: var(--resume-theme);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 3px;
  padding: 14px 32px;
}

.resume-paper[data-tpl="tpl-5"] .t5-top {
  display: flex;
  align-items: flex-start;
  padding: 16px 32px;
  gap: 16px;
  border-bottom: 1px solid #e0e0e0;
}

.resume-paper[data-tpl="tpl-5"] .t5-top-left {
  flex: 1;
}

.resume-paper[data-tpl="tpl-5"] .t5-name {
  font-size: 22px;
  font-weight: 700;
  color: #222;
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-5"] .t5-jobtitle {
  font-size: 11px;
  color: var(--resume-theme);
  margin: 0 0 10px;
}

.resume-paper[data-tpl="tpl-5"] .t5-contacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  font-size: 10.5px;
  color: #333;
}

.resume-paper[data-tpl="tpl-5"] .t5-contacts span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.resume-paper[data-tpl="tpl-5"] .t5-icon {
  width: 13px;
  height: 13px;
  fill: var(--resume-theme);
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-5"] .t5-avatar {
  width: 76px;
  height: 92px;
  object-fit: cover;
  border: 1px solid #ddd;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--resume-theme);
  border-bottom: 2px solid var(--resume-theme);
  padding-bottom: 3px;
  margin: 14px 32px 6px;
}

.resume-paper[data-tpl="tpl-5"] .t5-body {
  padding: 0 32px 6px;
  font-size: 11px;
  color: #333;
  line-height: 1.75;
}

.resume-paper[data-tpl="tpl-5"] .t5-body p {
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-5"] .t5-body ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-5"] .t5-body li {
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 10px;
  margin-bottom: 3px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-5"] .t5-range {
  color: #666;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-5"] .t5-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-5"] .t5-pos {
  color: #555;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-5"] .t5-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin-top: 8px;
}

.resume-paper[data-tpl="tpl-5"] .t5-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-5"] .t5-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-5"] .t5-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* t6：蓝色圆形头像 */
.resume-paper[data-tpl="tpl-6"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-6"] .resume-side,
.resume-paper[data-tpl="tpl-6"] .resume-name,
.resume-paper[data-tpl="tpl-6"] .resume-meta,
.resume-paper[data-tpl="tpl-6"] .resume-section,
.resume-paper[data-tpl="tpl-6"] .t1-header-info,
.resume-paper[data-tpl="tpl-6"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-6"] .resume-main {
  padding: 0;
}

.resume-paper[data-tpl="tpl-6"] .t6-header {
  background: var(--resume-theme);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 32px 20px;
  text-align: center;
}

.resume-paper[data-tpl="tpl-6"] .t6-avatar {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, .6);
  margin-bottom: 10px;
}

.resume-paper[data-tpl="tpl-6"] .t6-name {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-6"] .t6-job-line {
  font-size: 11.5px;
  margin: 0 0 4px;
  opacity: .9;
}

.resume-paper[data-tpl="tpl-6"] .t6-contact-line {
  font-size: 10.5px;
  margin: 0;
  opacity: .8;
}

.resume-paper[data-tpl="tpl-6"] .t6-body {
  padding: 0 32px 12px;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e0e8f0;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background: var(--resume-theme);
  border-radius: 50%;
  padding: 3px;
  box-sizing: border-box;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-wrap span {
  font-size: 13px;
  font-weight: 700;
  color: var(--resume-theme);
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-body {
  font-size: 11px;
  color: #333;
  line-height: 1.75;
  padding-left: 4px;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-body p {
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-body ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-body li {
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 10px;
  margin-bottom: 4px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-6"] .t6-range {
  color: var(--resume-theme);
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-6"] .t6-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-6"] .t6-pos {
  color: #555;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-6"] .t6-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin-top: 8px;
}

.resume-paper[data-tpl="tpl-6"] .t6-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-6"] .t6-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-6"] .t6-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* t7：双栏经典 */
.resume-paper[data-tpl="tpl-7"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-7"] .resume-side,
.resume-paper[data-tpl="tpl-7"] .resume-name,
.resume-paper[data-tpl="tpl-7"] .resume-meta,
.resume-paper[data-tpl="tpl-7"] .resume-section,
.resume-paper[data-tpl="tpl-7"] .t1-header-info,
.resume-paper[data-tpl="tpl-7"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-7"] .resume-main {
  padding: 0;
}

.resume-paper[data-tpl="tpl-7"] .t7-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 32px 16px;
  border-bottom: 1px solid #e0e0e0;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-wrap h1 {
  font-size: 28px;
  font-weight: 700;
  color: var(--resume-theme);
  margin: 0;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-7"] .t7-divider {
  font-size: 28px;
  color: #ccc;
  line-height: 1;
}

.resume-paper[data-tpl="tpl-7"] .t7-subtitle {
  display: flex;
  flex-direction: column;
}

.resume-paper[data-tpl="tpl-7"] .t7-subtitle span {
  font-size: 13px;
  font-weight: 600;
  color: #555;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-7"] .t7-subtitle small {
  font-size: 10px;
  color: #999;
  margin-top: 2px;
}

.resume-paper[data-tpl="tpl-7"] .t7-avatar {
  width: 68px;
  height: 82px;
  object-fit: cover;
  border: 1px solid #ddd;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 12px;
  padding: 10px 32px;
  font-size: 11px;
  color: #333;
  border-bottom: 1px solid #eee;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic b {
  color: #555;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-bar {
  background: var(--resume-theme);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 32px;
  letter-spacing: 1px;
  margin-top: 4px;
}

.resume-paper[data-tpl="tpl-7"] .t7-body {
  padding: 8px 32px 6px;
  font-size: 11px;
  color: #333;
  line-height: 1.75;
}

.resume-paper[data-tpl="tpl-7"] .t7-body p {
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-7"] .t7-body ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-7"] .t7-body li {
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 10px;
  margin-bottom: 3px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-7"] .t7-range {
  color: var(--resume-theme);
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-7"] .t7-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-7"] .t7-pos {
  color: #555;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-7"] .t7-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin-top: 8px;
}

.resume-paper[data-tpl="tpl-7"] .t7-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-7"] .t7-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-7"] .t7-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* t8：深蓝横幅 */
.resume-paper[data-tpl="tpl-8"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-8"] .resume-side,
.resume-paper[data-tpl="tpl-8"] .resume-name,
.resume-paper[data-tpl="tpl-8"] .resume-meta,
.resume-paper[data-tpl="tpl-8"] .resume-section,
.resume-paper[data-tpl="tpl-8"] .t1-header-info,
.resume-paper[data-tpl="tpl-8"] .tpl-name-badge {
  display: none;
}

.resume-paper[data-tpl="tpl-8"] .resume-main {
  padding: 0;
}

.resume-paper[data-tpl="tpl-8"] .t8-header {
  background: var(--resume-theme);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 32px;
  gap: 16px;
}

.resume-paper[data-tpl="tpl-8"] .t8-header-info {
  flex: 1;
}

.resume-paper[data-tpl="tpl-8"] .t8-name {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 4px;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-8"] .t8-subtitle {
  font-size: 11px;
  opacity: .85;
  margin: 0 0 10px;
}

.resume-paper[data-tpl="tpl-8"] .t8-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  font-size: 10.5px;
}

.resume-paper[data-tpl="tpl-8"] .t8-contact-grid span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.resume-paper[data-tpl="tpl-8"] .t8-icon {
  width: 13px;
  height: 13px;
  fill: #fff;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  width: 76px;
  height: 92px;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .5);
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-8"] .t8-content {
  padding: 0 32px 12px;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid #dde4ef;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-icon-wrap {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--resume-theme);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-icon {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-wrap span {
  font-size: 13px;
  font-weight: 700;
  color: #222;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body {
  font-size: 11px;
  color: #333;
  line-height: 1.75;
  padding-left: 4px;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body p {
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body li {
  margin-bottom: 2px;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 0 10px;
  margin-bottom: 4px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-8"] .t8-range {
  color: var(--resume-theme);
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-8"] .t8-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-8"] .t8-pos {
  color: #555;
  text-align: right;
  white-space: nowrap;
}

.resume-paper[data-tpl="tpl-8"] .t8-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
  margin-top: 8px;
}

.resume-paper[data-tpl="tpl-8"] .t8-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-8"] .t8-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-8"] .t8-meter span {
  display: block;
  height: 100%;
  background: rgba(255, 255, 255, .7);
  border-radius: inherit;
}

/* ══════════════════════════════════════════
   @media print — PDF 导出
   打印时只显示简历纸张，隐藏所有 UI
══════════════════════════════════════════ */
@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    height: auto !important;
    overflow: visible !important;
  }

  .editor-topbar,
  .editor-form-zone,
  .preview-toggle-btn,
  .preview-page-break,
  .page-gap-bar,
  .page-gap-spacer,
  #page-col,
  .editor-ai-panel,
  .skin-panel {
    display: none !important;
  }

  .editor-main {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .editor-preview-zone {
    display: block !important;
    background: #fff !important;
    overflow: visible !important;
    padding: 0 !important;
    height: auto !important;
  }

  .editor-preview-inner {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  .resume-paper {
    width: 794px !important;
    min-height: 1123px !important;
    box-shadow: none !important;
    margin: 0 auto !important;
    background-image: none !important;
    page-break-inside: auto;
    break-inside: auto;
  }

  .resume-section,
  .resume-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .resume-side {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-section h2::before {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* ── 兴趣爱好胶囊标签（编辑页） ── */
.resume-paper .hobby-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 2px 0;
}

.resume-paper .hobby-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .5);
  font-size: 10px;
  color: rgba(255, 255, 255, .92);
  background: rgba(255, 255, 255, .12);
  white-space: nowrap;
}

/* tpl-1 右栏主体里的胶囊用主题色风格 */
.resume-paper[data-tpl="tpl-1"] .resume-main .hobby-tag {
  border: 1px solid var(--resume-theme, #284967);
  color: var(--resume-theme, #284967);
  background: rgba(0, 0, 0, .03);
  font-size: 10.5px;
}

/* ── tpl-3：通用简约，单栏，色块标题栏 ── */
.resume-paper[data-tpl="tpl-3"] {
  display: block;
  grid-template-columns: unset;
}

.resume-paper[data-tpl="tpl-3"] .resume-side {
  display: none;
}

.resume-paper[data-tpl="tpl-3"] .t1-header-info {
  display: none;
}

.resume-paper[data-tpl="tpl-3"] .resume-main {
  padding: 0;
}

/* tpl-3 顶部 header */
.resume-paper[data-tpl="tpl-3"] .t3-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 32px 14px;
  border-bottom: 3px solid var(--resume-theme);
}

.resume-paper[data-tpl="tpl-3"] .t3-header-left h1 {
  font-size: 32px;
  font-weight: 900;
  color: var(--resume-theme);
  margin: 0 0 2px;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-left p {
  font-size: 11px;
  color: #888;
  margin: 0 0 2px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-left .t3-subtitle {
  font-size: 13px;
  color: #aaa;
  font-style: italic;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icons {
  display: flex;
  gap: 10px;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--resume-theme);
  display: flex;
  align-items: center;
  justify-content: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-header-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--resume-theme);
  stroke-width: 1.8;
}

/* 色块板块标题 */
.resume-paper[data-tpl="tpl-3"] .t3-section-title {
  background: var(--resume-theme);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 5px 32px;
  margin: 0;
  letter-spacing: 1px;
}

/* 基本信息网格 */
.resume-paper[data-tpl="tpl-3"] .t3-basic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 0;
  padding: 12px 32px 12px;
  position: relative;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-item {
  display: flex;
  align-items: baseline;
  font-size: 11px;
  color: #333;
  line-height: 1.8;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-item .t3-label {
  min-width: 52px;
  color: #555;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-3"] .t3-avatar {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  width: 74px;
  height: 88px;
  object-fit: cover;
  border: 1px solid #ddd;
}

/* 内容区通用 */
.resume-paper[data-tpl="tpl-3"] .t3-body {
  padding: 10px 32px 4px;
}

/* 教育 */
.resume-paper[data-tpl="tpl-3"] .t3-edu-item {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 0 12px;
  margin-bottom: 6px;
  font-size: 11px;
  align-items: baseline;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-range {
  color: #666;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-school {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-degree {
  color: #666;
  text-align: right;
}

.resume-paper[data-tpl="tpl-3"] .t3-edu-desc {
  padding-left: 122px;
  font-size: 10.5px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 6px;
}

/* 工作 */
.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-header {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 0 12px;
  font-size: 11px;
  align-items: baseline;
  margin-bottom: 4px;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-range {
  color: #666;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-company {
  font-weight: 700;
  color: #222;
  text-align: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-position {
  color: #666;
  text-align: right;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item ul {
  margin: 0;
  padding-left: 130px;
  font-size: 10.5px;
  line-height: 1.7;
  color: #333;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item ul li {
  margin-bottom: 2px;
  list-style: disc;
}

/* 技能 */
.resume-paper[data-tpl="tpl-3"] .t3-skill-desc p {
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 3px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 40px;
  margin-top: 6px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bar-row {
  display: grid;
  grid-template-columns: 60px 1fr 30px;
  align-items: center;
  gap: 6px;
  font-size: 10px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-meter {
  height: 5px;
  background: #dde3ea;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-meter span {
  display: block;
  height: 100%;
  background: var(--resume-theme);
  border-radius: inherit;
}

/* 荣誉/评价 */
.resume-paper[data-tpl="tpl-3"] .t3-honor-list {
  padding-left: 18px;
  margin: 0;
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
}

.resume-paper[data-tpl="tpl-3"] .t3-honor-list li {
  margin-bottom: 2px;
  list-style: disc;
}

.resume-paper[data-tpl="tpl-3"] .t3-self {
  font-size: 10.5px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}

/* tpl-3 下隐藏不需要的原有元素 */
.resume-paper[data-tpl="tpl-3"] .resume-name,
.resume-paper[data-tpl="tpl-3"] .resume-meta,
.resume-paper[data-tpl="tpl-3"] .resume-section,
.resume-paper[data-tpl="tpl-3"] .tpl-name-badge {
  display: none;
}

/* editor-resume 是编辑页的 article 容器，与 resume-paper 共享布局 */
#editor-resume {
  width: 794px;
  min-height: 1123px;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
  overflow: visible;
  position: relative;
}

#editor-resume.resume-paper {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
}

/* CSS 变量：页边距 & 模块间距，由滑块写入 */
.resume-paper .resume-main,
#editor-resume .resume-main {
  padding: var(--resume-padding, 28px);
}

.resume-paper .resume-section,
#editor-resume .resume-section {
  margin-bottom: var(--resume-section-gap, 14px);
}

.resume-paper[data-tpl="tpl-1"] .resume-main,
#editor-resume[data-tpl="tpl-1"] .resume-main {
  padding: var(--resume-padding, 28px);
}

/* 字体/行距面板样式 */
.font-select-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.font-btn {
  padding: 6px 14px;
  border: 1.5px solid #ddd;
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
  cursor: pointer;
}

.font-btn.active {
  border-color: var(--resume-theme, #0e88ad);
  color: var(--resume-theme, #0e88ad);
}

.slider-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.slider-row input[type=range] {
  flex: 1;
}

.slider-val {
  font-size: 12px;
  color: #888;
  min-width: 36px;
  text-align: right;
}

/* ── 分页间隔：两页之间的间隙 ── */
.page-break-spacer {
  display: block;
  background: #d0d5dc !important;
  margin: 0;
  flex-shrink: 0;
}

#editor-resume {
  display: flex;
  flex-direction: column;
}


/* t6/t8 section 包裹容器 */
.resume-paper[data-tpl="tpl-6"] .t6-sec-wrap2,
.resume-paper[data-tpl="tpl-8"] .t8-sec-wrap2 {
  display: block;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec-wrap2.section-hidden,
.resume-paper[data-tpl="tpl-8"] .t8-sec-wrap2.section-hidden {
  display: none !important;
}

/* t3/t4/t5/t7 section 包裹容器 */
.resume-paper[data-tpl="tpl-3"] .t3-section-wrap {
  display: block;
}

.resume-paper[data-tpl="tpl-3"] .t3-section-wrap.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap {
  display: block;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap {
  display: block;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-wrap {
  display: block;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-wrap.section-hidden {
  display: none !important;
}

/* 分页间隔：灰色不透明，显示背景色 */
.page-break-spacer {
  display: block !important;
  background: #d0d5dc !important;
  flex-shrink: 0 !important;
}



/* tpl-1 最终校对：基础信息栏四行居中，无左右栏目 */
.resume-paper[data-tpl="tpl-1"] {
  display: block !important;
  background: #fff;
}

.resume-paper[data-tpl="tpl-1"] .resume-main {
  width: 100% !important;
  padding: 54px 70px 52px !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-header-block {
  display: grid !important;
  grid-template-columns: 1fr 82px;
  column-gap: 32px;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 540px;
  margin: 0 auto 22px !important;
  padding: 0 0 12px !important;
  border-bottom: none !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-info-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 2px !important;
  min-width: 0;
}

.resume-paper[data-tpl="tpl-1"] .t1-name {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #111 !important;
  margin: 0 0 4px !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-info-line {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #555 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-sep {
  color: #aaa !important;
  margin: 0 5px !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-avatar {
  width: 70px !important;
  height: 84px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

.resume-paper[data-tpl="tpl-1"] .resume-section:first-of-type {
  padding-top: 4px !important;
}

/* tpl-1 字体体系最终统一：栏目标题 / 小标题 / 正文 / 技能内容 */
.resume-paper[data-tpl="tpl-1"],
.resume-paper[data-tpl="tpl-1"] * {
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif !important;
}

/* 栏目标题：教育背景、工作经历、技能特长、荣誉证书、自我评价 */
.resume-paper[data-tpl="tpl-1"] .resume-section h2 {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: #111 !important;
  letter-spacing: 1px !important;
}

/* 小标题：学校/公司/职位/时间 */
.resume-paper[data-tpl="tpl-1"] .resume-item-header,
.resume-paper[data-tpl="tpl-1"] .resume-item-header strong,
.resume-paper[data-tpl="tpl-1"] .resume-item-date {
  font-size: 12px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  color: #111 !important;
}

/* 正文内容：所有段落、描述、列表、技能特长说明 */
.resume-paper[data-tpl="tpl-1"] .resume-item,
.resume-paper[data-tpl="tpl-1"] .resume-item-desc,
.resume-paper[data-tpl="tpl-1"] .resume-item-desc *,
.resume-paper[data-tpl="tpl-1"] .resume-section p,
.resume-paper[data-tpl="tpl-1"] .resume-section li,
.resume-paper[data-tpl="tpl-1"] .t1-skill-detail,
.resume-paper[data-tpl="tpl-1"] .t1-skill-detail p {
  font-size: 11px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  color: #222 !important;
}

/* 技能条文字：与正文一致，不再比其他内容小 */
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item,
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item span,
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item strong {
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bars {
  font-size: 11px !important;
}

/* 打印机式分页：页间只显示预览区背景色，无线条无内容 */
.editor-preview-zone {
  --preview-bg: #34364f;
}

.page-break-spacer {
  display: block !important;
  background: var(--preview-bg, #34364f) !important;
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
  pointer-events: none !important;
  break-before: auto;
  break-after: auto;
}

.page-break-spacer::before,
.page-break-spacer::after {
  content: none !important;
  display: none !important;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .editor-topbar,
  .editor-ai-panel,
  .editor-form-zone,
  .preview-toggle-btn,
  .skin-panel,
  .page-break-spacer {
    display: none !important;
  }

  .editor-main,
  .editor-preview-zone,
  .editor-preview-inner {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  .resume-paper {
    width: 210mm !important;
    min-height: 297mm !important;
    box-shadow: none !important;
    margin: 0 !important;
    page-break-after: always;
  }
}

/* 分页最终覆盖：屏幕无虚线，打印按同一分页点 */
.page-break-line {
  display: none !important;
}

.page-break-spacer {
  background: #34364f !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

@media print {
  .page-break-line {
    display: none !important;
  }

  .page-break-spacer {
    display: block !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  .resume-paper {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .resume-paper .resume-section,
  .resume-paper .resume-item,
  .resume-paper li,
  .resume-paper p {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* tpl-2 最终结构校对：左栏 基础信息/技能/兴趣；右栏 姓名/求职/经历 */
.resume-paper[data-tpl="tpl-2"] .resume-avatar {
  width: 92px !important;
  height: 112px !important;
  border-radius: 0 !important;
  border: 4px solid rgba(255, 255, 255, .9) !important;
  margin: 0 auto 14px !important;
  background: #fff !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-contact {
  margin-top: 18px !important;
  margin-bottom: 26px !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side-section[data-section="skill"] {
  margin-top: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-hobby-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}

.resume-paper[data-tpl="tpl-2"] .t2-hobby-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: var(--resume-theme, #254665);
  font-size: 10px;
  line-height: 1.2;
}

.resume-paper[data-tpl="tpl-2"] .resume-meta {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
  margin: 0 0 18px !important;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(0, 0, 0, .12);
  font-size: 11px !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="project"].section-hidden,
.resume-paper[data-tpl="tpl-2"] .resume-section[data-section="intern"].section-hidden {
  display: none !important;
}

/* tpl-3 参考图2最终样式：横幅标题 + 斜角模块标题 */
.resume-paper[data-tpl="tpl-3"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-page {
  padding: 24px 28px 36px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  color: #222;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.resume-paper[data-tpl="tpl-3"] .t3-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.resume-paper[data-tpl="tpl-3"] .t3-title {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.resume-paper[data-tpl="tpl-3"] .t3-title h1 {
  font-size: 30px;
  line-height: 1.05;
  margin: 0;
  color: #2c5f6b;
  font-weight: 500;
  letter-spacing: 1px;
  padding-right: 14px;
  border-right: 2px solid #2c5f6b;
}

.resume-paper[data-tpl="tpl-3"] .t3-title p {
  margin: 2px 0 2px;
  font-size: 13px;
  color: #4a5e61;
}

.resume-paper[data-tpl="tpl-3"] .t3-title strong {
  display: block;
  font-size: 24px;
  line-height: 1.1;
  color: #3d5960;
  font-weight: 400;
}

.resume-paper[data-tpl="tpl-3"] .t3-icons {
  display: flex;
  gap: 10px;
  padding-top: 4px;
}

.resume-paper[data-tpl="tpl-3"] .t3-icons span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #c5a05c;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  height: 14px;
  background: #2c5f6b;
  position: relative;
  margin: 0 -28px 10px;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line i {
  position: absolute;
  left: 60%;
  top: 0;
  width: 52px;
  height: 14px;
  background: #c5a05c;
  transform: skewX(38deg);
  transform-origin: left top;
}

.resume-paper[data-tpl="tpl-3"] .t3-section {
  position: relative;
  border-left: 1px solid #2c5f6b;
  margin: 0 0 10px;
  padding: 0 0 0 28px;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  position: relative;
  border-bottom: 1.5px solid #2c5f6b;
  margin: 0 0 10px -28px;
  height: 25px;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  position: absolute;
  left: -12px;
  top: 0;
  min-width: 92px;
  height: 25px;
  padding: 0 18px 0 26px;
  background: #2c5f6b;
  color: #fff;
  font-size: 14px;
  line-height: 25px;
  font-weight: 700;
  box-sizing: border-box;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title i {
  position: absolute;
  left: 78px;
  top: 0;
  width: 44px;
  height: 25px;
  background: repeating-linear-gradient(90deg, #2c5f6b 0, #2c5f6b 7px, rgba(44, 95, 107, .65) 7px, rgba(44, 95, 107, .65) 11px);
  transform: skewX(38deg);
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  font-size: 11px;
  line-height: 1.68;
  padding: 0 8px 2px 0;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 88px;
  gap: 5px 24px;
  min-height: 88px;
  align-items: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid div {
  font-size: 11.5px;
  line-height: 1.45;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b {
  display: inline-block;
  min-width: 62px;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  grid-column: 3;
  grid-row: 1 / span 4;
  width: 72px;
  height: 86px;
  object-fit: cover;
  justify-self: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 {
  display: grid;
  grid-template-columns: 145px 1fr 132px;
  gap: 12px;
  font-size: 12px;
  line-height: 1.55;
  margin: 2px 0 5px;
  align-items: center;
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 strong,
.resume-paper[data-tpl="tpl-3"] .t3-row3 em {
  font-style: normal;
  font-weight: 700;
  color: #111;
}

.resume-paper[data-tpl="tpl-3"] .t3-text,
.resume-paper[data-tpl="tpl-3"] .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text li,
.resume-paper[data-tpl="tpl-3"] .t3-list,
.resume-paper[data-tpl="tpl-3"] .t3-self {
  font-size: 11px;
  line-height: 1.68;
  color: #222;
}

.resume-paper[data-tpl="tpl-3"] .t3-text ul,
.resume-paper[data-tpl="tpl-3"] .t3-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 70px;
  margin-top: 8px;
  max-width: 430px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars div {
  display: grid;
  grid-template-columns: 70px 1fr 32px;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b i {
  display: block;
  height: 100%;
  background: #2c5f6b;
}

/* tpl-4 参考图2最终样式：居中标题 + 浅蓝横条模块 */
.resume-paper[data-tpl="tpl-4"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-page {
  padding: 28px 32px 36px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #222;
}

.resume-paper[data-tpl="tpl-4"] .t4-head {
  text-align: center;
  margin: 0 0 16px;
  padding: 0;
  background: transparent !important;
  color: #2b6174 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-head h1 {
  margin: 0 0 4px;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: 3px;
}

.resume-paper[data-tpl="tpl-4"] .t4-head p {
  margin: 0;
  font-size: 12px;
  color: #333;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap {
  margin: 0 0 12px;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-bar {
  height: 26px;
  background: #eef8fb !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  position: relative;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-bar span {
  display: inline-flex;
  align-items: center;
  height: 26px;
  min-width: 82px;
  padding: 0 16px;
  background: #1f7892;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  box-sizing: border-box;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-body {
  padding: 0 8px;
  font-size: 11px;
  line-height: 1.72;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic {
  display: grid !important;
  grid-template-columns: 1fr 92px;
  align-items: center;
  gap: 24px;
  padding: 4px 14px 2px;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 7px 54px;
  font-size: 12px;
  line-height: 1.5;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b {
  display: inline-block;
  min-width: 68px;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-4"] .t4-avatar {
  width: 72px !important;
  height: 86px !important;
  object-fit: cover !important;
  justify-self: center;
  position: static !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-job {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 18px;
  padding: 6px 12px;
  font-size: 12px;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 {
  display: grid !important;
  grid-template-columns: 150px 1fr 128px;
  gap: 12px;
  align-items: center;
  margin: 3px 0 6px;
  font-size: 12px;
  line-height: 1.55;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 strong,
.resume-paper[data-tpl="tpl-4"] .t4-row3 em {
  font-style: normal;
  font-weight: 700;
  color: #111;
}

.resume-paper[data-tpl="tpl-4"] .t4-text,
.resume-paper[data-tpl="tpl-4"] .t4-text p,
.resume-paper[data-tpl="tpl-4"] .t4-text li,
.resume-paper[data-tpl="tpl-4"] .t4-list,
.resume-paper[data-tpl="tpl-4"] .t4-self {
  font-size: 11px !important;
  line-height: 1.72 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-text ul,
.resume-paper[data-tpl="tpl-4"] .t4-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-4"] .t4-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 64px;
  max-width: 460px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars div {
  display: grid;
  grid-template-columns: 62px 1fr 32px;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars b i {
  display: block;
  height: 100%;
  background: #1f7892;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap.section-hidden {
  display: none !important;
}

/* tpl-5 参考图最终样式：PERSONAL RESUME 蓝栏 + 信息区 + 横线模块 */
.resume-paper[data-tpl="tpl-5"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-page {
  width: 100% !important;
  padding: 16px 28px 36px !important;
  box-sizing: border-box !important;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #222;
}

.resume-paper[data-tpl="tpl-5"] .t5-banner {
  display: block !important;
  height: 30px !important;
  line-height: 30px !important;
  background: #2d5f93 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  padding: 0 12px !important;
  margin: 0 0 18px !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-header {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 22px;
  align-items: start;
  margin-bottom: 16px;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left h1 {
  margin: 0 0 2px;
  color: #2b5f8d;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left p {
  margin: 0 0 8px;
  font-size: 12px;
  color: #333;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 42px;
  border-top: 1px solid #999;
  padding-top: 8px;
  font-size: 11.5px;
  line-height: 1.45;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid b {
  font-weight: 700;
  color: #111;
}

.resume-paper[data-tpl="tpl-5"] .t5-avatar {
  width: 78px !important;
  height: 94px !important;
  object-fit: cover !important;
  justify-self: center;
  margin-top: 10px;
  position: static !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap {
  margin: 0 0 14px;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap h2 {
  margin: 0 0 7px;
  padding-bottom: 5px;
  border-bottom: 1.5px solid #999;
  color: #2b5f8d;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-body {
  font-size: 11px;
  line-height: 1.72;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 {
  display: grid !important;
  grid-template-columns: 150px 1fr 128px;
  gap: 12px;
  align-items: center;
  margin: 2px 0 6px;
  font-size: 12px;
  line-height: 1.55;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 strong,
.resume-paper[data-tpl="tpl-5"] .t5-row3 em {
  font-style: normal;
  font-weight: 700;
  color: #111;
}

.resume-paper[data-tpl="tpl-5"] .t5-text,
.resume-paper[data-tpl="tpl-5"] .t5-text p,
.resume-paper[data-tpl="tpl-5"] .t5-text li,
.resume-paper[data-tpl="tpl-5"] .t5-list,
.resume-paper[data-tpl="tpl-5"] .t5-self {
  font-size: 11px !important;
  line-height: 1.72 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-text ul,
.resume-paper[data-tpl="tpl-5"] .t5-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-5"] .t5-work-item {
  margin-bottom: 8px;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 64px;
  max-width: 460px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars div {
  display: grid;
  grid-template-columns: 62px 1fr 32px;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars b i {
  display: block;
  height: 100%;
  background: #2d5f93;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap.section-hidden {
  display: none !important;
}

/* tpl-6 参考图最终样式：蓝色头图 + 左侧时间轴 */
.resume-paper[data-tpl="tpl-6"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-page {
  padding: 0 0 34px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #222;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero {
  min-height: 220px;
  padding: 24px 42px 26px;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  background: linear-gradient(135deg, #43a7da 0%, #2f87be 52%, #2f8fc7 100%);
}

.resume-paper[data-tpl="tpl-6"] .t6-avatar {
  width: 82px !important;
  height: 82px !important;
  border-radius: 50% !important;
  border: 5px solid rgba(255, 255, 255, .95) !important;
  object-fit: cover !important;
  margin: 0 auto 12px !important;
  display: block !important;
  background: #fff;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero h1 {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  color: #fff;
  letter-spacing: 1px;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero p {
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
  color: #fff;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero i {
  font-style: normal;
  margin: 0 8px;
  opacity: .8;
}

.resume-paper[data-tpl="tpl-6"] .t6-timeline {
  position: relative;
  padding: 22px 40px 0 78px;
}

.resume-paper[data-tpl="tpl-6"] .t6-timeline::before {
  content: "";
  position: absolute;
  left: 51px;
  top: 22px;
  bottom: 0;
  width: 2px;
  background: #4b9bc1;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec {
  position: relative;
  margin: 0 0 18px;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-node {
  position: absolute;
  left: -42px;
  top: -2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #3b94bf;
  color: #fff;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #3b94bf;
  display: flex;
  align-items: center;
  justify-content: center;
}

.resume-paper[data-tpl="tpl-6"] .t6-node svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.resume-paper[data-tpl="tpl-6"] .t6-content h2 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 800;
  color: #222;
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 {
  display: grid !important;
  grid-template-columns: 150px 1fr 128px;
  gap: 12px;
  align-items: center;
  margin: 3px 0 6px;
  font-size: 12px;
  line-height: 1.55;
  color: color-mix(in srgb, var(--resume-theme, #3c9bc6) 78%, #123 22%);
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 strong,
.resume-paper[data-tpl="tpl-6"] .t6-row3 em {
  font-style: normal;
  font-weight: 700;
  color: color-mix(in srgb, var(--resume-theme, #3c9bc6) 78%, #123 22%);
}

.resume-paper[data-tpl="tpl-6"] .t6-text,
.resume-paper[data-tpl="tpl-6"] .t6-text p,
.resume-paper[data-tpl="tpl-6"] .t6-text li,
.resume-paper[data-tpl="tpl-6"] .t6-list,
.resume-paper[data-tpl="tpl-6"] .t6-self {
  font-size: 11px !important;
  line-height: 1.72 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text ul,
.resume-paper[data-tpl="tpl-6"] .t6-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-6"] .t6-work-item {
  margin-bottom: 9px;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 64px;
  max-width: 460px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars div {
  display: grid;
  grid-template-columns: 62px 1fr 32px;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars b i {
  display: block;
  height: 100%;
  background: #3b94bf;
}

/* tpl-7 参考图最终样式：顶部圆角蓝条 + 左标签横线模块 */
.resume-paper[data-tpl="tpl-7"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-page {
  width: 100% !important;
  padding: 16px 28px 36px !important;
  box-sizing: border-box !important;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #222;
}

.resume-paper[data-tpl="tpl-7"] .t7-header {
  display: grid;
  grid-template-columns: 1fr 220px;
  align-items: start;
  gap: 20px;
  margin: 0 0 20px;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill {
  height: 58px;
  max-width: 430px;
  border-radius: 0 34px 34px 0;
  background: linear-gradient(90deg, #315f8d, #537ba6);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 26px;
  box-sizing: border-box;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 2px;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill i {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, .75);
  margin: 0 18px;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: .5px;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: rgba(255, 255, 255, .92);
}

.resume-paper[data-tpl="tpl-7"] .t7-head-note {
  text-align: center;
  color: #b8b8b8;
  font-size: 12px;
  padding-top: 9px;
}

.resume-paper[data-tpl="tpl-7"] .t7-head-note b {
  display: block;
  color: #777;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 3px;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec {
  position: relative;
  margin: 0 0 14px;
  padding-left: 18px;
  border-left: 1px solid #d5d5d5;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-title {
  height: 28px;
  border-bottom: 1px solid #c9c9c9;
  margin: 0 0 8px -18px;
  position: relative;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-title span {
  position: absolute;
  left: -12px;
  top: 0;
  min-width: 112px;
  height: 24px;
  border-radius: 999px;
  background: #456f99;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-body {
  padding: 0 8px 0 8px;
  font-size: 11px;
  line-height: 1.72;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 88px;
  gap: 7px 48px;
  align-items: center;
  min-height: 88px;
  font-size: 12px;
  line-height: 1.5;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid b {
  display: inline-block;
  min-width: 68px;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-7"] .t7-avatar {
  grid-column: 3;
  grid-row: 1 / span 4;
  width: 72px !important;
  height: 86px !important;
  object-fit: cover !important;
  justify-self: center;
  position: static !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 {
  display: grid !important;
  grid-template-columns: 150px 1fr 128px;
  gap: 12px;
  align-items: center;
  margin: 3px 0 6px;
  font-size: 12px;
  line-height: 1.55;
  color: #333;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 strong,
.resume-paper[data-tpl="tpl-7"] .t7-row3 em {
  font-style: normal;
  font-weight: 700;
  color: #333;
}

.resume-paper[data-tpl="tpl-7"] .t7-text,
.resume-paper[data-tpl="tpl-7"] .t7-text p,
.resume-paper[data-tpl="tpl-7"] .t7-text li,
.resume-paper[data-tpl="tpl-7"] .t7-list,
.resume-paper[data-tpl="tpl-7"] .t7-self {
  font-size: 11px !important;
  line-height: 1.72 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-text ul,
.resume-paper[data-tpl="tpl-7"] .t7-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-7"] .t7-work-item {
  margin-bottom: 9px;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 64px;
  max-width: 460px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars div {
  display: grid;
  grid-template-columns: 62px 1fr 32px;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars b i {
  display: block;
  height: 100%;
  background: #456f99;
}

/* tpl-8 参考图最终样式：顶部斜切蓝色背景 + 时间轴 */
.resume-paper[data-tpl="tpl-8"] {
  display: block !important;
  background: #fff !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-page {
  width: 100% !important;
  padding: 0 0 34px !important;
  box-sizing: border-box !important;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #222;
}

.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  position: relative;
  min-height: 214px;
  padding: 26px 46px 42px;
  box-sizing: border-box;
  color: #fff;
  background: linear-gradient(135deg, #1d7eab 0%, #2f94c6 48%, #2f84b2 100%);
  clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
  display: grid;
  grid-template-columns: 1fr 100px;
  gap: 24px;
  align-items: start;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-info h1 {
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 800;
  color: #fff;
}

.resume-paper[data-tpl="tpl-8"] .t8-job-line {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
  color: #fff;
}

.resume-paper[data-tpl="tpl-8"] .t8-job-line i {
  font-style: normal;
  margin: 0 10px;
  opacity: .85;
}

.resume-paper[data-tpl="tpl-8"] .t8-basic-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 64px;
  max-width: 520px;
}

.resume-paper[data-tpl="tpl-8"] .t8-basic-grid span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-8"] .t8-basic-grid svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  flex-shrink: 0;
}

.resume-paper[data-tpl="tpl-8"] .t8-basic-grid b {
  font-weight: 700;
}

.resume-paper[data-tpl="tpl-8"] .t8-basic-grid em {
  font-style: normal;
}

.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  width: 86px !important;
  height: 106px !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 7px solid rgba(255, 255, 255, .95) !important;
  justify-self: center;
  margin-top: 14px;
  position: static !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-timeline {
  position: relative;
  padding: 18px 42px 0 82px;
}

.resume-paper[data-tpl="tpl-8"] .t8-timeline::before {
  content: "";
  position: absolute;
  left: 52px;
  top: 22px;
  bottom: 0;
  width: 2px;
  background: #2d8ab8;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec {
  position: relative;
  margin: 0 0 18px;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-node {
  position: absolute;
  left: -44px;
  top: -2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #2d8ab8;
  color: #fff;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #2d8ab8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.resume-paper[data-tpl="tpl-8"] .t8-node svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body h2 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 800;
  color: #222;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 {
  display: grid !important;
  grid-template-columns: 150px 1fr 128px;
  gap: 12px;
  align-items: center;
  margin: 3px 0 6px;
  font-size: 12px;
  line-height: 1.55;
  color: #2c7895;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 strong,
.resume-paper[data-tpl="tpl-8"] .t8-row3 em {
  font-style: normal;
  font-weight: 700;
  color: #2c7895;
}

.resume-paper[data-tpl="tpl-8"] .t8-text,
.resume-paper[data-tpl="tpl-8"] .t8-text p,
.resume-paper[data-tpl="tpl-8"] .t8-text li,
.resume-paper[data-tpl="tpl-8"] .t8-list,
.resume-paper[data-tpl="tpl-8"] .t8-self {
  font-size: 11px !important;
  line-height: 1.72 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-text ul,
.resume-paper[data-tpl="tpl-8"] .t8-list {
  margin: 4px 0 0;
  padding-left: 16px;
}

.resume-paper[data-tpl="tpl-8"] .t8-work-item {
  margin-bottom: 9px;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 64px;
  max-width: 460px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars div {
  display: grid;
  grid-template-columns: 62px 1fr 32px;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars b {
  height: 5px;
  background: #e5e8ed;
  border-radius: 999px;
  overflow: hidden;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars b i {
  display: block;
  height: 100%;
  background: #2d8ab8;
}

/* tpl-2 字体最终统一：栏目标题/小标题/正文/侧栏内容 */
.resume-paper[data-tpl="tpl-2"],
.resume-paper[data-tpl="tpl-2"] * {
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif !important;
}

/* 右侧姓名主标题 */
.resume-paper[data-tpl="tpl-2"] .resume-name {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

/* 右侧求职意向信息 */
.resume-paper[data-tpl="tpl-2"] .resume-meta,
.resume-paper[data-tpl="tpl-2"] .resume-meta span {
  font-size: 11px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #444 !important;
}

/* 右侧栏目标题：教育背景/工作经历/荣誉证书/自我评价 */
.resume-paper[data-tpl="tpl-2"] .resume-section h2 {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

/* 右侧小标题：学校、公司、职位、时间 */
.resume-paper[data-tpl="tpl-2"] .resume-item-header,
.resume-paper[data-tpl="tpl-2"] .resume-item-header span,
.resume-paper[data-tpl="tpl-2"] .resume-item-header strong,
.resume-paper[data-tpl="tpl-2"] .resume-item-date {
  font-size: 12px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  color: #222 !important;
}

/* 右侧正文：段落、列表、描述 */
.resume-paper[data-tpl="tpl-2"] .resume-item,
.resume-paper[data-tpl="tpl-2"] .resume-item-desc,
.resume-paper[data-tpl="tpl-2"] .resume-item-desc *,
.resume-paper[data-tpl="tpl-2"] .resume-section p,
.resume-paper[data-tpl="tpl-2"] .resume-section li,
.resume-paper[data-tpl="tpl-2"] .resume-section ul {
  font-size: 11px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  color: #222 !important;
}

/* 左侧姓名与求职岗位 */
.resume-paper[data-tpl="tpl-2"] .t2-name {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-jobtitle,
.resume-paper[data-tpl="tpl-2"] .t2-jobtitle span {
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* 左侧基础信息、技能、兴趣：内容字号统一 */
.resume-paper[data-tpl="tpl-2"] .resume-contact .rc-item,
.resume-paper[data-tpl="tpl-2"] .resume-contact .rc-item span,
.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
.resume-paper[data-tpl="tpl-2"] .t2-hobby-tag {
  font-size: 11px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}

/* 左侧分区标题 */
.resume-paper[data-tpl="tpl-2"] .resume-side-section h3 {
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

/* 分页最终修正版：屏幕页间空白 = 打印分页点 */
.page-break-line {
  display: none !important;
}

.page-break-spacer {
  display: block !important;
  flex: 0 0 auto !important;
  background: #34364f !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.page-break-spacer::before,
.page-break-spacer::after {
  display: none !important;
  content: none !important;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .editor-topbar,
  .editor-ai-panel,
  .editor-form-zone,
  .preview-toggle-btn,
  .skin-panel,
  .editor-bottom-panel,
  .bottom-panel,
  .page-break-line {
    display: none !important;
  }

  .editor-main,
  .editor-preview-zone,
  .editor-preview-inner {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  .resume-paper {
    width: 210mm !important;
    box-shadow: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  .resume-paper .resume-section,
  .resume-paper .resume-item,
  .resume-paper li,
  .resume-paper p {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* 分页视觉最终校准：显示真实页间距，不画分页线 */
.resume-paper {
  overflow: visible !important;
}

.page-break-line {
  display: none !important;
}

.page-break-spacer {
  display: block !important;
  height: auto;
  min-height: 46px !important;
  background: #34364f !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media print {
  .page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    break-before: auto !important;
    break-after: page !important;
    page-break-after: always !important;
  }
}

/* 分页间隔背景色统一：与编辑预览区背景完全一致 */
.editor-preview-zone,
.editor-preview-inner {
  --preview-bg: #30324a;
  background-color: #30324a !important;
}

.page-break-spacer {
  background-color: #30324a !important;
  background: #30324a !important;
}

/* 分页背景色与预览区完全统一，并移除纸张阴影造成的渐变色差 */
.editor-preview-zone,
.editor-preview-inner {
  --preview-bg: #33364e;
  background-color: #33364e !important;
}

.resume-paper {
  box-shadow: none !important;
}

.page-break-spacer {
  background-color: #33364e !important;
  background: #33364e !important;
  box-shadow: none !important;
}

/* 顶部设置与右侧颜色选择最终样式 */
.editor-actions {
  gap: 34px !important;
}

.editor-action[data-tool="font"] .action-icon,
.editor-action[data-tool="layout"] .action-icon,
.editor-action[data-tool="template"] .action-icon {
  font-size: 18px;
}

#skin-panel {
  display: none !important;
}

.side-color-card {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef0f4;
}

.side-color-card strong {
  display: block;
  margin-bottom: 10px;
  color: #333;
  font-size: 13px;
}

.side-color-dots {
  display: grid;
  grid-template-columns: repeat(8, 22px);
  gap: 10px;
  align-items: center;
}

.side-color-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
}

.side-color-dot.active {
  border-color: #20c7a7;
  box-shadow: 0 0 0 2px rgba(32, 199, 167, .25);
}

.side-color-dot.rainbow {
  background: conic-gradient(#f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);
}

.side-custom-color {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  font-size: 12px;
  color: #666;
}

.side-custom-color input {
  width: 42px;
  height: 26px;
  border: 1px solid #ddd;
  background: transparent;
  padding: 0;
}

/* 字体与排版设置面板：参考浮层效果 */
.skin-panel {
  right: 24px !important;
  top: 52px !important;
  width: 300px !important;
  border-radius: 2px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
}

.skin-section h4 {
  font-size: 13px !important;
  margin-bottom: 10px !important;
}

.font-select-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.font-btn {
  height: 30px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
}

.font-btn.active {
  border-color: #20c7a7;
  color: #20c7a7;
  background: #f0fffb;
}

.slider-row {
  display: grid !important;
  grid-template-columns: 22px 1fr 22px 42px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.slider-row input[type="range"] {
  accent-color: #1e9bff;
}

.slider-val {
  color: #888;
  text-align: right;
}

/* 让字体/字号/行距/页边距/模块间距设置真正作用到各模板 */
#editor-resume,
#editor-resume * {
  font-family: var(--resume-font-family, "PingFang SC", "Microsoft YaHei", Arial, sans-serif) !important;
}

#editor-resume .resume-item,
#editor-resume .resume-item-desc,
#editor-resume .resume-item-desc *,
#editor-resume .resume-section p,
#editor-resume .resume-section li,
#editor-resume .t3-text,
#editor-resume .t4-text,
#editor-resume .t5-text,
#editor-resume .t6-text,
#editor-resume .t7-text,
#editor-resume .t8-text,
#editor-resume .t1-skill-detail,
#editor-resume .t1-skill-bar-item,
#editor-resume .t2-skill-name,
#editor-resume .t2-hobby-tag {
  font-size: var(--resume-font-size, 11px) !important;
  line-height: var(--resume-line-height, 1.72) !important;
}

#editor-resume .resume-main,
#editor-resume[data-tpl="tpl-1"] .resume-main,
#editor-resume[data-tpl="tpl-2"] .resume-main,
#editor-resume[data-tpl="tpl-3"] .t3-page,
#editor-resume[data-tpl="tpl-4"] .t4-page,
#editor-resume[data-tpl="tpl-5"] .t5-page,
#editor-resume[data-tpl="tpl-6"] .t6-timeline,
#editor-resume[data-tpl="tpl-7"] .t7-page,
#editor-resume[data-tpl="tpl-8"] .t8-timeline {
  --_pad: var(--resume-padding, 28px);
}

#editor-resume[data-tpl="tpl-1"] .resume-main,
#editor-resume[data-tpl="tpl-3"] .t3-page,
#editor-resume[data-tpl="tpl-4"] .t4-page,
#editor-resume[data-tpl="tpl-5"] .t5-page,
#editor-resume[data-tpl="tpl-7"] .t7-page {
  padding-left: var(--resume-padding, 28px) !important;
  padding-right: var(--resume-padding, 28px) !important;
}

#editor-resume[data-tpl="tpl-2"] .resume-main {
  padding: var(--resume-padding, 28px) !important;
}

#editor-resume .resume-section,
#editor-resume .t3-section,
#editor-resume .t4-sec-wrap,
#editor-resume .t5-sec-wrap,
#editor-resume .t6-sec,
#editor-resume .t7-sec,
#editor-resume .t8-sec {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* 栏目开关最终规则：关闭隐藏，打开显示 */
#editor-resume [data-section].section-hidden,
.editor-form-zone [data-section].section-hidden {
  display: none !important;
}

#editor-resume [data-section="project"]:not(.section-hidden),
#editor-resume [data-section="intern"]:not(.section-hidden) {
  display: block !important;
}

/* 字体/排版设置：居中弹窗 + 背景变暗 */
.settings-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(0, 0, 0, .46);
  display: none;
}

.settings-modal-backdrop.open {
  display: block;
}

.settings-modal.skin-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 100 !important;
  width: 520px !important;
  max-width: calc(100vw - 48px) !important;
  padding: 22px 28px 26px !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .28) !important;
  display: none !important;
}

.settings-modal.skin-panel.open {
  display: block !important;
}

.settings-modal-title {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 500;
  color: #222;
}

.settings-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #aaa;
  font-size: 24px;
  line-height: 28px;
  cursor: pointer;
}

.settings-modal-close:hover {
  color: #333;
}

.settings-modal .skin-section {
  margin-bottom: 18px !important;
}

.settings-modal .skin-section:last-child {
  margin-bottom: 0 !important;
}

.settings-modal .skin-section h4 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin: 0 0 10px !important;
}

.settings-modal .font-select-row {
  gap: 10px !important;
}

.settings-modal .font-btn {
  height: 32px !important;
  padding: 0 16px !important;
  border-radius: 3px !important;
}

.settings-modal .slider-row {
  grid-template-columns: 24px 1fr 24px 46px !important;
  gap: 10px !important;
}

#skin-panel:not(.settings-modal) {
  display: none !important;
}

/* 字体/排版设置：居中弹窗 + 背景变暗 */
.settings-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(0, 0, 0, .46);
  display: none;
}

.settings-modal-backdrop.open {
  display: block;
}

.settings-modal.skin-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 100 !important;
  width: 520px !important;
  max-width: calc(100vw - 48px) !important;
  padding: 22px 28px 26px !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .28) !important;
  display: none !important;
}

.settings-modal.skin-panel.open {
  display: block !important;
}

.settings-modal-title {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 500;
  color: #222;
}

.settings-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #aaa;
  font-size: 24px;
  line-height: 28px;
  cursor: pointer;
}

.settings-modal-close:hover {
  color: #333;
}

.settings-modal .skin-section {
  margin-bottom: 18px !important;
}

.settings-modal .skin-section:last-child {
  margin-bottom: 0 !important;
}

.settings-modal .skin-section h4 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin: 0 0 10px !important;
}

.settings-modal .font-select-row {
  gap: 10px !important;
}

.settings-modal .font-btn {
  height: 32px !important;
  padding: 0 16px !important;
  border-radius: 3px !important;
}

.settings-modal .slider-row {
  grid-template-columns: 24px 1fr 24px 46px !important;
  gap: 10px !important;
}

#skin-panel:not(.settings-modal) {
  display: none !important;
}

/* 顶部工具栏图标美化：接近参考图的大号绿色图标 */
.editor-topbar {
  height: 50px !important;
}

.editor-actions {
  gap: 42px !important;
}

.editor-action {
  min-width: 58px;
  gap: 3px !important;
  color: #222 !important;
  font-size: 12px !important;
  line-height: 1.15;
}

.editor-action.active,
.editor-action:hover {
  color: #00a98f !important;
}

.editor-action .tool-icon {
  width: 25px;
  height: 25px;
  display: block;
  background: currentColor;
  color: #00a98f;
  margin-bottom: 1px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.editor-action span:last-child {
  font-weight: 600;
  white-space: nowrap;
}

.editor-action.active .tool-icon,
.editor-action:hover .tool-icon {
  color: #00a98f;
}

.icon-edit {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Crect x='8' y='7' width='8' height='2' fill='white'/%3E%3Crect x='8' y='11' width='8' height='2' fill='white'/%3E%3Crect x='8' y='15' width='6' height='2' fill='white'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Crect x='8' y='7' width='8' height='2' fill='white'/%3E%3Crect x='8' y='11' width='8' height='2' fill='white'/%3E%3Crect x='8' y='15' width='6' height='2' fill='white'/%3E%3C/svg%3E");
}

.icon-font {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16v4h-2c-.2-1.2-.7-2-2-2h-2v14h3v2H7v-2h3V5H8C6.7 5 6.2 5.8 6 7H4V3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16v4h-2c-.2-1.2-.7-2-2-2h-2v14h3v2H7v-2h3V5H8C6.7 5 6.2 5.8 6 7H4V3z'/%3E%3C/svg%3E");
}

.icon-layout {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='1.5'/%3E%3Cpath d='M7 4v16M12 4v16M17 4v16M4 9h16M4 14h16' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='1.5'/%3E%3Cpath d='M7 4v16M12 4v16M17 4v16M4 9h16M4 14h16' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E");
}

.icon-template {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h8v2H8zM8 11h8v2H8zM8 15h5v2H8z' fill='white'/%3E%3Cpath d='M17 3v18' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h8v2H8zM8 11h8v2H8zM8 15h5v2H8z' fill='white'/%3E%3Cpath d='M17 3v18' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* T2 默认色与左右栏同步分页 */
.resume-paper[data-tpl="tpl-2"] {
  --resume-theme: #254665;
  align-items: stretch !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side {
  background: var(--resume-theme, #254665) !important;
}

.resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer {
  display: block !important;
  background: #33364e !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer {
    height: 0 !important;
    min-height: 0 !important;
    break-after: page !important;
    page-break-after: always !important;
    background: transparent !important;
  }
}

/* T2 分页修复：屏幕左右同步，打印仅主栏控制分页 */
.resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer {
  display: block !important;
  background: #33364e !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] .tpl2-main-page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-side-page-break-spacer {
    display: none !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* T2 预览分页位置对齐打印机：先补到页底，再显示页间隔 */
.resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer {
  background: linear-gradient(to bottom,
      var(--tpl2-fill-color, #fff) 0,
      var(--tpl2-fill-color, #fff) var(--tpl2-fill-h, 0px),
      var(--tpl2-gap-color, #33364e) var(--tpl2-fill-h, 0px),
      var(--tpl2-gap-color, #33364e) 100%) !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] .tpl2-main-page-break-spacer {
    display: block !important;
    height: var(--tpl2-fill-h, 0px) !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-side-page-break-spacer {
    display: block !important;
    height: var(--tpl2-fill-h, 0px) !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* T2 打印分页同步修复：左右栏等高，左右栏在同一断点分页 */
.resume-paper[data-tpl="tpl-2"] .resume-side,
.resume-paper[data-tpl="tpl-2"] .resume-main {
  align-self: stretch !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] {
    display: grid !important;
    grid-template-columns: 205px minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-main-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-side-page-break-spacer {
    display: block !important;
    height: var(--tpl2-fill-h, 0px) !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }
}

/* T1 屏幕预览默认展示第二页；打印时不输出人为空白页 */
.screen-only-blank-page-break {
  display: block !important;
}

@media print {
  .screen-only-blank-page-break {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #editor-resume[data-tpl="tpl-1"] {
    min-height: auto !important;
  }
}

/* T2：尾部分页间隔后没有真实内容时，不再触发打印分页，避免空白第二页 */
@media print {
  .resume-paper[data-tpl="tpl-2"] .tpl2-tail-page-break-spacer {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* T2 稳定版：预览固定一页，打印不输出分页辅助空白页 */
.resume-paper[data-tpl="tpl-2"] {
  min-height: 1123px !important;
  align-items: stretch !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side,
.resume-paper[data-tpl="tpl-2"] .resume-main {
  min-height: 1123px !important;
}

.resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
.resume-paper[data-tpl="tpl-2"] .page-break-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  break-after: auto !important;
  page-break-after: auto !important;
}

/* T2 默认一页内容密度：尽量接近铺满一页但避免默认超页 */
.resume-paper[data-tpl="tpl-2"] .resume-side {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-main {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section {
  margin-top: calc(var(--resume-section-gap, 14px) * 1.12) !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-item {
  line-height: var(--resume-line-height, 1.7) !important;
  margin-bottom: 9px !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-item-desc,
.resume-paper[data-tpl="tpl-2"] .resume-item-desc p,
.resume-paper[data-tpl="tpl-2"] .resume-item-desc li,
.resume-paper[data-tpl="tpl-2"] .resume-section p,
.resume-paper[data-tpl="tpl-2"] ul,
.resume-paper[data-tpl="tpl-2"] li {
  line-height: var(--resume-line-height, 1.7) !important;
}

/* T2 行间距覆盖顶部信息与左栏信息 */
.resume-paper[data-tpl="tpl-2"] .resume-name,
.resume-paper[data-tpl="tpl-2"] .resume-meta,
.resume-paper[data-tpl="tpl-2"] .resume-meta span,
.resume-paper[data-tpl="tpl-2"] .t2-side-name,
.resume-paper[data-tpl="tpl-2"] .t2-name,
.resume-paper[data-tpl="tpl-2"] .t2-jobtitle,
.resume-paper[data-tpl="tpl-2"] .resume-contact,
.resume-paper[data-tpl="tpl-2"] .resume-contact .rc-item,
.resume-paper[data-tpl="tpl-2"] .resume-side-section,
.resume-paper[data-tpl="tpl-2"] .resume-side-section h3,
.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
.resume-paper[data-tpl="tpl-2"] .t2-hobby-list,
.resume-paper[data-tpl="tpl-2"] .t2-hobby-tag {
  line-height: var(--resume-line-height, 1.7) !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-contact {
  gap: calc(4px + (var(--resume-line-height, 1.7) - 1.4) * 8px) !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side-section {
  margin-top: calc(var(--resume-section-gap, 14px) * 1.25) !important;
}

@media print {

  .resume-paper[data-tpl="tpl-2"],
  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main {
    min-height: auto !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* T2：内容不足一页时仍保持左右分栏，不出现整块白底 */
.resume-paper[data-tpl="tpl-2"] {
  background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side {
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-main {
  background: #fff !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] {
    min-height: 297mm !important;
    background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side {
    background: transparent !important;
    min-height: 297mm !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-main {
    background: transparent !important;
  }
}

/* T2：整页横向分页间隔，预览与打印在同一位置分页 */
.resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer {
  display: block !important;
  grid-column: 1 / -1 !important;
  background: #33364e !important;
  margin-left: calc(-205px - 34px) !important;
  margin-right: -34px !important;
  width: calc(100% + 205px + 68px) !important;
  min-height: 46px !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"] {
    background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }
}

/* T2 打印最终覆盖：预览分页只用于屏幕，禁止打印出空白分页页 */
@media print {

  .resume-paper[data-tpl="tpl-2"],
  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main {
    min-height: 0 !important;
    height: auto !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
}

/* T2 最终页模型：屏幕多页显示完整 A4，打印每页都有左栏背景 */
.resume-paper[data-tpl="tpl-2"] {
  position: relative !important;
  background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side,
.resume-paper[data-tpl="tpl-2"] .resume-main {
  align-self: stretch !important;
}

.resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer {
  display: block !important;
  height: 46px !important;
  min-height: 46px !important;
  background: #33364e !important;
  margin-left: calc(-205px - 34px) !important;
  margin-right: -34px !important;
  width: calc(100% + 205px + 68px) !important;
}

@media screen {
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) {
    min-height: calc(1123px * 2 + 46px) !important;
    background: linear-gradient(to bottom,
        transparent 0 1123px,
        #33364e 1123px 1169px,
        transparent 1169px 100%), linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
  }

  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-side,
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-main {
    min-height: calc(1123px * 2 + 46px) !important;
  }
}

@media print {
  .resume-paper[data-tpl="tpl-2"] {
    min-height: 297mm !important;
    height: auto !important;
    background: #fff !important;
    position: relative !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"]::before {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 205px !important;
    height: 297mm !important;
    background: var(--resume-theme, #254665) !important;
    z-index: -1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side {
    background: transparent !important;
    min-height: 297mm !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-main {
    background: transparent !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
}

@media print {
  .resume-paper[data-tpl="tpl-2"]::before {
    z-index: 0 !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main {
    position: relative !important;
    z-index: 1 !important;
  }
}

/* T2 稳定最终覆盖：禁止预览分页块影响屏幕/打印，避免打印空白页和左栏断层 */
@media screen {
  .resume-paper[data-tpl="tpl-2"] {
    min-height: 1123px !important;
    background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
  }

  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) {
    min-height: 1123px !important;
    background: linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main,
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-side,
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-main {
    min-height: 1123px !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

@media print {
  .resume-paper[data-tpl="tpl-2"] {
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    position: relative !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"]::before {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 205px !important;
    height: 100vh !important;
    background: var(--resume-theme, #254665) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side,
  .resume-paper[data-tpl="tpl-2"] .resume-main {
    min-height: 0 !important;
    height: auto !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side {
    background: transparent !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-main {
    background: transparent !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
}

/* T3 最终样式：按参考图二显示完整默认简历 */
.resume-paper[data-tpl="tpl-3"] {
  display: block !important;
  grid-template-columns: unset !important;
  background: #fff !important;
  min-height: 1123px !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-3"] .resume-side {
  display: none !important;
}

.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  display: block !important;
  width: 100% !important;
  min-height: 1123px !important;
  padding: 0 28px 28px !important;
  box-sizing: border-box !important;
  color: #222 !important;
  background: #fff !important;
  font-size: var(--resume-font-size, 13px) !important;
  line-height: var(--resume-line-height, 1.55) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 28px 0 10px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title h1 {
  margin: 0 !important;
  color: var(--resume-theme, #0e6c7d) !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  letter-spacing: 2px !important;
  line-height: 1 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title>i {
  display: block !important;
  width: 1px !important;
  height: 42px !important;
  background: #bfc8cc !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title p {
  margin: 0 0 3px !important;
  color: #667b82 !important;
  font-size: 13px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title strong {
  display: block !important;
  color: #5c747b !important;
  font-size: 23px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-icons {
  display: flex !important;
  gap: 10px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-icons span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #c19f67 !important;
  font-size: 16px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  display: flex !important;
  height: 16px !important;
  margin: 0 -28px 16px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line i {
  flex: 1 1 auto !important;
  display: block !important;
  background: var(--resume-theme, #0e6c7d) !important;
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 100%, 0 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line b {
  width: 30% !important;
  display: block !important;
  background: #c19f67 !important;
  clip-path: polygon(28px 0, 100% 0, 100% 100%, 0 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-content {
  display: block !important;
  position: relative !important;
  border-left: 2px solid var(--resume-theme, #0e6c7d) !important;
  padding-bottom: 8px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-section {
  display: block !important;
  margin: 0 0 15px !important;
  padding-left: 0 !important;
  position: relative !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-section.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  display: flex !important;
  align-items: flex-end !important;
  height: 30px !important;
  border-bottom: 1px solid var(--resume-theme, #0e6c7d) !important;
  margin-bottom: 1px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  display: inline-flex !important;
  align-items: center !important;
  height: 30px !important;
  padding: 0 34px 0 18px !important;
  color: #fff !important;
  background: var(--resume-theme, #0e6c7d) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 100%, 0 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title::after {
  content: "" !important;
  display: block !important;
  width: 52px !important;
  height: 30px !important;
  margin-left: -25px !important;
  background: color-mix(in srgb, var(--resume-theme, #0e6c7d) 72%, #fff 28%) !important;
  clip-path: polygon(0 0, 18px 0, 52px 100%, 34px 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  display: block !important;
  padding: 0 18px 0 24px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 9px 24px !important;
  position: relative !important;
  padding-right: 112px !important;
  min-height: 92px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid>div {
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b {
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  position: absolute !important;
  right: 12px !important;
  top: 4px !important;
  width: 76px !important;
  height: 92px !important;
  object-fit: cover !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 {
  display: grid !important;
  grid-template-columns: 170px 1fr 150px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 8px !important;
  font-size: 14px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 strong {
  text-align: center !important;
  font-size: 15px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-text,
.resume-paper[data-tpl="tpl-3"] .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text li,
.resume-paper[data-tpl="tpl-3"] .t3-self,
.resume-paper[data-tpl="tpl-3"] .t3-list li {
  font-size: 13px !important;
  line-height: var(--resume-line-height, 1.6) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-text p {
  margin: 0 0 5px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-text ul,
.resume-paper[data-tpl="tpl-3"] .t3-list {
  margin: 4px 0 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 10px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 34px !important;
  margin-top: 10px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars>div {
  display: grid !important;
  grid-template-columns: 80px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b {
  display: block !important;
  height: 6px !important;
  background: #e5e5e5 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #0e6c7d) !important;
}

/* T3 final compact override */
.resume-paper[data-tpl="tpl-3"] {
  display: block !important;
  grid-template-columns: unset !important;
  background: #fff !important;
  min-height: 1123px !important;
  overflow: visible !important
}

.resume-paper[data-tpl="tpl-3"] .resume-side {
  display: none !important
}

.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  display: block !important;
  width: 100% !important;
  min-height: 1123px !important;
  padding: 0 28px 28px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #222 !important;
  font-size: var(--resume-font-size, 13px) !important;
  line-height: var(--resume-line-height, 1.55) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 28px 0 10px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-title h1 {
  margin: 0 !important;
  color: var(--resume-theme, #0e6c7d) !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  letter-spacing: 2px !important;
  line-height: 1 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-title>i {
  display: block !important;
  width: 1px !important;
  height: 42px !important;
  background: #bfc8cc !important
}

.resume-paper[data-tpl="tpl-3"] .t3-title p {
  margin: 0 0 3px !important;
  color: #667b82 !important;
  font-size: 13px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-title strong {
  display: block !important;
  color: #5c747b !important;
  font-size: 23px !important;
  font-weight: 300 !important;
  line-height: 1 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-icons {
  display: flex !important;
  gap: 10px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-icons span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #c19f67 !important;
  font-size: 16px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  display: flex !important;
  height: 16px !important;
  margin: 0 -28px 16px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line i {
  flex: 1 1 auto !important;
  display: block !important;
  background: var(--resume-theme, #0e6c7d) !important;
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 100%, 0 100%) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line b {
  width: 30% !important;
  display: block !important;
  background: #c19f67 !important;
  clip-path: polygon(28px 0, 100% 0, 100% 100%, 0 100%) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-content {
  display: block !important;
  position: relative !important;
  border-left: 2px solid var(--resume-theme, #0e6c7d) !important;
  padding-bottom: 8px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-section {
  display: block !important;
  margin: 0 0 15px !important;
  position: relative !important
}

.resume-paper[data-tpl="tpl-3"] .t3-section.section-hidden {
  display: none !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  display: flex !important;
  align-items: flex-end !important;
  height: 30px !important;
  border-bottom: 1px solid var(--resume-theme, #0e6c7d) !important;
  margin-bottom: 12px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  display: inline-flex !important;
  align-items: center !important;
  height: 30px !important;
  padding: 0 34px 0 18px !important;
  color: #fff !important;
  background: var(--resume-theme, #0e6c7d) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 100%, 0 100%) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
  content: "" !important;
  display: block !important;
  width: 52px !important;
  height: 30px !important;
  margin-left: -25px !important;
  background: color-mix(in srgb, var(--resume-theme, #0e6c7d) 72%, #fff 28%) !important;
  clip-path: polygon(0 0, 18px 0, 52px 100%, 34px 100%) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  display: block !important;
  padding: 0 18px 0 24px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 9px 24px !important;
  position: relative !important;
  padding-right: 112px !important;
  min-height: 92px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid>div {
  font-size: 13px !important;
  line-height: 1.55 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  position: absolute !important;
  right: 12px !important;
  top: 4px !important;
  width: 76px !important;
  height: 92px !important;
  object-fit: cover !important
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 {
  display: grid !important;
  grid-template-columns: 170px 1fr 150px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 8px !important;
  font-size: 14px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 strong {
  text-align: center !important;
  font-size: 15px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 700 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text,
.resume-paper[data-tpl="tpl-3"] .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text li,
.resume-paper[data-tpl="tpl-3"] .t3-self,
.resume-paper[data-tpl="tpl-3"] .t3-list li {
  font-size: 13px !important;
  line-height: var(--resume-line-height, 1.6) !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text p {
  margin: 0 0 5px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text ul,
.resume-paper[data-tpl="tpl-3"] .t3-list {
  margin: 4px 0 0 !important;
  padding-left: 18px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 10px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 34px !important;
  margin-top: 10px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars>div {
  display: grid !important;
  grid-template-columns: 80px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b {
  display: block !important;
  height: 6px !important;
  background: #e5e5e5 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #0e6c7d) !important
}

/* T3 pagination cleanup and one-page compact spacing */
.resume-paper[data-tpl="tpl-3"] .page-break-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important
}

.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  min-height: 1123px !important;
  padding-bottom: 22px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top {
  padding-top: 22px !important;
  padding-bottom: 8px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  margin-bottom: 10px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-section {
  margin-bottom: 9px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  height: 27px !important;
  margin-bottom: 7px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  height: 27px !important;
  font-size: 14px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
  height: 27px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  padding-left: 22px !important;
  padding-right: 14px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 {
  margin-bottom: 4px !important;
  font-size: 13px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-row3 strong {
  font-size: 14px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text,
.resume-paper[data-tpl="tpl-3"] .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text li,
.resume-paper[data-tpl="tpl-3"] .t3-self,
.resume-paper[data-tpl="tpl-3"] .t3-list li {
  font-size: 12px !important;
  line-height: 1.45 !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text p {
  margin-bottom: 3px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-text ul,
.resume-paper[data-tpl="tpl-3"] .t3-list {
  margin-top: 2px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-work-item {
  margin-bottom: 6px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  gap: 6px 20px !important;
  min-height: 82px !important
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  width: 68px !important;
  height: 82px !important
}

/* T3 disabled old title test blocks begin */
@media not all {

  /* T3 section title refinement: left inset, fold corner, parallel double slashes */
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title {
    position: relative !important;
    padding-left: 16px !important;
    overflow: visible !important;
    align-items: flex-start !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
    position: relative !important;
    min-width: 112px !important;
    height: 30px !important;
    padding: 0 32px 0 16px !important;
    overflow: visible !important;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 100%, 0 100%) !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title span:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -8px !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 8px solid color-mix(in srgb, var(--resume-theme, #0e6c7d) 58%, #000 42%) !important;
    border-left: 10px solid transparent !important;
    z-index: 2 !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    height: 30px !important;
    display: block !important;
    background: var(--resume-theme, #0e6c7d) !important;
    transform: skewX(43deg) !important;
    transform-origin: left top !important;
    opacity: .95 !important;
    z-index: 3 !important;
    margin: 0 !important;
    clip-path: none !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before {
    left: 130px !important;
    width: 4px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    left: 140px !important;
    width: 8px !important;
    background: color-mix(in srgb, var(--resume-theme, #0e6c7d) 86%, #fff 14%) !important;
  }

  /* T3 section title spacing refine: equal slashes and larger left inset */
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title {
    padding-left: 28px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
    min-width: 116px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    width: 5px !important;
    height: 30px !important;
    background: var(--resume-theme, #0e6c7d) !important;
    transform: skewX(43deg) !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before {
    left: 144px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    left: 156px !important;
  }

  /* T3 title test: padding-left 56px and equal closer slash gaps */
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title {
    padding-left: 40px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    width: 5px !important;
    transform: skewX(43deg) !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before {
    left: 111px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    left: 121px !important;
  }

  /* T3 title angle test: 50deg from vertical */
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
    clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 100%, 0 100%) !important;
    padding-right: 40px !important;
  }

  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
  .resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
    transform: skewX(45deg) !important;
  }
}

/* T3 disabled old title test blocks end */

/* =========================
   T3 final editable title controls
   以后只改这一组：标题左距、横线、切角、双斜杠
========================= */
.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  --t3-title-left: 40px;
  position: relative !important;
  padding-left: var(--t3-title-left) !important;
  height: 30px !important;
  border-bottom: 0 !important;
  background-image: linear-gradient(var(--resume-theme, #0e6c7d), var(--resume-theme, #0e6c7d)) !important;
  background-repeat: no-repeat !important;
  background-size: calc(100% - var(--t3-title-left)) 1px !important;
  background-position: var(--t3-title-left) 100% !important;
  margin-bottom: 7px !important;
  overflow: visible !important;
  align-items: flex-start !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  position: relative !important;
  min-width: 116px !important;
  height: 30px !important;
  padding: 0 40px 0 16px !important;
  overflow: visible !important;
  clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 100%, 0 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -8px !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 8px solid color-mix(in srgb, var(--resume-theme, #0e6c7d) 58%, #000 42%) !important;
  border-left: 10px solid transparent !important;
  z-index: 2 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  width: 5px !important;
  height: 30px !important;
  display: block !important;
  background: var(--resume-theme, #0e6c7d) !important;
  transform: skewX(45deg) !important;
  transform-origin: left top !important;
  opacity: .95 !important;
  z-index: 3 !important;
  margin: 0 !important;
  clip-path: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title:before {
  left: 111px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title:after {
  left: 121px !important;
}

/* T3 title fold final: remove black short vertical line, rebuild small left fold */
.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:before {
  display: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -9px !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 9px 13px 0 0 !important;
  border-color: color-mix(in srgb, var(--resume-theme, #0e6c7d) 72%, #000 28%) transparent transparent transparent !important;
  transform: none !important;
  z-index: 1 !important;
}

/* T3 fold element final: real fold, no black short vertical artifact */
.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  background-color: #fff !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:before,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:after {
  display: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-title-fold {
  display: block !important;
  position: absolute !important;
  left: var(--t3-title-left, 40px) !important;
  bottom: -9px !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 9px 13px 0 0 !important;
  border-color: color-mix(in srgb, var(--resume-theme, #0e6c7d) 72%, #000 28%) transparent transparent transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* T3 top bar final: theme-color to gold gradient */
.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  --t3-top-bar-blue-end: 62%;
  display: block !important;
  height: 16px !important;
  margin: 0 -28px 16px !important;
  background: linear-gradient(105deg,
      var(--resume-theme, #0e6c7d) 0%,
      var(--resume-theme, #0e6c7d) calc(var(--t3-top-bar-blue-end) - 18%),
      color-mix(in srgb, var(--resume-theme, #0e6c7d) 65%, #c19f67 35%) var(--t3-top-bar-blue-end),
      #c19f67 100%) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line i,
.resume-paper[data-tpl="tpl-3"] .t3-top-line b {
  display: none !important;
}

/* T3 vertical line final: no fold, one theme vertical line from top bar downward */
.resume-paper[data-tpl="tpl-3"] .t3-title-fold,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:before,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title span:after {
  display: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  background-color: transparent !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  margin-bottom: 16px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-content {
  border-left: 3px solid var(--resume-theme, #0e6c7d) !important;
  padding-top: 0 !important;
}

/* =========================
   T4 final rebuild: competitor style
========================= */
.resume-paper[data-tpl="tpl-4"] .t4-page {
  box-sizing: border-box !important;
  min-height: 1123px !important;
  padding: 34px 42px 36px !important;
  background: #fff !important;
  color: #222 !important;
  font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-head {
  text-align: center !important;
  padding: 0 0 8px !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-head h1 {
  margin: 0 0 4px !important;
  color: var(--resume-theme, #156f89) !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-head p {
  margin: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap {
  margin: 0 0 11px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-bar {
  height: 24px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--resume-theme, #156f89) 14%, #fff 86%) 0%,
      color-mix(in srgb, var(--resume-theme, #156f89) 8%, #fff 92%) 100%) !important;
  border: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-bar span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  height: 24px !important;
  padding: 0 14px !important;
  color: #fff !important;
  background: var(--resume-theme, #156f89) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%) !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-sec-body {
  padding: 0 10px !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic {
  position: relative !important;
  min-height: 112px !important;
  padding: 0 132px 0 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 7px 48px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid>div,
.resume-paper[data-tpl="tpl-4"] .t4-job span {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #222 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b,
.resume-paper[data-tpl="tpl-4"] .t4-job b {
  font-weight: 500 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-basic-grid span,
.resume-paper[data-tpl="tpl-4"] .t4-job span span {
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-avatar {
  position: absolute !important;
  right: 18px !important;
  top: 10px !important;
  width: 82px !important;
  height: 98px !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-job {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  gap: 10px 20px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 {
  display: grid !important;
  grid-template-columns: 170px 1fr 155px !important;
  gap: 16px !important;
  align-items: baseline !important;
  margin: 0 0 5px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 strong {
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-text,
.resume-paper[data-tpl="tpl-4"] .t4-self,
.resume-paper[data-tpl="tpl-4"] .t4-list,
.resume-paper[data-tpl="tpl-4"] .t4-list li {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-text p,
.resume-paper[data-tpl="tpl-4"] .t4-self {
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-text ul,
.resume-paper[data-tpl="tpl-4"] .t4-list {
  margin: 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-work-item {
  margin: 0 0 8px !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 34px !important;
  margin-top: 6px !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars>div {
  display: grid !important;
  grid-template-columns: 54px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars b {
  display: block !important;
  height: 4px !important;
  background: color-mix(in srgb, var(--resume-theme, #156f89) 18%, #fff 82%) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #156f89) !important;
}

/* =========================
   T5 final rebuild: blue top bar resume style
========================= */
.resume-paper[data-tpl="tpl-5"] .t5-page {
  box-sizing: border-box !important;
  min-height: 1123px !important;
  padding: 10px 28px 42px !important;
  background: #fff !important;
  color: #1d1d1d !important;
  font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-banner {
  height: 32px !important;
  margin: 0 0 24px !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  background: linear-gradient(90deg, var(--resume-theme, #2e5f9c), color-mix(in srgb, var(--resume-theme, #2e5f9c) 82%, #111 18%)) !important;
  color: #fff !important;
  font-size: 23px !important;
  line-height: 32px !important;
  font-weight: 500 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-header {
  position: relative !important;
  display: block !important;
  min-height: 128px !important;
  padding: 0 150px 16px 0 !important;
  margin: 0 0 4px !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left h1 {
  display: inline-block !important;
  margin: 0 32px 8px 0 !important;
  color: var(--resume-theme, #2e5f9c) !important;
  font-size: 31px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  vertical-align: middle !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left>p {
  display: inline-block !important;
  margin: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-head-left:after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  background: #555 !important;
  opacity: .75 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 92px !important;
  max-width: 520px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid>span {
  position: relative !important;
  display: block !important;
  padding-left: 18px !important;
  color: #222 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid>span:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .42em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 2px !important;
  background: var(--resume-theme, #2e5f9c) !important;
  opacity: .9 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid b {
  color: #222 !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-info-grid span span {
  color: #222 !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-avatar {
  position: absolute !important;
  right: 34px !important;
  top: 16px !important;
  width: 92px !important;
  height: 116px !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap {
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap h2 {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 0 5px !important;
  color: var(--resume-theme, #2e5f9c) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #555 !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-body {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.58 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 {
  display: grid !important;
  grid-template-columns: 170px 1fr 150px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 6px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 span {
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 strong {
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-text,
.resume-paper[data-tpl="tpl-5"] .t5-self,
.resume-paper[data-tpl="tpl-5"] .t5-list,
.resume-paper[data-tpl="tpl-5"] .t5-list li {
  color: #222 !important;
  font-size: 12.5px !important;
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-text p,
.resume-paper[data-tpl="tpl-5"] .t5-self {
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-text ul,
.resume-paper[data-tpl="tpl-5"] .t5-list {
  margin: 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-work-item {
  margin: 0 0 12px !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px 46px !important;
  margin: 8px 0 0 !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars>div {
  display: grid !important;
  grid-template-columns: 58px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars b {
  display: block !important;
  height: 4px !important;
  background: #e7edf5 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #2e5f9c) !important;
}

.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap.section-hidden {
  display: none !important;
}

/* =========================
   T6 final rebuild: blue hero + left timeline
========================= */
.resume-paper[data-tpl="tpl-6"] .t6-page {
  box-sizing: border-box !important;
  min-height: 1123px !important;
  padding: 0 0 34px !important;
  background: #fff !important;
  color: #1f2b2f !important;
  font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero {
  position: relative !important;
  min-height: 238px !important;
  padding: 24px 56px 26px !important;
  margin: 0 0 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .18), transparent 26%),
    radial-gradient(circle at 82% 72%, rgba(255, 255, 255, .12), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb, var(--resume-theme, #3c9bc6) 82%, #fff 18%), var(--resume-theme, #3c9bc6)) !important;
  border: 0 !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-avatar {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  margin: 0 0 14px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  border: 8px solid rgba(255, 255, 255, .95) !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08) !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero h1 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .12) !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero p {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  opacity: .98 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-hero i {
  display: inline !important;
  margin: 0 10px !important;
  color: rgba(255, 255, 255, .9) !important;
  font-style: normal !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-timeline {
  position: relative !important;
  margin: 0 42px 0 !important;
  padding: 0 0 0 54px !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-timeline:before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 12px !important;
  bottom: 0 !important;
  width: 2px !important;
  background: var(--resume-theme, #3c9bc6) !important;
  opacity: .82 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec {
  position: relative !important;
  display: block !important;
  margin: 0 0 21px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-node {
  position: absolute !important;
  left: -54px !important;
  top: -2px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--resume-theme, #3c9bc6) !important;
  border: 3px solid color-mix(in srgb, var(--resume-theme, #3c9bc6) 28%, #fff 72%) !important;
  color: #fff !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-node svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  fill: none !important;
  stroke: #fff !important;
  color: #fff !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-content {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-content h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #1f1f1f !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .5px !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 {
  display: grid !important;
  grid-template-columns: 165px 1fr 145px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 6px !important;
  color: color-mix(in srgb, var(--resume-theme, #3c9bc6) 78%, #123 22%) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 strong {
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text,
.resume-paper[data-tpl="tpl-6"] .t6-self,
.resume-paper[data-tpl="tpl-6"] .t6-list,
.resume-paper[data-tpl="tpl-6"] .t6-list li {
  color: #222 !important;
  font-size: 12.5px !important;
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text p,
.resume-paper[data-tpl="tpl-6"] .t6-self {
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text ul,
.resume-paper[data-tpl="tpl-6"] .t6-list {
  margin: 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-work-item {
  margin: 0 0 13px !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 48px !important;
  margin: 9px 0 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars>div {
  display: grid !important;
  grid-template-columns: 58px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars b {
  display: block !important;
  height: 5px !important;
  background: color-mix(in srgb, var(--resume-theme, #3c9bc6) 12%, #fff 88%) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #3c9bc6) !important;
}

/* =========================
   T7 final rebuild: rounded header + pill section timeline
========================= */
.resume-paper[data-tpl="tpl-7"] .t7-page {
  box-sizing: border-box !important;
  min-height: 1123px !important;
  padding: 20px 34px 34px !important;
  background: #fff !important;
  color: #222 !important;
  font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-header {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill {
  display: flex !important;
  align-items: center !important;
  width: 452px !important;
  height: 62px !important;
  padding: 0 34px !important;
  border-radius: 0 34px 34px 0 !important;
  background: linear-gradient(90deg, var(--resume-theme, #436f9d), color-mix(in srgb, var(--resume-theme, #436f9d) 86%, #fff 14%)) !important;
  color: #fff !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill>i {
  display: block !important;
  width: 1px !important;
  height: 34px !important;
  margin: 0 18px !important;
  background: rgba(255, 255, 255, .85) !important;
  flex: 0 0 auto !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .8px !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-title-pill small {
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  opacity: .96 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-head-note {
  flex: 1 !important;
  padding: 16px 10px 0 0 !important;
  text-align: center !important;
  color: #9aa2a9 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-head-note b {
  display: block !important;
  margin: 0 0 2px !important;
  color: #8f979f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-head-note span {
  display: block !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec {
  position: relative !important;
  margin: 0 0 15px !important;
  padding: 0 0 0 28px !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec:before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 24px !important;
  bottom: -16px !important;
  width: 1px !important;
  background: #d2d2d2 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec:last-child:before {
  bottom: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-title {
  position: relative !important;
  height: 28px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-title:after {
  content: "" !important;
  height: 1px !important;
  flex: 1 !important;
  background: #d0d0d0 !important;
  margin-left: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-title span {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 118px !important;
  height: 26px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: var(--resume-theme, #436f9d) !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 26px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-sec-body {
  padding: 0 0 0 28px !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #222 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 78px !important;
  min-height: 112px !important;
  padding: 0 132px 0 0 !important;
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid>div {
  font-size: 13px !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid b {
  color: #222 !important;
  font-weight: 500 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-basic-grid span {
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-avatar {
  position: absolute !important;
  right: 32px !important;
  top: 8px !important;
  width: 84px !important;
  height: 104px !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 {
  display: grid !important;
  grid-template-columns: 170px 1fr 150px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 6px !important;
  color: #222 !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 span {
  font-weight: 500 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 strong {
  text-align: center !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-text,
.resume-paper[data-tpl="tpl-7"] .t7-self,
.resume-paper[data-tpl="tpl-7"] .t7-list,
.resume-paper[data-tpl="tpl-7"] .t7-list li {
  color: #222 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-text p,
.resume-paper[data-tpl="tpl-7"] .t7-self {
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-text ul,
.resume-paper[data-tpl="tpl-7"] .t7-list {
  margin: 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-work-item {
  margin: 0 0 11px !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px 48px !important;
  margin: 8px 0 0 !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars>div {
  display: grid !important;
  grid-template-columns: 58px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars b {
  display: block !important;
  height: 5px !important;
  background: #edf1f5 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-7"] .t7-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #436f9d) !important;
}

/* =========================
   T8 final rebuild: slanted hero + timeline
========================= */
.resume-paper[data-tpl="tpl-8"] .t8-page {
  box-sizing: border-box !important;
  min-height: 1123px !important;
  padding: 0 0 34px !important;
  background: #fff !important;
  color: #1f2b2f !important;
  font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  position: relative !important;
  min-height: 214px !important;
  margin: 0 0 20px !important;
  padding: 30px 170px 38px 48px !important;
  color: #fff !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--resume-theme, #2d86b5) 78%, #fff 22%), var(--resume-theme, #2d86b5)) !important;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 26px), 0 100%) !important;
  overflow: visible !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-info {
  display: block !important;
  max-width: 560px !important;
  color: #fff !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-info h1 {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: 31px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-info p {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-info p i {
  display: inline !important;
  margin: 0 10px !important;
  color: rgba(255, 255, 255, .9) !important;
  font-style: normal !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 64px !important;
  color: #fff !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-grid span {
  display: block !important;
  position: relative !important;
  padding-left: 22px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-grid span:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .32em !important;
  width: 11px !important;
  height: 11px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, .95) !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-head-grid b,
.resume-paper[data-tpl="tpl-8"] .t8-head-grid em {
  color: #fff !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  position: absolute !important;
  right: 48px !important;
  top: 42px !important;
  width: 104px !important;
  height: 122px !important;
  object-fit: cover !important;
  border: 8px solid rgba(255, 255, 255, .95) !important;
  border-radius: 0 !important;
  background: #fff !important;
  z-index: 2 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-timeline {
  position: relative !important;
  margin: 0 42px !important;
  padding: 0 0 0 54px !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-timeline:before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 12px !important;
  bottom: 0 !important;
  width: 2px !important;
  background: var(--resume-theme, #2d86b5) !important;
  opacity: .86 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec {
  position: relative !important;
  display: block !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec.section-hidden {
  display: none !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-node {
  position: absolute !important;
  left: -54px !important;
  top: -1px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--resume-theme, #2d86b5) !important;
  border: 3px solid color-mix(in srgb, var(--resume-theme, #2d86b5) 24%, #fff 76%) !important;
  color: #fff !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-node svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  fill: none !important;
  stroke: #fff !important;
  color: #fff !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-sec-body h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #1f1f1f !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 {
  display: grid !important;
  grid-template-columns: 165px 1fr 145px !important;
  gap: 18px !important;
  align-items: baseline !important;
  margin: 0 0 6px !important;
  color: color-mix(in srgb, var(--resume-theme, #2d86b5) 78%, #123 22%) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 strong {
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-row3 em {
  text-align: right !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-text,
.resume-paper[data-tpl="tpl-8"] .t8-self,
.resume-paper[data-tpl="tpl-8"] .t8-list,
.resume-paper[data-tpl="tpl-8"] .t8-list li {
  color: #222 !important;
  font-size: 12.5px !important;
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-text p,
.resume-paper[data-tpl="tpl-8"] .t8-self {
  margin: 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-text ul,
.resume-paper[data-tpl="tpl-8"] .t8-list {
  margin: 0 !important;
  padding-left: 18px !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-work-item {
  margin: 0 0 13px !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 48px !important;
  margin: 9px 0 0 !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars>div {
  display: grid !important;
  grid-template-columns: 58px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 12px !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars b {
  display: block !important;
  height: 5px !important;
  background: color-mix(in srgb, var(--resume-theme, #2d86b5) 12%, #fff 88%) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-8"] .t8-bars i {
  display: block !important;
  height: 100% !important;
  background: var(--resume-theme, #2d86b5) !important;
}

/* T4-T8 visibility safety: prevent blank preview after rebuild */
#editor-resume[data-tpl="tpl-4"]>.resume-main,
#editor-resume[data-tpl="tpl-5"]>.resume-main,
#editor-resume[data-tpl="tpl-6"]>.resume-main,
#editor-resume[data-tpl="tpl-7"]>.resume-main,
#editor-resume[data-tpl="tpl-8"]>.resume-main {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#editor-resume[data-tpl="tpl-4"],
#editor-resume[data-tpl="tpl-5"],
#editor-resume[data-tpl="tpl-6"],
#editor-resume[data-tpl="tpl-7"],
#editor-resume[data-tpl="tpl-8"] {
  min-height: 1123px !important;
  background: #fff !important;
}

/* T4-T8 paper layout safety: these templates are single-column full-page papers */
#editor-resume[data-tpl="tpl-4"],
#editor-resume[data-tpl="tpl-5"],
#editor-resume[data-tpl="tpl-6"],
#editor-resume[data-tpl="tpl-7"],
#editor-resume[data-tpl="tpl-8"] {
  display: block !important;
  width: 794px !important;
  min-width: 794px !important;
  min-height: 1123px !important;
  background: #fff !important;
  overflow: visible !important;
  position: relative !important;
}

#editor-resume[data-tpl="tpl-4"] .resume-side,
#editor-resume[data-tpl="tpl-5"] .resume-side,
#editor-resume[data-tpl="tpl-6"] .resume-side,
#editor-resume[data-tpl="tpl-7"] .resume-side,
#editor-resume[data-tpl="tpl-8"] .resume-side {
  display: none !important;
}

#editor-resume[data-tpl="tpl-4"] .resume-main,
#editor-resume[data-tpl="tpl-5"] .resume-main,
#editor-resume[data-tpl="tpl-6"] .resume-main,
#editor-resume[data-tpl="tpl-7"] .resume-main,
#editor-resume[data-tpl="tpl-8"] .resume-main {
  display: block !important;
  width: 100% !important;
  min-height: 1123px !important;
  box-sizing: border-box !important;
}

/* T4 typography controls: make editor font-size and line-height settings effective */
#editor-resume[data-tpl="tpl-4"] .t4-sec-body,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid>div,
#editor-resume[data-tpl="tpl-4"] .t4-job span,
#editor-resume[data-tpl="tpl-4"] .t4-row3,
#editor-resume[data-tpl="tpl-4"] .t4-text,
#editor-resume[data-tpl="tpl-4"] .t4-text p,
#editor-resume[data-tpl="tpl-4"] .t4-text li,
#editor-resume[data-tpl="tpl-4"] .t4-self,
#editor-resume[data-tpl="tpl-4"] .t4-list,
#editor-resume[data-tpl="tpl-4"] .t4-list li,
#editor-resume[data-tpl="tpl-4"] .t4-bars>div {
  font-size: var(--resume-font-size, 11px) !important;
  line-height: var(--resume-line-height, 1.7) !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-row3 strong,
#editor-resume[data-tpl="tpl-4"] .t4-row3 em,
#editor-resume[data-tpl="tpl-4"] .t4-row3 span {
  font-size: inherit !important;
  line-height: inherit !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-basic-grid b,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid span,
#editor-resume[data-tpl="tpl-4"] .t4-job b,
#editor-resume[data-tpl="tpl-4"] .t4-job span span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* T4 one-page print/screen sync */
#editor-resume[data-tpl="tpl-4"] {
  height: 1123px !important;
  max-height: 1123px !important;
}

#editor-resume[data-tpl="tpl-4"] .page-break-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media print {
  .resume-paper[data-tpl="tpl-4"] {
    display: block !important;
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-4"] .resume-main.t4-page {
    width: 100% !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  .resume-paper[data-tpl="tpl-4"] .page-break-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
}

/* T4 pagination final: default one page, overflow can paginate */
#editor-resume[data-tpl="tpl-4"] {
  min-height: 1123px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#editor-resume[data-tpl="tpl-4"] .resume-main.t4-page {
  min-height: 1123px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media screen {
  #editor-resume[data-tpl="tpl-4"] .page-break-spacer {
    display: block !important;
    min-height: 46px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #33364e !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
}

@media print {
  .resume-paper[data-tpl="tpl-4"] {
    display: block !important;
    width: 210mm !important;
    min-height: 297mm !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-4"] .resume-main.t4-page {
    width: 100% !important;
    min-height: 297mm !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .resume-paper[data-tpl="tpl-4"] .page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    break-before: auto !important;
    break-after: page !important;
    page-break-before: auto !important;
    page-break-after: always !important;
  }
}

/* T4 print sync: do not push short sections to the next page */
@media print {

  .resume-paper[data-tpl="tpl-4"] .resume-section,
  .resume-paper[data-tpl="tpl-4"] .resume-item,
  .resume-paper[data-tpl="tpl-4"] .t4-sec-wrap,
  .resume-paper[data-tpl="tpl-4"] .t4-work-item,
  .resume-paper[data-tpl="tpl-4"] .t4-sec-body,
  .resume-paper[data-tpl="tpl-4"] p,
  .resume-paper[data-tpl="tpl-4"] li {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .resume-paper[data-tpl="tpl-4"] .t4-sec-bar {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
}

/* T4 print calibration: match the screen A4 preview more closely */
@media print {
  .resume-paper[data-tpl="tpl-4"] .resume-main.t4-page {
    zoom: .97 !important;
  }
}

/* T4 page spacer: keep in-page remainder white, only page gap dark */
@media screen {
  #editor-resume[data-tpl="tpl-4"] .t4-page-break-spacer {
    display: block !important;
    min-height: 46px !important;
    background: linear-gradient(to bottom, #fff 0, #fff calc(100% - 46px), #33364e calc(100% - 46px), #33364e 100%) !important;
    box-shadow: none !important;
    border: 0 !important;
  }
}

@media print {
  .resume-paper[data-tpl="tpl-4"] .t4-page-break-spacer {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    background: transparent !important;
    break-after: page !important;
    page-break-after: always !important;
  }
}

/* T4 real paged layout: editor pages are the same DOM printed to PDF */
#editor-resume[data-tpl="tpl-4"] {
  display: block !important;
  width: 210mm !important;
  min-width: 210mm !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-document {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 210mm !important;
  gap: 0 !important;
  background: transparent !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-resume-page {
  display: block !important;
  width: 210mm !important;
  height: 297mm !important;
  min-height: 297mm !important;
  max-height: 297mm !important;
  box-sizing: border-box !important;
  background: #fff !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .12) !important;
  transform: translateZ(0) !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-page-content {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 9mm 11mm 10mm !important;
  overflow: hidden !important;
  background: #fff !important;
  zoom: 1 !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-page-divider {
  display: block !important;
  width: 210mm !important;
  height: 12mm !important;
  min-height: 12mm !important;
  max-height: 12mm !important;
  background: #33364e !important;
  flex: 0 0 12mm !important;
}

#editor-resume[data-tpl="tpl-4"] .page-break-spacer,
#editor-resume[data-tpl="tpl-4"] .t4-page-break-spacer {
  display: none !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="work"],
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="project"],
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="intern"] {
  break-inside: auto !important;
  page-break-inside: auto !important;
}

#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="honor"],
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="self"],
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="skill"] {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  body:has(#editor-resume[data-tpl="tpl-4"]) {
    background: #fff !important;
  }

  .editor-topbar,
  .editor-ai-panel,
  .editor-form-zone,
  .preview-toggle-btn,
  .skin-panel,
  .editor-bottom-panel,
  .bottom-panel,
  .side-color-card,
  .editor-actions,
  .page-divider:not(.t4-page-divider) {
    display: none !important;
  }

  #editor-resume[data-tpl="tpl-4"],
  #editor-resume[data-tpl="tpl-4"] .t4-document {
    display: block !important;
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  #editor-resume[data-tpl="tpl-4"] .t4-resume-page {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    break-after: page !important;
    page-break-after: always !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #editor-resume[data-tpl="tpl-4"] .t4-resume-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #editor-resume[data-tpl="tpl-4"] .t4-page-content {
    width: 100% !important;
    height: 100% !important;
    padding: 9mm 11mm 10mm !important;
    overflow: hidden !important;
    zoom: 1 !important;
  }

  #editor-resume[data-tpl="tpl-4"] .t4-page-divider {
    display: none !important;
  }
}

/* Generic real paged layout for single-column templates: T1, T3, T4, T5, T6, T7, T8. T2 is intentionally excluded. */
#editor-resume[data-tpl="tpl-1"],
#editor-resume[data-tpl="tpl-3"],
#editor-resume[data-tpl="tpl-4"],
#editor-resume[data-tpl="tpl-5"],
#editor-resume[data-tpl="tpl-6"],
#editor-resume[data-tpl="tpl-7"],
#editor-resume[data-tpl="tpl-8"] {
  display: block !important;
  width: 210mm !important;
  min-width: 210mm !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
}

#editor-resume .paged-document {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 210mm !important;
  gap: 0 !important;
  background: transparent !important;
}

#editor-resume .paged-resume-page {
  display: block !important;
  width: 210mm !important;
  height: 297mm !important;
  min-height: 297mm !important;
  max-height: 297mm !important;
  box-sizing: border-box !important;
  background: #fff !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .12) !important;
  transform: translateZ(0) !important;
}

#editor-resume .paged-page-content {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 9mm 11mm 10mm !important;
  overflow: hidden !important;
  background: #fff !important;
  zoom: 1 !important;
}

#editor-resume .paged-page-divider {
  display: block !important;
  width: 210mm !important;
  height: 12mm !important;
  min-height: 12mm !important;
  max-height: 12mm !important;
  background: #33364e !important;
  flex: 0 0 12mm !important;
}

#editor-resume .paged-measure-page {
  box-shadow: none !important;
}

#editor-resume .page-break-spacer,
#editor-resume .t4-page-break-spacer {
  display: none !important;
}

#editor-resume .paged-page-content>[data-section] {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  .editor-topbar,
  .editor-ai-panel,
  .editor-form-zone,
  .preview-toggle-btn,
  .skin-panel,
  .editor-bottom-panel,
  .bottom-panel,
  .side-color-card,
  .editor-actions {
    display: none !important;
  }

  #editor-resume .paged-document {
    display: block !important;
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  #editor-resume .paged-resume-page {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    break-after: page !important;
    page-break-after: always !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #editor-resume .paged-resume-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #editor-resume .paged-page-content {
    width: 100% !important;
    height: 100% !important;
    padding: 9mm 11mm 10mm !important;
    overflow: hidden !important;
    zoom: 1 !important;
  }

  #editor-resume .paged-page-divider {
    display: none !important;
  }
}

/* T2 exclusion guard: keep the left/right-column template out of the generic single-page system. */
#editor-resume[data-tpl="tpl-2"] {
  width: 794px !important;
  min-width: 794px !important;
}

#editor-resume[data-tpl="tpl-2"] .paged-document,
#editor-resume[data-tpl="tpl-2"] .paged-resume-page,
#editor-resume[data-tpl="tpl-2"] .paged-page-content,
#editor-resume[data-tpl="tpl-2"] .paged-page-divider {
  all: unset;
}

@media print {
  #editor-resume[data-tpl="tpl-2"] {
    width: 210mm !important;
    min-width: 0 !important;
  }
}

/* T3 paged mode: .t3-content is unpacked during pagination, so keep section visuals only. */
#editor-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section {
  border-left: 3px solid var(--resume-theme, #0e6c7d) !important;
  padding-left: 0 !important;
}

#editor-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section .t3-sec-title,
#editor-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section .t3-sec-body {
  margin-left: 0 !important;
}

/* Bottom edit panel scrolling: no horizontal scrollbar, sticky section tabs. */
.editor-form-zone {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  position: relative !important;
  overscroll-behavior: contain !important;
}

.editor-form-zone.collapsed {
  overflow: hidden !important;
}

.editor-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  flex-wrap: wrap !important;
  height: auto !important;
  min-height: 52px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .06) !important;
}

.editor-tabs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.editor-form {
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.form-panel,
.form-grid,
.form-grid-wide,
.form-field,
.entry-card,
.entry-body,
.richtext-area {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep bottom section tabs in one row without horizontal scrollbar. */
.editor-tabs {
  flex-wrap: nowrap !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  gap: 4px !important;
  padding: 0 12px !important;
  justify-content: center !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.editor-tabs .tab-item {
  height: 52px !important;
  padding: 0 3px !important;
  gap: 3px !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

.editor-tabs .tab-label {
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  flex: 0 1 auto !important;
}

.editor-tabs .tab-toggle {
  width: 24px !important;
  height: 14px !important;
  border-radius: 7px !important;
}

.editor-tabs .tab-toggle::after {
  width: 10px !important;
  height: 10px !important;
  top: 2px !important;
  left: 2px !important;
}

.editor-tabs .tab-toggle.on::after {
  transform: translateX(10px) !important;
}

.editor-tabs .tab-item.active::after {
  left: 3px !important;
  right: 3px !important;
}

/* Restore original bottom tab spacing and switch size while keeping one-line sticky layout. */
.editor-tabs {
  flex-wrap: nowrap !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  gap: 6px !important;
  padding: 0 max(20px, calc(50% - 430px)) !important;
  justify-content: center !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.editor-tabs .tab-item {
  height: 52px !important;
  padding: 0 6px !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
  min-width: auto !important;
}

.editor-tabs .tab-label {
  font-size: 14px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  flex: 0 0 auto !important;
}

.editor-tabs .tab-toggle {
  width: 28px !important;
  height: 16px !important;
  border-radius: 8px !important;
}

.editor-tabs .tab-toggle::after {
  width: 12px !important;
  height: 12px !important;
  top: 2px !important;
  left: 2px !important;
}

.editor-tabs .tab-toggle.on::after {
  transform: translateX(12px) !important;
}

.editor-tabs .tab-item.active::after {
  left: 6px !important;
  right: 6px !important;
}

/* Form content overflow hardening: keep panel vertical-only without changing tab sizes. */
.editor-main,
.editor-form-zone,
.editor-form,
.form-panel {
  overflow-x: hidden !important;
}

.editor-form-zone * {
  min-width: 0;
}

.entry-card,
.entry-body,
.entry-field-row,
.entry-inline-field,
.entry-inline-date,
.form-grid,
.form-grid-wide,
.form-field,
.form-field-inline,
.form-field-hw,
.richtext-wrap,
.entry-richtext-wrap,
.richtext-area {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.entry-card input,
.entry-card select,
.form-panel input,
.form-panel select,
.form-panel textarea,
.richtext-area {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.richtext-area,
.entry-card,
.entry-title,
.form-tip,
.rt-tip {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.editor-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}

/* Center bottom form content like competitor layout, with side whitespace. */
.editor-form {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 20px 28px 40px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.form-panel {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.form-tip,
.form-grid,
.form-grid-wide,
.form-actions-row,
.form-extra-row,
.form-field-inline-row,
#edu-entries,
#work-entries,
#project-entries,
#intern-entries,
#honor-entries {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.form-grid,
.form-grid-wide {
  width: 100% !important;
  justify-content: center !important;
}

.form-field input,
.form-field select,
.form-grid-wide .form-field input,
.form-grid-wide .form-field select {
  width: 100% !important;
  max-width: 220px !important;
  box-sizing: border-box !important;
}

.form-field-photo,
.form-field-hw,
.form-field-inline {
  max-width: 280px !important;
  box-sizing: border-box !important;
}

.form-field-hw input {
  width: 64px !important;
  max-width: 64px !important;
}

.form-field-inline input {
  max-width: 160px !important;
}

.entry-card {
  width: 100% !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.entry-body {
  width: 100% !important;
  box-sizing: border-box !important;
}

.entry-inline-field input,
.entry-inline-field select {
  width: 170px !important;
  max-width: 170px !important;
  min-width: 0 !important;
}

.entry-inline-date input.month-input {
  width: 110px !important;
  max-width: 110px !important;
  min-width: 0 !important;
}

.entry-richtext-wrap,
.richtext-area {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Top settings panels and resume title setting variables. */
.settings-select {
  width: 100%;
  height: 34px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  background: #fff;
  color: #555;
  padding: 0 10px;
  outline: none;
}

.resume-paper {
  font-family: var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif) !important;
}

.resume-paper .resume-section h2,
.resume-paper .resume-side-section h3,
.resume-paper .t3-sec-title span,
.resume-paper .t3-title-label,
.resume-paper .t4-sec-title,
.resume-paper .t4-sec-bar span,
.resume-paper .t5-title,
.resume-paper .t5-sec-wrap > h2,
.resume-paper .t6-sec-title,
.resume-paper .t7-sec-title,
.resume-paper .t8-sec-title {
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
}

/* T1 header basic info follows global line-height setting. */
.resume-paper[data-tpl="tpl-1"] .t1-name,
.resume-paper[data-tpl="tpl-1"] .t1-info-line {
  line-height: var(--resume-line-height, 2) !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-info-block {
  gap: var(--resume-info-line-gap, 6px) !important;
}

/* Force title settings to override template-specific !important title styles. */
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-section>h2,
#editor-resume.resume-paper[data-tpl="tpl-2"] .resume-section>h2,
#editor-resume.resume-paper[data-tpl="tpl-2"] .resume-side-section>h3,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-sec-title>span,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-sec-title .t3-title-label,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-title-label,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-sec-title,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-sec-bar>span,
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-title,
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap>h2,
#editor-resume.resume-paper[data-tpl="tpl-5"] .resume-section>h2,
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-sec-title,
#editor-resume.resume-paper[data-tpl="tpl-6"] .resume-section>h2,
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec-title,
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec-title span,
#editor-resume.resume-paper[data-tpl="tpl-7"] .resume-section>h2,
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-sec-title,
#editor-resume.resume-paper[data-tpl="tpl-8"] .resume-section>h2 {
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
}

/* T1 content line-height normalization: header basic info and body content use the same variable. */
#editor-resume.resume-paper[data-tpl="tpl-1"] .t1-info-line,
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-item,
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-item-desc,
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-item-desc *,
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-section p,
#editor-resume.resume-paper[data-tpl="tpl-1"] .resume-section li,
#editor-resume.resume-paper[data-tpl="tpl-1"] .t1-skill-detail,
#editor-resume.resume-paper[data-tpl="tpl-1"] .t1-skill-detail p {
  line-height: var(--resume-line-height, 2) !important;
}

/* T2 screen pagination must stay visible so editor preview matches printer page breaks. */
@media screen {
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) {
    min-height: calc(1123px * 2 + 46px) !important;
    background: linear-gradient(to bottom,
        transparent 0 1123px,
        #33364e 1123px 1169px,
        transparent 1169px 100%),
      linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
  }

  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-side,
  .resume-paper[data-tpl="tpl-2"]:has(.tpl2-full-page-break-spacer) .resume-main {
    min-height: calc(1123px * 2 + 46px) !important;
  }

  .resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer {
    display: block !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: none !important;
    background: #33364e !important;
    margin-left: calc(-205px - 34px) !important;
    margin-right: -34px !important;
    width: calc(100% + 205px + 68px) !important;
    overflow: visible !important;
  }
}

/* T2 pagination hardening: class-based fallback for browsers/style overrides that miss :has(). */
@media screen {
  .resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break {
    min-height: calc(1123px * 2 + 46px) !important;
    background: linear-gradient(to bottom,
        transparent 0 1123px,
        #33364e 1123px 1169px,
        transparent 1169px 100%),
      linear-gradient(to right, var(--resume-theme, #254665) 0 205px, #fff 205px 100%) !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .resume-side,
  .resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .resume-main {
    min-height: calc(1123px * 2 + 46px) !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .tpl2-page-break-spacer,
  .resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .tpl2-full-page-break-spacer {
    display: block !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: none !important;
    visibility: visible !important;
    background: #33364e !important;
    margin-left: calc(-205px - 34px) !important;
    margin-right: -34px !important;
    width: calc(100% + 205px + 68px) !important;
  }
}

/* T2 structural pagination model: one fixed grid page owns both columns. */
.resume-paper[data-tpl="tpl-2"] {
  --t2-left-width: 235px;
  --t2-right-width: 586px;
  --t2-page-width: 821px;
  --t2-page-height: 1123px;
  --t2-page-gap: 46px;
  display: grid !important;
  grid-template-columns: var(--t2-left-width) var(--t2-right-width) !important;
  align-items: stretch !important;
  width: var(--t2-page-width) !important;
  min-width: var(--t2-page-width) !important;
  min-height: var(--t2-page-height) !important;
  padding: 0 !important;
  background: #fff !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-2"]::before,
.resume-paper[data-tpl="tpl-2"]::after {
  display: none !important;
  content: none !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-side {
  grid-column: 1 !important;
  width: var(--t2-left-width) !important;
  min-width: var(--t2-left-width) !important;
  max-width: var(--t2-left-width) !important;
  min-height: var(--t2-page-height) !important;
  height: auto !important;
  padding: 34px 26px !important;
  background: var(--resume-theme, #254665) !important;
  border-right: 1px solid rgba(255, 255, 255, .18) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-main {
  grid-column: 2 !important;
  width: var(--t2-right-width) !important;
  min-width: var(--t2-right-width) !important;
  max-width: var(--t2-right-width) !important;
  min-height: var(--t2-page-height) !important;
  height: auto !important;
  padding: 36px 34px 42px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break {
  min-height: calc(var(--t2-page-height) * 2 + var(--t2-page-gap)) !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .resume-side,
.resume-paper[data-tpl="tpl-2"].tpl2-has-screen-page-break .resume-main {
  min-height: calc(var(--t2-page-height) * 2 + var(--t2-page-gap)) !important;
}

.resume-paper[data-tpl="tpl-2"] .tpl2-page-break-spacer,
.resume-paper[data-tpl="tpl-2"] .tpl2-full-page-break-spacer {
  display: block !important;
  height: var(--t2-page-gap) !important;
  min-height: var(--t2-page-gap) !important;
  max-height: none !important;
  background: #33364e !important;
  margin-left: calc(-1 * var(--t2-left-width) - 34px) !important;
  margin-right: -34px !important;
  width: var(--t2-page-width) !important;
  visibility: visible !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section,
.resume-paper[data-tpl="tpl-2"] .resume-side-section,
.resume-paper[data-tpl="tpl-2"] .resume-item,
.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
.resume-paper[data-tpl="tpl-2"] .t2-hobby-tag {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-section>h2,
.resume-paper[data-tpl="tpl-2"] .resume-side-section>h3,
.resume-paper[data-tpl="tpl-2"] .resume-divider {
  break-after: avoid !important;
  page-break-after: avoid !important;
}

.resume-paper[data-tpl="tpl-2"] p,
.resume-paper[data-tpl="tpl-2"] li,
.resume-paper[data-tpl="tpl-2"] .resume-item-desc {
  widows: 3 !important;
  orphans: 3 !important;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: 210mm !important;
    min-height: 297mm !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] {
    display: grid !important;
    grid-template-columns: var(--t2-left-width) var(--t2-right-width) !important;
    width: var(--t2-page-width) !important;
    min-width: var(--t2-page-width) !important;
    min-height: var(--t2-page-height) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    zoom: 1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-side {
    background: var(--resume-theme, #254665) !important;
    min-height: var(--t2-page-height) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-main {
    background: #fff !important;
    min-height: var(--t2-page-height) !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-section,
  .resume-paper[data-tpl="tpl-2"] .resume-side-section,
  .resume-paper[data-tpl="tpl-2"] .resume-item {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .resume-paper[data-tpl="tpl-2"] .resume-section>h2,
  .resume-paper[data-tpl="tpl-2"] .resume-side-section>h3 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
}

/* T2 page container model: each page is a self-contained fixed-size grid. */
.resume-paper[data-tpl="tpl-2"].tpl2-paged {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
  display: grid !important;
  grid-template-columns: var(--t2-left-width) var(--t2-right-width) !important;
  align-items: stretch !important;
  width: var(--t2-page-width) !important;
  min-width: var(--t2-page-width) !important;
  min-height: var(--t2-page-height) !important;
  margin: 0 auto var(--t2-page-gap) auto !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page:last-child {
  margin-bottom: 0 !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-side {
  width: var(--t2-left-width) !important;
  min-height: var(--t2-page-height) !important;
  background: var(--resume-theme, #254665) !important;
  border-right: 1px solid rgba(255, 255, 255, .18) !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-main {
  width: var(--t2-right-width) !important;
  min-height: var(--t2-page-height) !important;
  background: #fff !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"].tpl2-paged {
    width: auto !important;
    background: transparent !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
    break-after: page !important;
    page-break-after: always !important;
    margin: 0 !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* T2 strict fixed-height pages: prevents browser-generated empty overflow pages. */
.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
  height: var(--t2-page-height) !important;
  min-height: var(--t2-page-height) !important;
  max-height: var(--t2-page-height) !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-side,
.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-main {
  height: var(--t2-page-height) !important;
  min-height: var(--t2-page-height) !important;
  max-height: var(--t2-page-height) !important;
  overflow: hidden !important;
}

.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page+.t2-page {
  margin-top: var(--t2-page-gap) !important;
}

@media print {
  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
    height: var(--t2-page-height) !important;
    min-height: var(--t2-page-height) !important;
    max-height: var(--t2-page-height) !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-side,
  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-main {
    height: var(--t2-page-height) !important;
    min-height: var(--t2-page-height) !important;
    max-height: var(--t2-page-height) !important;
    overflow: hidden !important;
  }
}

@media screen {
  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
    margin: 0 auto 0 auto !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page+.t2-page {
    margin-top: var(--t2-page-gap) !important;
  }
}

/* T2 page gap normalization: exactly one visible separator between preview pages. */
@media screen {
  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page {
    margin: 0 auto 0 auto !important;
  }

  .resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page+.t2-page {
    margin-top: var(--t2-page-gap) !important;
  }
}

/* T2 default visual cleanup: remove secondary thin lines. */
.resume-paper[data-tpl="tpl-2"] .resume-divider {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-meta,
.resume-paper[data-tpl="tpl-2"] .resume-meta.section-hidden {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hobby capsule editor */
.hobby-capsule-editor {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hobby-capsule-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  align-items: center;
}

.hobby-capsule {
  min-height: 32px;
  padding: 0 16px;
  border: 1px solid #d9dde5;
  border-radius: 999px;
  background: #fff;
  color: #222;
  font-size: 14px;
  line-height: 30px;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.hobby-capsule:hover {
  border-color: #19c9a5;
  color: #19c9a5;
}

.hobby-capsule.active,
.hobby-capsule.selected {
  border-color: #19c9a5;
  background: #19c9a5;
  color: #fff;
}

.hobby-capsule.selected {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hobby-capsule.selected i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ff6572;
  color: #fff;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.hobby-capsule-add-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

.hobby-capsule-add-row input {
  width: 240px;
  height: 40px;
  border: 1px solid #e4e7ed;
  border-radius: 4px;
  background: #f5f6f8;
  padding: 0 14px;
  font-size: 14px;
  color: #333;
  outline: none;
}

.hobby-capsule-add-row input:focus {
  border-color: #19c9a5;
  background: #fff;
}

.hobby-add-btn {
  height: 40px;
  padding: 0 22px;
  border: 1px solid #19c9a5;
  border-radius: 4px;
  background: rgba(25, 201, 165, .72);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.hobby-add-btn:hover {
  background: #19c9a5;
}

.hobby-capsule-selected-row {
  min-height: 36px;
  padding-top: 4px;
}

/* Hobby empty input toast */
.hobby-capsule-editor {
  position: relative;
}

.hobby-toast {
  position: absolute;
  left: 0;
  bottom: -34px;
  display: none;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(32, 38, 54, .92);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .45s ease, transform .45s ease;
  pointer-events: none;
  z-index: 4;
}

.hobby-toast.show {
  display: inline-flex;
  opacity: 1;
  transform: translateY(0);
}

.hobby-toast.show.fade-out {
  opacity: 0;
  transform: translateY(-4px);
}

/* Hobby toast centered modal style override */
.hobby-toast {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  bottom: auto !important;
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  min-height: 64px;
  padding: 18px 30px;
  border: 2px solid #d9dde5;
  border-radius: 10px;
  background: #fff;
  color: #111;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .16);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.98);
  transition: opacity .45s ease, transform .45s ease;
  pointer-events: none;
  z-index: 9999;
}

.hobby-toast.show {
  display: flex;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.hobby-toast.show.fade-out {
  opacity: 0;
  transform: translate(-50%, -50%) scale(.98);
}

/* T3 diagnostic: disable only paged section left borders to identify the stray blue line source. */
#editor-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section {
  border-left: 0 !important;
}

body.pdf-exporting #pdf-print-resume[data-tpl="tpl-3"] .t3-content,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section {
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* T3 equal page side margins: section titles define the left content edge. */
#editor-resume[data-tpl="tpl-3"] .t3-page-content,
.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  --t3-side-gap: 42px;
}

.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  padding-left: var(--t3-side-gap) !important;
  padding-right: var(--t3-side-gap) !important;
}

#editor-resume[data-tpl="tpl-3"] .t3-page-content {
  padding-left: var(--t3-side-gap) !important;
  padding-right: var(--t3-side-gap) !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top,
.resume-paper[data-tpl="tpl-3"] .t3-content,
.resume-paper[data-tpl="tpl-3"] .t3-section,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-title span {
  margin-left: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  padding-left: 24px !important;
  padding-right: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  padding-left: 24px !important;
  padding-right: 112px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  right: 12px !important;
}

/* T3 visual side margin calibration: same left/right optical page edge. */
#editor-resume[data-tpl="tpl-3"] .t3-page-content,
.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page {
  --t3-side-gap: 42px;
  --t3-body-indent: 20px;
  --t3-photo-w: 76px;
  --t3-photo-gap: 24px;
}

.resume-paper[data-tpl="tpl-3"] .t3-top-line,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  width: 100% !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  padding-left: var(--t3-body-indent) !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  padding-left: var(--t3-body-indent) !important;
  padding-right: calc(var(--t3-photo-w) + var(--t3-photo-gap)) !important;
  box-sizing: border-box !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-photo {
  right: 0 !important;
  width: var(--t3-photo-w) !important;
}

#editor-resume[data-tpl="tpl-3"] .t3-page-content>.t3-section,
.resume-paper[data-tpl="tpl-3"] .t3-section {
  width: 100% !important;
  box-sizing: border-box !important;
}


/* T3 title pack fix: title group plus section underline background. */
.resume-paper[data-tpl="tpl-3"] .t3-sec-title {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  height: 30px !important;
  margin-bottom: 12px !important;
  padding-left: 20px !important;
  border-bottom: 0 !important;
  background-color: transparent !important;
  background-image: linear-gradient(var(--resume-theme, #0e6c7d), var(--resume-theme, #0e6c7d)) !important;
  background-repeat: no-repeat !important;
  background-size: calc(100% - 20px) 1px !important;
  background-position: 20px 100% !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-sec-title:before,
.resume-paper[data-tpl="tpl-3"] .t3-sec-title:after,
.resume-paper[data-tpl="tpl-3"] .t3-title-fold,
.resume-paper[data-tpl="tpl-3"] .t3-title-line {
  content: none !important;
  display: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-sec-title .t3-title-pack {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  width: 145px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  background: transparent !important;
  clip-path: none !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title-label {
  display: inline-flex !important;
  align-items: center !important;
  width: 122px !important;
  height: 30px !important;
  padding: 0 36px 0 16px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: var(--resume-theme, #0e6c7d) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  clip-path: polygon(0 0, 92px 0, 122px 100%, 0 100%) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash {
  position: absolute !important;
  top: 0 !important;
  display: block !important;
  width: 35px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--resume-theme, #0e6c7d) !important;
  transform: none !important;
  opacity: .95 !important;
  clip-path: polygon(0 0, 5px 0, 35px 100%, 30px 100%) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash-one {
  left: 97px !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash-two {
  left: 107px !important;
}

/* T3 top bar full-bleed: span from page left edge to page right edge. */
.resume-paper[data-tpl="tpl-3"] .t3-top-line {
  display: block !important;
  height: 16px !important;
  margin: 0 -42px 16px !important;
  width: auto !important;
  background: linear-gradient(105deg,
    var(--resume-theme, #0e6c7d) 0%,
    var(--resume-theme, #0e6c7d) 44%,
    color-mix(in srgb, var(--resume-theme, #0e6c7d) 65%, #c19f67 35%) 62%,
    #c19f67 100%) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-top-line i,
.resume-paper[data-tpl="tpl-3"] .t3-top-line b {
  display: none !important;
}

/* T3 content line-height normalization: basic info and body text follow the line-height slider. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-row3,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-row3 span,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-row3 strong,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-row3 em,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text p,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text li,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-self,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-list,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-list li {
  line-height: var(--resume-line-height, 1.6) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div {
  margin: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text p {
  margin-top: 0 !important;
  margin-bottom: calc((var(--resume-line-height, 1.6) - 1.4) * 5px) !important;
}

/* T3 header title color sync: single divider and lower-opacity subtitle text. */
.resume-paper[data-tpl="tpl-3"] .t3-title {
  color: var(--resume-theme, #0e6c7d) !important;
  gap: 14px !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title h1 {
  color: var(--resume-theme, #0e6c7d) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title > i {
  display: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title > div {
  border-left: 1px solid var(--resume-theme, #0e6c7d) !important;
  padding-left: 14px !important;
  color: var(--resume-theme, #0e6c7d) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title p,
.resume-paper[data-tpl="tpl-3"] .t3-title strong {
  color: var(--resume-theme, #0e6c7d) !important;
  opacity: .6 !important;
}

/* T3 header title: remove legacy title-side divider, keep only the theme divider before subtitle. */
.resume-paper[data-tpl="tpl-3"] .t3-title h1 {
  border-right: 0 !important;
  padding-right: 0 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title > div {
  border-left: 1px solid var(--resume-theme, #0e6c7d) !important;
}

/* T3 print avatar fix: keep photo anchored inside basic-info grid instead of page top. */
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid {
  position: relative !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  position: absolute !important;
  top: 4px !important;
  right: 0 !important;
  width: var(--t3-photo-w, 76px) !important;
  height: 92px !important;
  object-fit: cover !important;
}
@media print {
  #editor-resume[data-tpl="tpl-3"] .t3-basic-grid {
    position: relative !important;
  }
  #editor-resume[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
    position: absolute !important;
    top: 4px !important;
    right: 0 !important;
    width: var(--t3-photo-w, 76px) !important;
    height: 92px !important;
    object-fit: cover !important;
  }
}

/* T3 avatar stable layout: use grid column instead of absolute positioning for print consistency. */
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) var(--t3-photo-w, 76px) !important;
  column-gap: 24px !important;
  row-gap: 0 !important;
  padding-right: 0 !important;
  min-height: 92px !important;
  align-items: center !important;
  position: relative !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(1),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(2),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(3),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(4),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(4) {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(5),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(5) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(6),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(6) {
  grid-column: 3 !important;
  grid-row: 2 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(7),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(7) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(8),
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(8) {
  grid-column: 2 / span 2 !important;
  grid-row: 3 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  position: static !important;
  grid-column: 4 !important;
  grid-row: 1 / span 3 !important;
  justify-self: end !important;
  align-self: start !important;
  width: var(--t3-photo-w, 76px) !important;
  height: 92px !important;
  object-fit: cover !important;
}
@media print {
  #editor-resume[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
    position: static !important;
    grid-column: 4 !important;
    grid-row: 1 / span 3 !important;
    justify-self: end !important;
    align-self: start !important;
  }
}

/* T3 skill names: keep long names on one line and let them extend rightward. */
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars {
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  grid-template-columns: max-content 1fr 42px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div > span,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div > span {
  display: inline-block !important;
  white-space: nowrap !important;
  min-width: max-content !important;
  overflow: visible !important;
}

/* T3 skill bars: fixed total meter length; fill width reflects level ratio. */
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  grid-template-columns: max-content 64px 42px !important;
  column-gap: 8px !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  overflow: hidden !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars i,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars i {
  max-width: 100% !important;
}

/* T3 skill list: show all skills and wrap rows when horizontal space is not enough. */
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 34px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  display: grid !important;
  grid-template-columns: max-content 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .skill-desc-area,
#editor-resume[data-tpl="tpl-3"] .skill-desc-area {
  min-height: 110px !important;
}

/* T3 skill bars alignment: two equal columns, centered as a group. */
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: start !important;
  align-items: center !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: auto !important;
  box-sizing: border-box !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div > span,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div > span {
  min-width: 0 !important;
  max-width: 86px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars em,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars em {
  text-align: left !important;
  white-space: nowrap !important;
}

/* T3 skill bars alignment with description text left edge. */
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars {
  justify-content: start !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Skill section sync styles: all templates can show all edited skills and levels. */
.resume-paper .t1-skill-bars,
.resume-paper .t4-bars,
.resume-paper .t5-bars,
.resume-paper .t6-bars,
.resume-paper .t7-bars,
.resume-paper .t8-bars {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 24px !important;
  overflow: visible !important;
}
.resume-paper .t4-bars > div,
.resume-paper .t5-bars > div,
.resume-paper .t6-bars > div,
.resume-paper .t7-bars > div,
.resume-paper .t8-bars > div {
  display: grid !important;
  grid-template-columns: max-content 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
}
.resume-paper .t4-bars > div > span,
.resume-paper .t5-bars > div > span,
.resume-paper .t6-bars > div > span,
.resume-paper .t7-bars > div > span,
.resume-paper .t8-bars > div > span {
  white-space: nowrap !important;
}
.resume-paper .t4-bars b,
.resume-paper .t5-bars b,
.resume-paper .t6-bars b,
.resume-paper .t7-bars b,
.resume-paper .t8-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper .t4-bars i,
.resume-paper .t5-bars i,
.resume-paper .t6-bars i,
.resume-paper .t7-bars i,
.resume-paper .t8-bars i {
  max-width: 100% !important;
}
.resume-paper .t1-skill-bar-item {
  display: grid !important;
  grid-template-columns: max-content 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
}
.resume-paper .t1-skill-meter {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper .t1-skill-meter span {
  max-width: 100% !important;
}
.resume-paper .t1-skill-bar-item em,
.resume-paper .t2-skill-item em,
.resume-paper .t4-bars em,
.resume-paper .t5-bars em,
.resume-paper .t6-bars em,
.resume-paper .t7-bars em,
.resume-paper .t8-bars em {
  font-style: normal !important;
  white-space: nowrap !important;
}
.resume-paper .t2-skill-item {
  display: grid !important;
  grid-template-columns: max-content 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
}
.resume-paper .t2-skill-item .skill-line {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper .t2-skill-item .skill-line span {
  max-width: 100% !important;
}

/* T1 skill bars: fixed two-column alignment. */
.resume-paper[data-tpl="tpl-1"] .t1-skill-bars,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: start !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
  max-width: none !important;
}
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: auto !important;
  box-sizing: border-box !important;
}
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item > span,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item > span {
  width: auto !important;
  max-width: 6.5em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.resume-paper[data-tpl="tpl-1"] .t1-skill-meter,
#editor-resume[data-tpl="tpl-1"] .t1-skill-meter {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
}
.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item em,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item em {
  text-align: left !important;
  font-style: normal !important;
  white-space: nowrap !important;
}

/* T2 skill bars: align meter start and level text in fixed columns. */
.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: auto !important;
  margin-bottom: 9px !important;
}
.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .t2-skill-name {
  width: 88px !important;
  max-width: 88px !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-2"] .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item .skill-line {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  margin-bottom: 0 !important;
}
.resume-paper[data-tpl="tpl-2"] .t2-skill-item em,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item em {
  width: 42px !important;
  text-align: left !important;
  font-style: normal !important;
  white-space: nowrap !important;
}

/* T4 skill bars: prevent skill names from overlapping meters. */
.resume-paper[data-tpl="tpl-4"] .t4-bars,
#editor-resume[data-tpl="tpl-4"] .t4-bars {
  display: grid !important;
  grid-template-columns: repeat(2, 230px) !important;
  justify-content: start !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-bars > div,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div {
  display: grid !important;
  grid-template-columns: 98px 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
  width: 230px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-bars > div > span,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div > span {
  width: 98px !important;
  max-width: 98px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-bars b,
#editor-resume[data-tpl="tpl-4"] .t4-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-bars em,
#editor-resume[data-tpl="tpl-4"] .t4-bars em {
  width: 42px !important;
  text-align: left !important;
  white-space: nowrap !important;
}

/* T5 skill bars: prevent skill names from overlapping meters. */
.resume-paper[data-tpl="tpl-5"] .t5-bars,
#editor-resume[data-tpl="tpl-5"] .t5-bars {
  display: grid !important;
  grid-template-columns: repeat(2, 230px) !important;
  justify-content: start !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-5"] .t5-bars > div,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div {
  display: grid !important;
  grid-template-columns: 98px 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
  width: 230px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-5"] .t5-bars > div > span,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div > span {
  width: 98px !important;
  max-width: 98px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-5"] .t5-bars b,
#editor-resume[data-tpl="tpl-5"] .t5-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper[data-tpl="tpl-5"] .t5-bars em,
#editor-resume[data-tpl="tpl-5"] .t5-bars em {
  width: 42px !important;
  text-align: left !important;
  white-space: nowrap !important;
}

/* T6-T8 skill bars: prevent skill names from overlapping meters. */
.resume-paper[data-tpl="tpl-6"] .t6-bars,
#editor-resume[data-tpl="tpl-6"] .t6-bars,
.resume-paper[data-tpl="tpl-7"] .t7-bars,
#editor-resume[data-tpl="tpl-7"] .t7-bars,
.resume-paper[data-tpl="tpl-8"] .t8-bars,
#editor-resume[data-tpl="tpl-8"] .t8-bars {
  display: grid !important;
  grid-template-columns: repeat(2, 230px) !important;
  justify-content: start !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-6"] .t6-bars > div,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div {
  display: grid !important;
  grid-template-columns: 98px 64px 42px !important;
  column-gap: 8px !important;
  align-items: center !important;
  width: 230px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-6"] .t6-bars > div > span,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div > span,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div > span,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div > span,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div > span,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div > span {
  width: 98px !important;
  max-width: 98px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.resume-paper[data-tpl="tpl-6"] .t6-bars b,
#editor-resume[data-tpl="tpl-6"] .t6-bars b,
.resume-paper[data-tpl="tpl-7"] .t7-bars b,
#editor-resume[data-tpl="tpl-7"] .t7-bars b,
.resume-paper[data-tpl="tpl-8"] .t8-bars b,
#editor-resume[data-tpl="tpl-8"] .t8-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}
.resume-paper[data-tpl="tpl-6"] .t6-bars em,
#editor-resume[data-tpl="tpl-6"] .t6-bars em,
.resume-paper[data-tpl="tpl-7"] .t7-bars em,
#editor-resume[data-tpl="tpl-7"] .t7-bars em,
.resume-paper[data-tpl="tpl-8"] .t8-bars em,
#editor-resume[data-tpl="tpl-8"] .t8-bars em {
  width: 42px !important;
  text-align: left !important;
  white-space: nowrap !important;
}

/* T4 job intention: keep title bar color, remove pale background from content row. */
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-sec-body,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-sec-body,
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-job,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-job,
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-job span,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-job span {
  background: transparent !important;
  background-color: transparent !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-sec-body,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="job"] .t4-sec-body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* T4 section title: two rectangular blocks, no angled cut. */
.resume-paper[data-tpl="tpl-4"] .t4-sec-bar,
#editor-resume[data-tpl="tpl-4"] .t4-sec-bar {
  height: 28px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: color-mix(in srgb, var(--resume-theme, #156f89) 10%, #fff 90%) !important;
  border: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-sec-bar span,
#editor-resume[data-tpl="tpl-4"] .t4-sec-bar span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 102px !important;
  height: 28px !important;
  padding: 0 16px !important;
  color: #fff !important;
  background: var(--resume-theme, #156f89) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  line-height: 28px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  clip-path: none !important;
  border-radius: 0 !important;
}

/* T4 basic info: tighten content row spacing to match other sections. */
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-bar,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-bar {
  margin-bottom: 6px !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-body,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-basic,
#editor-resume[data-tpl="tpl-4"] .t4-basic {
  min-height: 100px !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid {
  gap: 3px 48px !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid > div {
  line-height: 1.35 !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-avatar,
#editor-resume[data-tpl="tpl-4"] .t4-avatar {
  top: 4px !important;
}

/* T4 basic info font weights: labels bold, values normal. */
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid b {
  font-weight: 700 !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid span,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid span {
  font-weight: 400 !important;
}

/* T3/T4 spacing controls: make basic info, section gaps, and page margins follow the spacing panel. */
.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page,
#editor-resume[data-tpl="tpl-3"] .resume-main.t3-page,
#editor-resume[data-tpl="tpl-3"] .t3-page-content,
.resume-paper[data-tpl="tpl-4"] .resume-main.t4-page,
#editor-resume[data-tpl="tpl-4"] .resume-main.t4-page,
#editor-resume[data-tpl="tpl-4"] .t4-page-content {
  padding: var(--resume-padding, 28px) !important;
  box-sizing: border-box !important;
}
.resume-paper[data-tpl="tpl-3"] .resume-main.t3-page,
#editor-resume[data-tpl="tpl-3"] .resume-main.t3-page,
#editor-resume[data-tpl="tpl-3"] .t3-page-content {
  --t3-side-gap: var(--resume-padding, 28px) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-section,
#editor-resume[data-tpl="tpl-3"] .t3-section,
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid {
  row-gap: var(--resume-info-line-gap, 6px) !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid b,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume[data-tpl="tpl-3"] .t3-basic-grid span,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid > div,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid b,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid span,
#editor-resume[data-tpl="tpl-4"] .t4-basic-grid span,
.resume-paper[data-tpl="tpl-4"] .t4-job span,
#editor-resume[data-tpl="tpl-4"] .t4-job span {
  line-height: var(--resume-line-height, 1.72) !important;
}
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-bar,
#editor-resume[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-bar {
  margin-bottom: calc(var(--resume-section-gap, 14px) * .42) !important;
}

/* T1 section gap controls: make basic info block and education section follow the spacing panel. */
.resume-paper[data-tpl="tpl-1"] .t1-header-block,
#editor-resume[data-tpl="tpl-1"] .t1-header-block {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
  padding-bottom: calc(var(--resume-section-gap, 14px) * .35) !important;
}
.resume-paper[data-tpl="tpl-1"] .resume-section,
#editor-resume[data-tpl="tpl-1"] .resume-section {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
.resume-paper[data-tpl="tpl-1"] .resume-section:first-of-type,
#editor-resume[data-tpl="tpl-1"] .resume-section:first-of-type {
  padding-top: 0 !important;
}

/* T3 final spacing hook: basic information must respond to module and line spacing controls. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-section[data-section="basic"],
#editor-resume[data-tpl="tpl-3"] .t3-page-content > .t3-section[data-section="basic"],
.resume-paper[data-tpl="tpl-3"] .t3-section[data-section="basic"] {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-section,
#editor-resume[data-tpl="tpl-3"] .t3-page-content > .t3-section,
.resume-paper[data-tpl="tpl-3"] .t3-section {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: calc((var(--resume-line-height, 1.72) - 1) * 16px) !important;
  align-items: start !important;
  min-height: auto !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid b,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid span,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span {
  line-height: var(--resume-line-height, 1.72) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-sec-body,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-sec-body,
.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  line-height: var(--resume-line-height, 1.72) !important;
}

/* T3 final spacing hook: basic information must respond to module and line spacing controls. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-section[data-section="basic"],
#editor-resume[data-tpl="tpl-3"] .t3-page-content > .t3-section[data-section="basic"],
.resume-paper[data-tpl="tpl-3"] .t3-section[data-section="basic"] {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-section,
#editor-resume[data-tpl="tpl-3"] .t3-page-content > .t3-section,
.resume-paper[data-tpl="tpl-3"] .t3-section {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: calc((var(--resume-line-height, 1.72) - 1) * 16px) !important;
  align-items: start !important;
  min-height: auto !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid b,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid span,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span {
  line-height: var(--resume-line-height, 1.72) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-sec-body,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-sec-body,
.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  line-height: var(--resume-line-height, 1.72) !important;
}

/* T3 basic info: match content row spacing with other section body text. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div {
  margin: 0 !important;
  padding: 0 !important;
}

/* T3 basic info line spacing: keep avatar out of the text grid so row spacing can actually change. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: var(--resume-info-line-gap, 6px) !important;
  padding-right: calc(var(--t3-photo-w, 76px) + 24px) !important;
  min-height: 92px !important;
  align-items: start !important;
  position: relative !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(1),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(1),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(2),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(2),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(3),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(3),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(4),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(4),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(4) {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(5),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(5),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(5) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(6),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(6),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(6) {
  grid-column: 3 !important;
  grid-row: 2 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(7),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(7),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(7) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(8),
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div:nth-child(8),
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div:nth-child(8) {
  grid-column: 2 / span 2 !important;
  grid-row: 3 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid .t3-photo,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: var(--t3-photo-w, 76px) !important;
  height: 92px !important;
  object-fit: cover !important;
}

/* T3 basic info: make grid row spacing visually match normal body text line spacing. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: calc((var(--resume-line-height, 1.4) - 1) * 18px) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div {
  font-size: var(--resume-font-size, 11px) !important;
  line-height: var(--resume-line-height, 1.4) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid b,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid span,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* T3 row spacing final: basic info rows use the same line-height model as other body text. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: 0 !important;
  align-content: start !important;
  align-items: start !important;
  min-height: 92px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid b,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid span,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid span,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-text,
.resume-paper[data-tpl="tpl-3"] .t3-text,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text p,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text p,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text li,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-text li,
.resume-paper[data-tpl="tpl-3"] .t3-text li {
  font-size: var(--resume-font-size, 11px) !important;
  line-height: var(--resume-line-height, 1.4) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid > div,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-text p,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-text p,
.resume-paper[data-tpl="tpl-3"] .t3-text p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* T3 basic info: center text rows vertically inside the avatar-height block. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  align-content: center !important;
  min-height: 92px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid .t3-photo,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* T3 basic info: let the whole block shrink/grow with line spacing instead of fixed avatar height. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  --t3-basic-row-h: calc(var(--resume-font-size, 11px) * var(--resume-line-height, 1.4));
  --t3-basic-row-gap: 0px;
  --t3-basic-content-h: calc(var(--t3-basic-row-h) * 3 + var(--t3-basic-row-gap) * 2);
  row-gap: var(--t3-basic-row-gap) !important;
  min-height: var(--t3-basic-content-h) !important;
  align-content: start !important;
  align-items: start !important;
  padding-right: calc(var(--t3-photo-w, 76px) + 24px) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid .t3-photo,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  top: 0 !important;
  transform: none !important;
  height: var(--t3-basic-content-h) !important;
  width: calc(var(--t3-basic-content-h) * .826) !important;
  max-width: var(--t3-photo-w, 76px) !important;
  object-fit: cover !important;
}

/* T3 basic info final sizing: use JS-computed px variables for reliable block height. */
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid {
  row-gap: 0 !important;
  min-height: var(--resume-basic-3line-height, 46.2px) !important;
  align-content: start !important;
  align-items: start !important;
}
#editor-resume.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo,
#editor-resume[data-tpl="tpl-3"] .t3-page-content .t3-basic-grid .t3-photo,
.resume-paper[data-tpl="tpl-3"] .t3-basic-grid .t3-photo {
  top: 0 !important;
  transform: none !important;
  height: var(--resume-basic-3line-height, 46.2px) !important;
  width: auto !important;
  max-width: var(--t3-photo-w, 76px) !important;
  object-fit: cover !important;
}

/* Photo visibility switch: hide avatar images/wrappers across all templates. */
#editor-resume .photo-hidden,
#editor-resume img.photo-hidden,
#editor-resume .resume-avatar.photo-hidden,
#editor-resume #resume-avatar-wrap.photo-hidden,
#editor-resume .t1-avatar.photo-hidden,
#editor-resume .t3-photo.photo-hidden,
#editor-resume .t4-avatar.photo-hidden,
#editor-resume .t5-avatar.photo-hidden,
#editor-resume .t6-avatar.photo-hidden,
#editor-resume .t7-avatar.photo-hidden,
#editor-resume .t8-avatar.photo-hidden {
  display: none !important;
}

/* T4 basic info final: match T3 behavior and let the block height follow line spacing. */
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-body,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-sec-wrap[data-section="basic"] .t4-sec-body,
.resume-paper[data-tpl="tpl-4"] .t4-sec-wrap[data-section="basic"] .t4-sec-body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic,
.resume-paper[data-tpl="tpl-4"] .t4-basic {
  position: relative !important;
  min-height: var(--resume-basic-4line-height, 61.6px) !important;
  padding: 0 calc(var(--t4-avatar-w, 82px) + 32px) 0 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic-grid,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic-grid,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 48px !important;
  row-gap: 0 !important;
  align-content: start !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic-grid > div,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic-grid b,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid b,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic-grid span,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic-grid span,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid span,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-text,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-text,
.resume-paper[data-tpl="tpl-4"] .t4-text,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-text p,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-text p,
.resume-paper[data-tpl="tpl-4"] .t4-text p,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-text li,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-text li,
.resume-paper[data-tpl="tpl-4"] .t4-text li {
  font-size: var(--resume-font-size, 11px) !important;
  line-height: var(--resume-line-height, 1.4) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-basic-grid > div,
.resume-paper[data-tpl="tpl-4"] .t4-basic-grid > div,
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-text p,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-text p,
.resume-paper[data-tpl="tpl-4"] .t4-text p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-avatar,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-avatar,
.resume-paper[data-tpl="tpl-4"] .t4-avatar {
  --t4-avatar-w: 82px;
  position: absolute !important;
  right: 18px !important;
  top: 0 !important;
  transform: none !important;
  height: var(--resume-basic-4line-height, 61.6px) !important;
  width: auto !important;
  max-width: var(--t4-avatar-w, 82px) !important;
  object-fit: cover !important;
}

/* T5 header: remove the second horizontal line under the basic information block. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-header,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-header,
.resume-paper[data-tpl="tpl-5"] .t5-header {
  border-bottom: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid {
  border-bottom: 0 !important;
}

/* T4 job intention values should not be bold. */
#editor-resume.resume-paper[data-tpl="tpl-4"] .t4-job span span,
#editor-resume[data-tpl="tpl-4"] .t4-page-content .t4-job span span,
.resume-paper[data-tpl="tpl-4"] .t4-job span span {
  font-weight: 400 !important;
}

/* T5 header: remove only the line below contact/email; keep the title separator. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-head-left::after,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-head-left::after,
.resume-paper[data-tpl="tpl-5"] .t5-head-left::after {
  content: none !important;
  display: none !important;
}

/* T5 basic info icons: replace square bullets with line icons. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span {
  padding-left: 24px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 15px !important;
  height: 15px !important;
  border-radius: 0 !important;
  background-color: var(--resume-theme, #2e5f9c) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 15px 15px !important;
  opacity: .9 !important;
  transform: translateY(-50%) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(1)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(1)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(1)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.7-4 4.3-6 8-6s6.3 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.7-4 4.3-6 8-6s6.3 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(2)::before,
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(3)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(2)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(3)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(2)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(3)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.4 7-12a7 7 0 0 0-14 0c0 6.6 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.4 7-12a7 7 0 0 0-14 0c0 6.6 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(4)::before,
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(5)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(4)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(5)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(4)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(5)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.7.6 2.5a2 2 0 0 1-.4 2.1L8 9.6a16 16 0 0 0 6.4 6.4l1.3-1.3a2 2 0 0 1 2.1-.4c.8.3 1.6.5 2.5.6A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.7.6 2.5a2 2 0 0 1-.4 2.1L8 9.6a16 16 0 0 0 6.4 6.4l1.3-1.3a2 2 0 0 1 2.1-.4c.8.3 1.6.5 2.5.6A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(6)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(6)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(6)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* T5 basic info icon correction: job intention uses a briefcase icon. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(4)::before,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span:nth-child(4)::before,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span:nth-child(4)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6V5a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v1'/%3E%3Crect x='3' y='6' width='18' height='14' rx='2'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M9 12v2h6v-2'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6V5a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v1'/%3E%3Crect x='3' y='6' width='18' height='14' rx='2'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M9 12v2h6v-2'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* T5 header spacing: make title-line, info rows, and next-section gaps visually equal. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-header,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-header,
.resume-paper[data-tpl="tpl-5"] .t5-header {
  --t5-info-y-gap: 8px;
  min-height: auto !important;
  padding-bottom: 0 !important;
  margin-bottom: var(--t5-info-y-gap) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-head-left h1,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-head-left h1,
.resume-paper[data-tpl="tpl-5"] .t5-head-left h1 {
  margin-bottom: 6px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid {
  border-top: 1px solid #555 !important;
  padding-top: var(--t5-info-y-gap) !important;
  row-gap: var(--t5-info-y-gap) !important;
  column-gap: 92px !important;
  margin-bottom: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-info-grid > span,
.resume-paper[data-tpl="tpl-5"] .t5-info-grid > span {
  line-height: var(--resume-line-height, 1.35) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"],
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap[data-section="edu"],
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"] {
  margin-top: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"] h2,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap[data-section="edu"] h2,
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"] h2 {
  margin-top: 0 !important;
}

/* Final line-height binding: all resume section contents follow the line-spacing slider. */
#editor-resume .resume-item,
#editor-resume .resume-item-header,
#editor-resume .resume-item-header span,
#editor-resume .resume-item-header strong,
#editor-resume .resume-item-date,
#editor-resume .resume-item-desc,
#editor-resume .resume-item-desc *,
#editor-resume .resume-section p,
#editor-resume .resume-section li,
#editor-resume .resume-section ul,
#editor-resume .t3-sec-body,
#editor-resume .t3-sec-body :where(p, li, ul, div, span, strong, em),
#editor-resume .t4-sec-body,
#editor-resume .t4-sec-body :where(p, li, ul, div, span, strong, em),
#editor-resume .t5-sec-body,
#editor-resume .t5-sec-body :where(p, li, ul, div, span, strong, em),
#editor-resume .t6-content :where(p, li, ul, div, span, strong, em),
#editor-resume .t7-sec-body,
#editor-resume .t7-sec-body :where(p, li, ul, div, span, strong, em),
#editor-resume .t8-sec-body,
#editor-resume .t8-sec-body :where(p, li, ul, div, span, strong, em),
#editor-resume .t1-skill-detail,
#editor-resume .t1-skill-detail *,
#editor-resume .t1-skill-bar-item,
#editor-resume .t1-skill-bar-item *,
#editor-resume .t2-skill-item,
#editor-resume .t2-skill-item *,
#editor-resume .t3-row3,
#editor-resume .t3-row3 *,
#editor-resume .t4-row3,
#editor-resume .t4-row3 *,
#editor-resume .t4-job,
#editor-resume .t4-job *,
#editor-resume .t5-row3,
#editor-resume .t5-row3 *,
#editor-resume .t6-row3,
#editor-resume .t6-row3 *,
#editor-resume .t7-row3,
#editor-resume .t7-row3 *,
#editor-resume .t8-row3,
#editor-resume .t8-row3 *,
#editor-resume .t5-info-grid > span,
#editor-resume .t5-info-grid > span * {
  line-height: var(--resume-line-height, 1.72) !important;
}

/* T6-T8 line-height coverage: include template-specific basic/header info blocks. */
#editor-resume .t6-hero p,
#editor-resume .t6-hero p span,
#editor-resume .t6-hero p i,
#editor-resume .t7-basic-grid,
#editor-resume .t7-basic-grid :where(div, span, b, strong, em),
#editor-resume .t8-head-info,
#editor-resume .t8-head-info :where(p, div, span, b, strong, em),
#editor-resume .t8-head-grid,
#editor-resume .t8-head-grid :where(div, span, b, strong, em) {
  line-height: var(--resume-line-height, 1.72) !important;
}

/* T5 module spacing: basic header and education section follow the section-gap slider. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-header,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-header,
.resume-paper[data-tpl="tpl-5"] .t5-header {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap,
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"],
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap[data-section="edu"],
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"] {
  margin-top: 0 !important;
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T5 module spacing final: basic header and all following sections follow the section-gap slider. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-header,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-header,
.resume-paper[data-tpl="tpl-5"] .t5-header {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap,
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap {
  margin-top: 0 !important;
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"],
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-sec-wrap[data-section="edu"],
.resume-paper[data-tpl="tpl-5"] .t5-sec-wrap[data-section="edu"] {
  margin-top: 0 !important;
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T5 basic info should move by actual box height, not collapsed margin. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-header,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-header,
.resume-paper[data-tpl="tpl-5"] .t5-header {
  margin-bottom: 0 !important;
  padding-bottom: var(--resume-section-gap, 14px) !important;
}

/* T5 module spacing true source: the banner controls the basic-info block position. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-banner,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-banner,
.resume-paper[data-tpl="tpl-5"] .t5-banner {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T5 page top: move PERSONAL RESUME banner up, ~5px from page top. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-page,
#editor-resume[data-tpl="tpl-5"] .t5-page-content,
.resume-paper[data-tpl="tpl-5"] .t5-page {
  padding-top: 5px !important;
}

/* T5 banner: always 5px from left/right page edge, unaffected by page margin slider. */
#editor-resume.resume-paper[data-tpl="tpl-5"] .t5-banner,
#editor-resume[data-tpl="tpl-5"] .t5-page-content .t5-banner,
.resume-paper[data-tpl="tpl-5"] .t5-banner {
  margin-left: calc(-1 * var(--resume-padding, 28px) + 5px) !important;
  margin-right: calc(-1 * var(--resume-padding, 28px) + 5px) !important;
  padding-left: calc(var(--resume-padding, 28px) - 5px) !important;
}

/* T6 hero and T8 header must NOT follow global line-height to prevent page overflow. */
#editor-resume .t6-hero,
#editor-resume .t6-hero h1,
#editor-resume .t6-hero p,
#editor-resume .t6-hero p span,
#editor-resume .t6-hero p i,
#editor-resume .t6-hero i {
  line-height: 1.35 !important;
}
#editor-resume .t6-hero h1 {
  line-height: 1.15 !important;
}
#editor-resume .t8-slant-header,
#editor-resume .t8-slant-header h1,
#editor-resume .t8-slant-header p,
#editor-resume .t8-slant-header p span,
#editor-resume .t8-slant-header p i,
#editor-resume .t8-head-info,
#editor-resume .t8-head-info h1,
#editor-resume .t8-head-info p,
#editor-resume .t8-head-info p span,
#editor-resume .t8-head-grid,
#editor-resume .t8-head-grid span,
#editor-resume .t8-head-grid b {
  line-height: 1.35 !important;
}
#editor-resume .t8-slant-header h1,
#editor-resume .t8-head-info h1 {
  line-height: 1.1 !important;
}

/* T6 hero: flush to top/left/right edge of page. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  margin: calc(-1 * var(--resume-padding, 28px)) calc(-1 * var(--resume-padding, 28px)) 24px !important;
  padding: 24px 56px 26px !important;
}
/* T6 timeline: reduce left/right margin for body content. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-timeline,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-timeline,
.resume-paper[data-tpl="tpl-6"] .t6-timeline {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

/* T6 page: remove top padding so hero is flush to page top edge. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page,
#editor-resume[data-tpl="tpl-6"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .t6-page {
  padding-top: 0 !important;
}
/* T8 slant header: flush to top/left/right edge of page. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  margin: calc(-1 * var(--resume-padding, 28px)) calc(-1 * var(--resume-padding, 28px)) 20px !important;
}
/* T8 page: remove top padding so header is flush to page top edge. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-page,
#editor-resume[data-tpl="tpl-8"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .t8-page {
  padding-top: 0 !important;
}
/* T8 timeline: reduce left/right margin for body content. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-timeline,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-timeline,
.resume-paper[data-tpl="tpl-8"] .t8-timeline {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

/* T6/T8 paged: second page onwards needs top padding for content. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page-content,
#editor-resume[data-tpl="tpl-6"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .t6-page-content {
  padding-top: var(--resume-padding, 28px) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content {
  padding-top: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-page-content,
#editor-resume[data-tpl="tpl-8"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .t8-page-content {
  padding-top: var(--resume-padding, 28px) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content,
#editor-resume[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content {
  padding-top: 0 !important;
}

/* T6/T8: page-content should have 0 left/right padding; hero fills full width, timeline has its own margin. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page-content,
#editor-resume[data-tpl="tpl-6"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .t6-page-content,
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page,
#editor-resume[data-tpl="tpl-6"] .resume-main.t6-page,
.resume-paper[data-tpl="tpl-6"] .t6-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-timeline,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-timeline,
.resume-paper[data-tpl="tpl-6"] .t6-timeline {
  margin-left: var(--resume-padding, 28px) !important;
  margin-right: var(--resume-padding, 28px) !important;
}

#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-page-content,
#editor-resume[data-tpl="tpl-8"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .t8-page-content,
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-page,
#editor-resume[data-tpl="tpl-8"] .resume-main.t8-page,
.resume-paper[data-tpl="tpl-8"] .t8-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-timeline,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-timeline,
.resume-paper[data-tpl="tpl-8"] .t8-timeline {
  margin-left: var(--resume-padding, 28px) !important;
  margin-right: var(--resume-padding, 28px) !important;
}

/* T6 hero: increase top padding so avatar is not clipped, and remove overflow hidden. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  padding-top: 38px !important;
  overflow: visible !important;
}

/* T6 avatar: remove thick white border. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-avatar,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-avatar,
.resume-paper[data-tpl="tpl-6"] .t6-avatar {
  border: none !important;
  box-shadow: none !important;
}

/* T6/T8: if a section chunk on a page has no visible body content, hide it to prevent orphaned icons. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-sec:has(.t6-sec-body:empty),
.resume-paper[data-tpl="tpl-6"] .t6-sec:has(.t6-sec-body:empty) {
  display: none !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-sec:has(.t8-sec-body:empty),
.resume-paper[data-tpl="tpl-8"] .t8-sec:has(.t8-sec-body:empty) {
  display: none !important;
}

/* T6 hero: top margin compensates page padding; internal padding keeps content centered. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  margin-top: 0 !important;
  padding-top: 38px !important;
  padding-bottom: 26px !important;
}
/* T6 first page content: always 0 top padding so hero fills from edge. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page {
  padding-top: 0 !important;
}

/* T6 hero: ensure avatar never clips at top regardless of page margin. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  padding-top: 46px !important;
}

/* T6 hero: follow section-gap slider for bottom margin. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
/* T6 hero info text: follow line-height slider. */
#editor-resume .t6-hero p,
#editor-resume .t6-hero p span,
#editor-resume .t6-hero p i {
  line-height: var(--resume-line-height, 1.72) !important;
}
/* T6 sections: follow section-gap slider. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-sec,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-sec,
.resume-paper[data-tpl="tpl-6"] .t6-sec {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T6 hero: height follows section-gap; content stays vertically centered. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  padding-top: calc(20px + var(--resume-section-gap, 14px)) !important;
  padding-bottom: calc(20px + var(--resume-section-gap, 14px)) !important;
}
/* T6 hero: name and avatar follow line-height. */
#editor-resume .t6-hero h1 {
  line-height: var(--resume-line-height, 1.72) !important;
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.5) !important;
}
#editor-resume .t6-hero .t6-avatar {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.5) !important;
}

/* T6 hero to first section: increase bottom margin for more spacing. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  margin-bottom: calc(var(--resume-section-gap, 14px) + 12px) !important;
}

/* T6/T8 continuation pages: use timeline padding instead of page-content padding for top spacing. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-page-content,
#editor-resume[data-tpl="tpl-6"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .t6-page-content {
  padding-top: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-6"] .paged-resume-page:not([data-page="1"]) .t6-timeline,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page:not([data-page="1"]) .t6-timeline {
  padding-top: var(--resume-padding, 28px) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-page-content,
#editor-resume[data-tpl="tpl-8"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .t8-page-content {
  padding-top: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .paged-resume-page:not([data-page="1"]) .t8-timeline,
.resume-paper[data-tpl="tpl-8"] .paged-resume-page:not([data-page="1"]) .t8-timeline {
  padding-top: var(--resume-padding, 28px) !important;
}

/* T6 hero: reduce height - less padding, tighter line-height, smaller avatar top gap. */
#editor-resume.resume-paper[data-tpl="tpl-6"] .t6-hero,
#editor-resume[data-tpl="tpl-6"] .t6-page-content .t6-hero,
.resume-paper[data-tpl="tpl-6"] .t6-hero {
  padding-top: calc(14px + var(--resume-section-gap, 14px) * 0.5) !important;
  padding-bottom: calc(14px + var(--resume-section-gap, 14px) * 0.5) !important;
}
#editor-resume .t6-hero p,
#editor-resume .t6-hero p span,
#editor-resume .t6-hero p i {
  line-height: 1.45 !important;
}
#editor-resume .t6-hero h1 {
  line-height: 1.35 !important;
  margin-bottom: 4px !important;
}
#editor-resume .t6-hero .t6-avatar {
  margin-bottom: 6px !important;
}

/* T6 hero: text line-height follows slider again. */
#editor-resume .t6-hero p,
#editor-resume .t6-hero p span,
#editor-resume .t6-hero p i {
  line-height: calc(var(--resume-line-height, 1.72) * 0.85) !important;
}
#editor-resume .t6-hero h1 {
  line-height: calc(var(--resume-line-height, 1.72) * 0.78) !important;
}

/* T8 slant header: proper top padding, content stays inside background. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  padding-top: calc(18px + var(--resume-section-gap, 14px) * 0.5) !important;
  padding-bottom: calc(14px + var(--resume-section-gap, 14px) * 0.5) !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

/* T8 head-grid: hide old square pseudo-element, style new SVG icons. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-head-grid span:before,
.resume-paper[data-tpl="tpl-8"] .t8-head-grid span:before {
  display: none !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-head-grid .t8-ico,
.resume-paper[data-tpl="tpl-8"] .t8-head-grid .t8-ico {
  width: 14px !important;
  height: 14px !important;
  margin-right: 6px !important;
  vertical-align: -2px !important;
  fill: rgba(255,255,255,.92) !important;
  flex-shrink: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-head-grid span,
.resume-paper[data-tpl="tpl-8"] .t8-head-grid span {
  padding-left: 0 !important;
}

/* T8 slant header: content follows line-height and section-gap sliders. */
#editor-resume .t8-slant-header p,
#editor-resume .t8-slant-header p span,
#editor-resume .t8-slant-header p i {
  line-height: calc(var(--resume-line-height, 1.72) * 0.85) !important;
}
#editor-resume .t8-slant-header h1 {
  line-height: calc(var(--resume-line-height, 1.72) * 0.78) !important;
}
#editor-resume .t8-head-grid,
#editor-resume .t8-head-grid span {
  line-height: calc(var(--resume-line-height, 1.72) * 0.9) !important;
}
/* T8 slant header: height follows section-gap. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  margin-bottom: calc(var(--resume-section-gap, 14px) + 12px) !important;
}
/* T8 avatar: remove white border. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-avatar,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-avatar,
.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  border: none !important;
  box-shadow: none !important;
}

/* T8 header line-height follows slider. */
#editor-resume .t8-slant-header p,
#editor-resume .t8-slant-header p span,
#editor-resume .t8-slant-header p i {
  line-height: calc(var(--resume-line-height, 1.72) * 0.85) !important;
}
#editor-resume .t8-slant-header h1 {
  line-height: calc(var(--resume-line-height, 1.72) * 0.78) !important;
}
#editor-resume .t8-head-grid,
#editor-resume .t8-head-grid span {
  line-height: calc(var(--resume-line-height, 1.72) * 0.9) !important;
}
/* T8 header height follows section-gap. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  margin-bottom: calc(var(--resume-section-gap, 14px) + 12px) !important;
}
/* T8 avatar: remove border. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-avatar,
.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  border: none !important;
  box-shadow: none !important;
}

/* T8 slant header: more bottom padding + follow page margin for padding. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-slant-header,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-slant-header,
.resume-paper[data-tpl="tpl-8"] .t8-slant-header {
  padding-bottom: calc(22px + var(--resume-section-gap, 14px) * 0.5) !important;
  padding-left: var(--resume-padding, 28px) !important;
  padding-right: var(--resume-padding, 28px) !important;
}

/* T8 avatar: right position follows page margin. */
#editor-resume.resume-paper[data-tpl="tpl-8"] .t8-avatar,
#editor-resume[data-tpl="tpl-8"] .t8-page-content .t8-avatar,
.resume-paper[data-tpl="tpl-8"] .t8-avatar {
  right: var(--resume-padding, 28px) !important;
}

/* T7 section title: move vertical line right and make lines touch capsule. */
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec:before,
.resume-paper[data-tpl="tpl-7"] .t7-sec:before {
  left: 28px !important;
  top: 0 !important;
  bottom: -15px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec-title:after,
.resume-paper[data-tpl="tpl-7"] .t7-sec-title:after {
  margin-left: 0 !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec-title span,
.resume-paper[data-tpl="tpl-7"] .t7-sec-title span {
  margin-left: 0 !important;
}

/* T7 basic info content: normal font weight. */
#editor-resume.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-body,
#editor-resume.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-body *,
.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-body,
.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-body * {
  font-weight: 400 !important;
}

/* T7 basic section follows section-gap slider. */
#editor-resume.resume-paper[data-tpl="tpl-7"] [data-section="basic"].t7-sec,
.resume-paper[data-tpl="tpl-7"] [data-section="basic"].t7-sec {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-title,
.resume-paper[data-tpl="tpl-7"] [data-section="basic"] .t7-sec-title {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T7 basic info: avatar and reserved height follow line-height slider. */
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-basic-grid,
.resume-paper[data-tpl="tpl-7"] .t7-basic-grid {
  min-height: clamp(82px, calc(var(--resume-line-height, 1.72) * 66px), 112px) !important;
  padding-right: clamp(100px, calc(var(--resume-line-height, 1.72) * 77px), 132px) !important;
  gap: calc(var(--resume-line-height, 1.72) * 3px) 78px !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-basic-grid > div,
.resume-paper[data-tpl="tpl-7"] .t7-basic-grid > div {
  line-height: calc(var(--resume-line-height, 1.72) * 0.85) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-avatar,
.resume-paper[data-tpl="tpl-7"] .t7-avatar {
  width: clamp(58px, calc(var(--resume-line-height, 1.72) * 49px), 84px) !important;
  height: clamp(72px, calc(var(--resume-line-height, 1.72) * 60px), 104px) !important;
}

/* T7 module spacing: make header-to-first-section and all section gaps follow section-gap slider. */
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-header,
.resume-paper[data-tpl="tpl-7"] .t7-header {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.6) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec,
.resume-paper[data-tpl="tpl-7"] .t7-sec {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-sec-title,
.resume-paper[data-tpl="tpl-7"] .t7-sec-title {
  margin-bottom: calc(var(--resume-section-gap, 14px) * 0.45) !important;
}

/* T7 avatar: force remove any visual border. */
#editor-resume.resume-paper[data-tpl="tpl-7"] .t7-avatar,
#editor-resume[data-tpl="tpl-7"] .t7-avatar,
.resume-paper[data-tpl="tpl-7"] .t7-avatar {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Preview layout: prevent resume auto margin from pushing AI panel away. */
.editor-preview-inner > #editor-resume[data-tpl="tpl-1"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-3"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-4"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-5"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-6"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-7"],
.editor-preview-inner > #editor-resume[data-tpl="tpl-8"] {
  margin: 0 !important;
}

/* T2 preview layout: outer flex item must match real T2 page width. */
.editor-preview-inner > #editor-resume[data-tpl="tpl-2"] {
  width: var(--t2-page-width, 821px) !important;
  min-width: var(--t2-page-width, 821px) !important;
  margin: 0 !important;
}

/* Auth account menu and modal. */
.editor-account {
  position: relative;
  display: inline-flex;
  align-items: center;
  z-index: 220;
}
.editor-account-btn {
  height: 34px;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  padding: 0 6px;
}
.editor-account-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: #19bfa4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.editor-account-caret {
  font-size: 13px;
  transform: translateY(-1px);
}
.editor-account-menu {
  display: none;
  position: absolute;
  top: 42px;
  right: 0;
  width: 160px;
  padding: 8px 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
  overflow: hidden;
}
.editor-account.open .editor-account-menu {
  display: block;
}
.editor-account-menu button {
  width: 100%;
  height: 38px;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0 16px;
  color: #555;
  cursor: pointer;
  font-size: 14px;
}
.editor-account-menu button:hover {
  background: #f5f7fa;
  color: #19bfa4;
}
.editor-account-menu button.danger {
  color: #f04444;
}
.auth-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(0,0,0,.42);
}
.auth-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 501;
  width: 360px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 22px 70px rgba(0,0,0,.28);
  padding: 26px 28px 24px;
  box-sizing: border-box;
}
.auth-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #999;
}
.auth-modal-title {
  margin: 0 0 8px;
  font-size: 22px;
  color: #222;
}
.auth-modal-tip {
  margin: 0 0 18px;
  color: #777;
  font-size: 13px;
}
.auth-form label {
  display: block;
  margin-bottom: 12px;
}
.auth-form label span {
  display: block;
  margin-bottom: 6px;
  color: #444;
  font-size: 13px;
}
.auth-form input {
  width: 100%;
  height: 40px;
  border: 1px solid #dcdfe6;
  border-radius: 8px;
  padding: 0 12px;
  box-sizing: border-box;
  outline: none;
}
.auth-form input:focus {
  border-color: #19c9a5;
  box-shadow: 0 0 0 3px rgba(25,201,165,.12);
}
.auth-error {
  min-height: 20px;
  color: #f04444;
  font-size: 13px;
  margin: 2px 0 10px;
}
.auth-submit {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 8px;
  background: #19c9a5;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.auth-switch {
  margin: 14px 0 0;
  text-align: center;
  color: #777;
  font-size: 13px;
}
.auth-switch button {
  border: 0;
  background: transparent;
  color: #19bfa4;
  cursor: pointer;
}
.auth-captcha-row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
}
.auth-captcha-row label {
  flex: 1;
  margin-bottom: 0;
}
.auth-captcha-img {
  width: 130px;
  height: 40px;
  border: 1px solid #dcdfe6;
  border-radius: 8px;
  object-fit: cover;
  cursor: pointer;
  background: #f6fbfa;
}
.auth-field-status {
  min-height: 18px;
  margin: -6px 0 8px;
  font-size: 13px;
  line-height: 18px;
  color: #999;
}
.auth-field-status.success {
  color: #16a36f;
}
.auth-field-status.error {
  color: #f04444;
}
.auth-field-status.checking {
  color: #7a8599;
}
.auth-field-status.success:not(:empty)::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-right: 5px;
  border-radius: 50%;
  background: #16a36f;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  vertical-align: 1px;
}
.auth-field-status.error:not(:empty)::before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-right: 5px;
  border-radius: 50%;
  background: #f04444;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  vertical-align: 1px;
}
.auth-password-field {
  position: relative;
  display: block;
  width: calc(100% - 10px);
}
.auth-password-field input {
  padding-right: 42px;
}
.auth-eye-btn {
  position: absolute;
  right: 1px;
  top: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8792a2;
  cursor: pointer;
}
.auth-eye-btn:hover {
  color: #19bfa4;
}
.auth-eye-icon {
  position: relative;
  width: 18px;
  height: 12px;
  border: 1.8px solid currentColor;
  border-radius: 50% / 60%;
}
.auth-eye-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.auth-eye-icon::after {
  content: "";
  position: absolute;
  left: -4px;
  top: 5px;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(-38deg);
}
.auth-eye-btn.is-visible .auth-eye-icon::after {
  display: none;
}
.auth-form label {
  margin-bottom: 6px;
}
.auth-field-status {
  min-height: 20px;
  margin: 4px 0 10px;
  font-size: 13px;
  line-height: 18px;
}
.auth-password-field {
  width: 100%;
}
.auth-password-field input,
.auth-form > label > input {
  width: 100%;
}
.auth-captcha-row {
  margin-top: 0;
}


.ai-optimize-btn:disabled {
  cursor: wait;
  opacity: 0.68;
  background: #fff7ef;
}

.ai-section-toast {
  position: fixed;
  left: 50%;
  top: 78px;
  z-index: 10020;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 260px;
  max-width: 420px;
  padding: 14px 18px;
  border: 1px solid rgba(255, 141, 42, 0.22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 238, 0.98));
  box-shadow: 0 18px 45px rgba(255, 119, 31, 0.2), 0 8px 20px rgba(30, 35, 60, 0.08);
  color: #2b2118;
  opacity: 0;
  transform: translate(-50%, -14px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.32s ease, transform 0.32s ease;
}

.ai-section-toast.show {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.ai-section-toast.fade-out {
  opacity: 0;
  transform: translate(-50%, -10px) scale(0.98);
}

.ai-section-toast-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #ff8c2a, #ff5f58);
  box-shadow: 0 10px 22px rgba(255, 112, 45, 0.32);
}

.ai-section-toast strong {
  display: block;
  font-size: 15px;
  line-height: 1.35;
  margin-bottom: 2px;
}

.ai-section-toast span {
  display: block;
  color: #8a6b4d;
  font-size: 12px;
  line-height: 1.45;
}


/* ====== Mobile Editor (max-width: 768px) ====== */
.mobile-bottom-bar { display: none; }
.mobile-module-modal { display: none; }

@media (max-width: 768px) {
  /* Hide topbar nav actions, keep logo and export */
  .editor-topbar { height: 48px; padding: 0 12px; }
  .editor-topbar .editor-actions { display: none; }
  .editor-topbar .editor-user .editor-small-btn { display: none; }
  .editor-topbar .editor-account { display: none; }
  .editor-topbar .export-resume-btn { font-size: 12px; padding: 6px 12px; }

  /* Hide form zone and preview toggle on mobile */
  .editor-form-zone { display: none !important; }
  .preview-toggle-btn { display: none !important; }
  .editor-ai-panel { display: none !important; }

  /* Main layout: single column preview */
  .editor-main {
    display: block;
    padding: 52px 0 72px;
    overflow: visible;
  }
  .editor-preview-zone {
    width: 100%;
    min-height: auto;
    padding: 8px;
    overflow: visible;
  }
  .editor-preview-inner {
    width: 100%;
    display: flex;
    justify-content: center;
    touch-action: pan-x pan-y pinch-zoom;
  }
  .editor-resume {
    width: 100%;
    max-width: 100vw;
    min-height: auto;
    transform-origin: top center;
    touch-action: pinch-zoom;
  }

  /* Mobile bottom bar */
  .mobile-bottom-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 64px;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
    z-index: 1100;
    align-items: center;
    justify-content: space-around;
    padding: 0 4px;
  }
  .mb-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 11px;
    padding: 6px 8px;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s;
  }
  .mb-btn:active { background: #f0f9f6; color: #0fa08e; }
  .mb-btn svg { color: inherit; }

  /* Mobile module modal */
  .mobile-module-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
  }
  .mobile-module-modal[aria-hidden="false"] { display: block; }
  .mmm-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
  }
  .mmm-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 85vh;
    background: #fff;
    border-radius: 16px 16px 0 0;
    display: flex;
    flex-direction: column;
    animation: mmm-slide-up 0.3s ease;
  }
  @keyframes mmm-slide-up {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }
  .mmm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    font-size: 16px;
    font-weight: 600;
    color: #333;
  }
  .mmm-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;
    padding: 4px 8px;
  }
  .mmm-body {
    flex: 1;
    overflow-y: auto;
    padding: 12px 16px 24px;
    -webkit-overflow-scrolling: touch;
  }

  /* Module items in modal */
  .mmm-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid #f2f2f2;
  }
  .mmm-item-left {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #333;
    font-weight: 500;
  }
  .mmm-item-left .mmm-edit-icon {
    font-size: 12px;
    color: #aaa;
  }
  .mmm-item-right {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .mmm-edit-btn {
    background: #e8f8f4;
    color: #0fa08e;
    border: none;
    border-radius: 14px;
    padding: 5px 12px;
    font-size: 12px;
    cursor: pointer;
  }
  .mmm-move-btn {
    background: none;
    border: none;
    color: #0fa08e;
    font-size: 12px;
    cursor: pointer;
    padding: 4px 8px;
  }
  .mmm-toggle {
    width: 44px;
    height: 24px;
    border-radius: 12px;
    border: none;
    background: #ddd;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
  }
  .mmm-toggle.on { background: #0fa08e; }
  .mmm-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .mmm-toggle.on::after { transform: translateX(20px); }
}


/* ====== Mobile Editor (max-width: 768px) ====== */
.mobile-bottom-bar { display: none; }
.mobile-module-modal { display: none; }

@media (max-width: 768px) {
  /* Hide topbar nav actions, keep logo and export */
  .editor-topbar { height: 48px; padding: 0 12px; }
  .editor-topbar .editor-actions { display: none; }
  .editor-topbar .editor-user .editor-small-btn { display: none; }
  .editor-topbar .editor-account { display: none; }
  .editor-topbar .export-resume-btn { font-size: 12px; padding: 6px 12px; }

  /* Hide form zone and preview toggle on mobile */
  .editor-form-zone { display: none !important; }
  .preview-toggle-btn { display: none !important; }
  .editor-ai-panel { display: none !important; }

  /* Main layout: single column preview */
  .editor-main {
    display: block;
    padding: 52px 0 72px;
    overflow: visible;
  }
  .editor-preview-zone {
    width: 100%;
    min-height: auto;
    padding: 8px;
    overflow: visible;
  }
  .editor-preview-inner {
    width: 100%;
    display: flex;
    justify-content: center;
    touch-action: pan-x pan-y pinch-zoom;
  }
  .editor-resume {
    width: 100%;
    max-width: 100vw;
    min-height: auto;
    transform-origin: top center;
    touch-action: pinch-zoom;
  }

  /* Mobile bottom bar */
  .mobile-bottom-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 64px;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
    z-index: 1100;
    align-items: center;
    justify-content: space-around;
    padding: 0 4px;
  }
  .mb-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 11px;
    padding: 6px 8px;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s;
  }
  .mb-btn:active { background: #f0f9f6; color: #0fa08e; }
  .mb-btn svg { color: inherit; }

  /* Mobile module modal */
  .mobile-module-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
  }
  .mobile-module-modal[aria-hidden="false"] { display: block; }
  .mmm-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
  }
  .mmm-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 85vh;
    background: #fff;
    border-radius: 16px 16px 0 0;
    display: flex;
    flex-direction: column;
    animation: mmm-slide-up 0.3s ease;
  }
  @keyframes mmm-slide-up {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }
  .mmm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    font-size: 16px;
    font-weight: 600;
    color: #333;
  }
  .mmm-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;
    padding: 4px 8px;
  }
  .mmm-body {
    flex: 1;
    overflow-y: auto;
    padding: 12px 16px 24px;
    -webkit-overflow-scrolling: touch;
  }

  /* Module items in modal */
  .mmm-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid #f2f2f2;
  }
  .mmm-item-left {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #333;
    font-weight: 500;
  }
  .mmm-item-left .mmm-edit-icon {
    font-size: 12px;
    color: #aaa;
  }
  .mmm-item-right {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .mmm-edit-btn {
    background: #e8f8f4;
    color: #0fa08e;
    border: none;
    border-radius: 14px;
    padding: 5px 12px;
    font-size: 12px;
    cursor: pointer;
  }
  .mmm-move-btn {
    background: none;
    border: none;
    color: #0fa08e;
    font-size: 12px;
    cursor: pointer;
    padding: 4px 8px;
  }
  .mmm-toggle {
    width: 44px;
    height: 24px;
    border-radius: 12px;
    border: none;
    background: #ddd;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
  }
  .mmm-toggle.on { background: #0fa08e; }
  .mmm-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .mmm-toggle.on::after { transform: translateX(20px); }
}


@media (max-width: 768px) {
  .mmm-body .editor-form-zone {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .mmm-body .editor-tabs { display: none !important; }
  .mmm-body .editor-form { display: block !important; padding: 0 !important; }
  .mmm-body .form-panel { display: none !important; }
  .mmm-body .form-panel.active { display: block !important; }
  .mmm-body .form-grid,
  .mmm-body .form-grid-wide,
  .mmm-body .entry-row {
    grid-template-columns: 1fr !important;
  }
  .mmm-body input,
  .mmm-body select,
  .mmm-body textarea,
  .mmm-body .richtext-area {
    font-size: 16px !important;
  }
  .mmm-back-btn {
    margin: 0 0 12px;
    border: none;
    background: #e8f8f4;
    color: #0fa08e;
    border-radius: 16px;
    padding: 7px 14px;
    font-size: 13px;
  }
  body.mobile-modal-open { overflow: hidden; }
}


/* Mobile: scale resume to fit screen width */
@media (max-width: 768px) {
  .editor-preview-zone {
    padding: 0 !important;
    overflow: visible !important;
  }
  .editor-preview-inner {
    width: 100% !important;
    overflow: visible !important;
    display: flex !important;
    justify-content: center !important;
    padding: 8px 0 !important;
  }
  .editor-resume.resume-paper {
    width: 100% !important;
    max-width: 100vw !important;
    min-height: auto !important;
    height: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
  }
}\n\n/* Mobile editor preview FINAL: fit A4 resume to screen */\n@media (max-width: 768px) {\n  .resume-editor-page {\n    overflow: hidden !important;\n  }\n  .editor-main {\n    height: calc(100vh - 51px) !important;\n    overflow: hidden !important;\n  }\n  .editor-preview-zone {\n    padding: 0 !important;\n    overflow: auto !important;\n    background: #33364e !important;\n    -webkit-overflow-scrolling: touch !important;\n    touch-action: pan-x pan-y pinch-zoom !important;\n  }\n  .editor-preview-inner {\n    width: 100vw !important;\n    min-width: 100vw !important;\n    display: block !important;\n    padding: 0 0 76px !important;\n    margin: 0 !important;\n    overflow: visible !important;\n  }\n  #editor-resume.editor-resume.resume-paper {\n    width: 794px !important;\n    min-width: 794px !important;\n    max-width: none !important;\n    min-height: 1123px !important;\n    height: auto !important;\n    transform: scale(calc(100vw / 794)) !important;\n    transform-origin: top left !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    box-sizing: border-box !important;\n  }\n  .editor-ai-panel {\n    display: none !important;\n  }\n  .mobile-bottom-bar {\n    z-index: 3000 !important;\n  }\n}\n

/* Mobile editor preview FINAL */
@media (max-width: 768px) {
  .resume-editor-page {
    overflow: hidden !important;
  }
  .editor-main {
    height: calc(100vh - 51px) !important;
    overflow: hidden !important;
  }
  .editor-preview-zone {
    padding: 0 !important;
    overflow: auto !important;
    background: #33364e !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y pinch-zoom !important;
  }
  .editor-preview-inner {
    width: 100vw !important;
    min-width: 100vw !important;
    display: block !important;
    padding: 0 0 72px !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  #editor-resume.editor-resume.resume-paper {
    width: 794px !important;
    min-width: 794px !important;
    max-width: none !important;
    min-height: 1123px !important;
    height: auto !important;
    transform: scale(calc(100vw / 794)) !important;
    transform-origin: top left !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .editor-ai-panel {
    display: none !important;
  }
  .mobile-bottom-bar {
    z-index: 3000 !important;
  }
}

/* T3 skill title icon layout final fix */
.resume-paper[data-tpl="tpl-3"] .t3-sec-title .t3-title-pack {
  position: relative !important;
  display: block !important;
  width: 145px !important;
  height: 30px !important;
  min-width: 145px !important;
  overflow: visible !important;
  z-index: 2 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title-icon {
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  z-index: 4 !important;
  color: #fff !important;
  pointer-events: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title-icon svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title-label {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  width: 122px !important;
  height: 30px !important;
  padding: 0 30px 0 32px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: var(--resume-theme, #0e6c7d) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  clip-path: polygon(0 0, 92px 0, 122px 100%, 0 100%) !important;
  z-index: 3 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash {
  z-index: 1 !important;
  pointer-events: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-sec-body {
  position: relative !important;
  z-index: 5 !important;
}

/* T3 title final normalize: no skill icon */
.resume-paper[data-tpl="tpl-3"] .t3-title-icon {
  display: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-sec-title .t3-title-pack {
  position: relative !important;
  z-index: 2 !important;
  display: inline-block !important;
  width: 145px !important;
  min-width: 145px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  clip-path: none !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-title-label {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  width: 122px !important;
  height: 30px !important;
  padding: 0 36px 0 16px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: var(--resume-theme, #0e6c7d) !important;
  font-family: var(--resume-title-font-family, var(--resume-font-family, 'PingFang SC', 'Microsoft YaHei', sans-serif)) !important;
  font-size: var(--resume-title-font-size, 15px) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  clip-path: polygon(0 0, 92px 0, 122px 100%, 0 100%) !important;
  z-index: 3 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash {
  position: absolute !important;
  top: 0 !important;
  display: block !important;
  width: 35px !important;
  height: 30px !important;
  background: var(--resume-theme, #0e6c7d) !important;
  opacity: .95 !important;
  clip-path: polygon(0 0, 5px 0, 35px 100%, 30px 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash-one {
  left: 97px !important;
}
.resume-paper[data-tpl="tpl-3"] .t3-slash-two {
  left: 107px !important;
}

/* Mobile module editor interaction final fix */
@media (max-width: 768px) {
  .mobile-module-modal[aria-hidden="false"] {
    display: block !important;
  }
  .mobile-module-modal .mmm-panel {
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - 74px) !important;
  }
  .mobile-module-modal .mmm-body {
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - 138px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .mmm-item-left {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    text-align: left !important;
    color: inherit !important;
    font: inherit !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
  }
  .mmm-item.disabled .mmm-item-left,
  .mmm-item.disabled .mmm-edit-btn {
    opacity: .55;
  }
  .mmm-move-btn {
    display: none !important;
  }
  .mmm-form-host .editor-form-zone {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .mmm-form-host .editor-tabs {
    display: none !important;
  }
  .mmm-form-host .editor-form {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .mmm-form-host .form-panel {
    display: none !important;
  }
  .mmm-form-host .form-panel.active {
    display: block !important;
  }
  .mmm-form-host input,
  .mmm-form-host select,
  .mmm-form-host textarea,
  .mmm-form-host .richtext-area {
    font-size: 16px !important;
  }
}

/* Mobile preview top background fix: no white gap above resume */
@media (max-width: 768px) {
  .editor-preview-zone,
  .editor-preview-inner,
  .editor-main {
    background: #33364e !important;
    background-color: #33364e !important;
  }
  .editor-preview-inner {
    padding-top: 0 !important;
  }
  .resume-editor-page {
    background: #33364e !important;
  }
}

/* Mobile bottom toolbar final actions fix */
@media (max-width: 768px) {
  .mobile-bottom-bar {
    pointer-events: auto !important;
    z-index: 5000 !important;
  }
  .mobile-bottom-bar .mb-btn {
    pointer-events: auto !important;
  }
  .mobile-bottom-bar .mb-btn.active,
  .mobile-bottom-bar .mb-btn:active {
    color: #17b99a !important;
  }
  .settings-modal-backdrop.open {
    z-index: 5200 !important;
  }
  .settings-modal.skin-panel.open {
    z-index: 5300 !important;
  }
}

/* Mobile bottom drawer final: slide up after DOM-ready JS binding */
@media (max-width: 768px) {
  .mobile-module-modal {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 5600 !important;
    transition: opacity .22s ease, visibility .22s ease !important;
  }
  .mobile-module-modal[aria-hidden="false"] {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .mobile-module-modal .mmm-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .42) !important;
  }
  .mobile-module-modal .mmm-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: min(86vh, 720px) !important;
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - 10px) !important;
    border-radius: 14px 14px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .18) !important;
    transform: translateY(105%) !important;
    transition: transform .28s cubic-bezier(.22, .8, .28, 1) !important;
    animation: none !important;
    overflow: hidden !important;
  }
  .mobile-module-modal[aria-hidden="false"] .mmm-panel {
    transform: translateY(0) !important;
  }
  .mobile-module-modal .mmm-header {
    height: 52px !important;
    flex: 0 0 52px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    background: #fff !important;
  }
  .mobile-module-modal .mmm-body {
    height: calc(100% - 52px) !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .mmm-move-btn {
    display: none !important;
  }
}

/* Mobile module edit title centered and back button top-left */
@media (max-width: 768px) {
  .mobile-module-modal .mmm-header {
    position: relative !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .mobile-module-modal .mmm-header span {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100% - 112px) !important;
    text-align: center !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }
  .mobile-module-modal .mmm-close {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }
  .mobile-module-modal .mmm-back-btn {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 58px !important;
    height: 32px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 14px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(31, 194, 170, .45) !important;
    color: #10bfa5 !important;
    background: rgba(31, 194, 170, .08) !important;
    font-size: 14px !important;
  }
}

/* Mobile module header back button in title bar */
@media (max-width: 768px) {
  .mobile-module-modal .mmm-header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 56px !important;
  }
  .mobile-module-modal .mmm-header-back {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    min-width: 68px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(31, 194, 170, .55) !important;
    border-radius: 20px !important;
    background: rgba(31, 194, 170, .1) !important;
    color: #10bfa5 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 38px !important;
    text-align: center !important;
  }
  .mobile-module-modal .mmm-header span {
    width: calc(100% - 124px) !important;
    max-width: calc(100% - 124px) !important;
    text-align: center !important;
  }
  .mobile-module-modal .mmm-back-btn {
    display: none !important;
  }
}

/* Mobile PDF download button below resume */
.mobile-pdf-download-wrap {
  display: none;
}
@media (max-width: 768px) {
  .mobile-pdf-download-wrap {
    display: flex !important;
    width: 100vw !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 18px 16px 110px !important;
    margin: 0 !important;
    background: #33364e !important;
  }
  .mobile-pdf-download-btn,
  .mobile-save-resume-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: min(82vw, 320px) !important;
    height: 52px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: .5px !important;
    background: linear-gradient(135deg, #20d8ad 0%, #11c7d7 55%, #14a6ff 100%) !important;
    box-shadow: 0 12px 26px rgba(17, 199, 215, .32), inset 0 1px 0 rgba(255, 255, 255, .32) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mobile-pdf-download-btn:active,
  .mobile-save-resume-btn:active {
    transform: translateY(1px) scale(.99) !important;
    box-shadow: 0 8px 18px rgba(17, 199, 215, .26), inset 0 1px 0 rgba(255, 255, 255, .28) !important;
  }
  .mobile-save-resume-btn {
    background: linear-gradient(135deg, #22c7a9 0%, #16c1c9 55%, #1598ee 100%) !important;
    box-shadow: 0 12px 26px rgba(34, 199, 169, .28), inset 0 1px 0 rgba(255, 255, 255, .3) !important;
  }
  .mobile-pdf-download-icon,
  .mobile-save-resume-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .22) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }
}
@media print {
  .mobile-pdf-download-wrap {
    display: none !important;
  }
}

/* Mobile PDF download placement fix after scaled resume */
@media (max-width: 768px) {
  .editor-preview-inner {
    position: relative !important;
    overflow: hidden !important;
  }
  .mobile-pdf-download-wrap {
    position: absolute !important;
    left: 0 !important;
    top: auto !important;
    display: flex !important;
    width: 100vw !important;
    height: 252px !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 22px 16px 110px !important;
    margin: 0 !important;
    background: #33364e !important;
    z-index: 20 !important;
  }
}

/* Clean PDF export mode: print only resume */
@media print {
  @page {
    size: A4;
    margin: 0;
  }
  html,
  body {
    width: 210mm !important;
    min-width: 210mm !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }
  body.pdf-exporting .editor-topbar,
  body.pdf-exporting .editor-form-zone,
  body.pdf-exporting .editor-ai-panel,
  body.pdf-exporting .mobile-bottom-bar,
  body.pdf-exporting .mobile-module-modal,
  body.pdf-exporting .mobile-pdf-download-wrap,
  body.pdf-exporting .settings-modal-backdrop,
  body.pdf-exporting .settings-modal,
  body.pdf-exporting .auth-modal,
  body.pdf-exporting .auth-modal-backdrop,
  body.pdf-exporting .toggle-form-btn {
    display: none !important;
  }
  body.pdf-exporting .resume-editor-page,
  body.pdf-exporting .editor-main,
  body.pdf-exporting .editor-preview-zone,
  body.pdf-exporting .editor-preview-inner {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
  }
  body.pdf-exporting #editor-resume {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    min-height: 297mm !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    transform-origin: 0 0 !important;
    box-shadow: none !important;
    page-break-after: auto !important;
    break-after: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.pdf-exporting .paged-document,
  body.pdf-exporting .paged-resume-page,
  body.pdf-exporting .paged-page-content,
  body.pdf-exporting .resume-main {
    box-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* Hard clean PDF export: hide editor shell and backgrounds */
@media print {
  @page {
    size: A4;
    margin: 0;
  }
  body.pdf-exporting {
    background: #fff !important;
  }
  body.pdf-exporting .editor-topbar,
  body.pdf-exporting .editor-form-zone,
  body.pdf-exporting .editor-ai-panel,
  body.pdf-exporting .mobile-bottom-bar,
  body.pdf-exporting .mobile-module-modal,
  body.pdf-exporting .mobile-pdf-download-wrap,
  body.pdf-exporting .settings-modal-backdrop,
  body.pdf-exporting .settings-modal,
  body.pdf-exporting .auth-modal,
  body.pdf-exporting .auth-modal-backdrop,
  body.pdf-exporting .toggle-form-btn,
  body.pdf-exporting .editor-toggle-btn,
  body.pdf-exporting .editor-account,
  body.pdf-exporting .page-divider,
  body.pdf-exporting .paged-page-divider {
    display: none !important;
  }
  body.pdf-exporting .resume-editor-page,
  body.pdf-exporting .editor-main,
  body.pdf-exporting .editor-preview-zone,
  body.pdf-exporting .editor-preview-inner {
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
  }
  body.pdf-exporting #editor-resume,
  body.pdf-exporting #editor-resume * {
    visibility: visible !important;
  }
}

/* PDF print root: print cloned resume only, avoid mobile blank page */
#pdf-print-root {
  display: none;
}
@media print {
  @page {
    size: A4;
    margin: 0;
  }
  body.pdf-exporting {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }
  body.pdf-exporting > :not(#pdf-print-root) {
    display: none !important;
  }
  body.pdf-exporting #pdf-print-root {
    display: block !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  body.pdf-exporting #pdf-print-resume {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    transform-origin: 0 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    page-break-after: auto !important;
    break-after: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.pdf-exporting #pdf-print-resume .mobile-pdf-download-wrap,
  body.pdf-exporting #pdf-print-resume .mobile-bottom-bar,
  body.pdf-exporting #pdf-print-resume .editor-ai-panel,
  body.pdf-exporting #pdf-print-resume .page-divider,
  body.pdf-exporting #pdf-print-resume .paged-page-divider {
    display: none !important;
  }
}

/* AI优化后的列表小标题：只加粗 li 内部 strong，不影响经历条目标题 */
.resume-paper .resume-item-desc li strong,
.resume-paper .resume-section li strong,
.resume-paper .t3-text li strong,
.resume-paper .t4-text li strong,
.resume-paper .t5-text li strong,
.resume-paper .t6-text li strong,
.resume-paper .t7-text li strong,
.resume-paper .t8-text li strong {
  font-weight: 800 !important;
  color: inherit !important;
}

/* 分页拆分续片段：只延续 li 内容，不重复板块标题或经历标题 */
.resume-paper .paged-li-continuation > h1,
.resume-paper .paged-li-continuation > h2,
.resume-paper .paged-li-continuation > h3,
.resume-paper .paged-li-continuation > .resume-divider,
.resume-paper .paged-li-continuation > .t7-sec-title,
.resume-paper .paged-li-continuation .resume-item-header,
.resume-paper .paged-li-continuation .t3-row3,
.resume-paper .paged-li-continuation .t4-row3,
.resume-paper .paged-li-continuation .t5-row3,
.resume-paper .paged-li-continuation .t6-row3,
.resume-paper .paged-li-continuation .t7-row3,
.resume-paper .paged-li-continuation .t8-row3,
.resume-paper .paged-text-continuation .resume-item-header,
.resume-paper .paged-text-continuation .t3-row3,
.resume-paper .paged-text-continuation .t4-row3,
.resume-paper .paged-text-continuation .t5-row3,
.resume-paper .paged-text-continuation .t6-row3,
.resume-paper .paged-text-continuation .t7-row3,
.resume-paper .paged-text-continuation .t8-row3 {
  display: none !important;
}

/* Fix: continuation nodes hide the item header, so the first ul/ol loses its
   margin-collapse partner and gains extra top space. Reset it to zero. */
#editor-resume .paged-li-continuation .resume-item-desc ul,
#editor-resume .paged-li-continuation .resume-item-desc ol,
#editor-resume .paged-li-continuation .t3-text ul,
#editor-resume .paged-li-continuation .t3-text ol,
#editor-resume .paged-li-continuation .t4-text ul,
#editor-resume .paged-li-continuation .t4-text ol,
#editor-resume .paged-li-continuation .t5-text ul,
#editor-resume .paged-li-continuation .t5-text ol,
#editor-resume .paged-li-continuation .t6-text ul,
#editor-resume .paged-li-continuation .t6-text ol,
#editor-resume .paged-li-continuation .t7-text ul,
#editor-resume .paged-li-continuation .t7-text ol,
#editor-resume .paged-li-continuation .t8-text ul,
#editor-resume .paged-li-continuation .t8-text ol,
#editor-resume .paged-li-continuation .t6-sec-body ul,
#editor-resume .paged-li-continuation .t6-sec-body ol,
#editor-resume .paged-li-continuation .t6-sec-body > ul:first-child,
#editor-resume .paged-li-continuation .t6-sec-body > ol:first-child,
#editor-resume .paged-text-continuation .resume-item-desc ul,
#editor-resume .paged-text-continuation .resume-item-desc ol,
#editor-resume .paged-text-continuation .t3-text ul,
#editor-resume .paged-text-continuation .t3-text ol,
#editor-resume .paged-text-continuation .t4-text ul,
#editor-resume .paged-text-continuation .t4-text ol,
#editor-resume .paged-text-continuation .t5-text ul,
#editor-resume .paged-text-continuation .t5-text ol,
#editor-resume .paged-text-continuation .t6-text ul,
#editor-resume .paged-text-continuation .t6-text ol,
#editor-resume .paged-text-continuation .t7-text ul,
#editor-resume .paged-text-continuation .t7-text ol,
#editor-resume .paged-text-continuation .t8-text ul,
#editor-resume .paged-text-continuation .t8-text ol {
  margin-top: 0 !important;
}

/* T6/T8 continuation: when t6-row3 is hidden, t6-text loses its margin-collapse
   partner. Zero out t6-text margin-top so li items stay flush. */
#editor-resume .paged-li-continuation .t6-text,
#editor-resume .paged-text-continuation .t6-text,
#editor-resume .paged-section-continuation .t6-text,
#editor-resume .paged-li-continuation .t8-text,
#editor-resume .paged-text-continuation .t8-text,
#editor-resume .paged-section-continuation .t8-text {
  margin-top: 0 !important;
}

#editor-resume .paged-li-continuation.t6-work-item,
#editor-resume .paged-text-continuation.t6-work-item {
  margin-top: 0 !important;
}

/* T6/T8 section continuation: first work-item loses h2 margin-collapse partner.
   Zero out margin/padding-top to keep consistent spacing. */
#editor-resume .paged-section-continuation.t6-sec > .t6-content > .t6-work-item:first-child,
#editor-resume .paged-section-continuation.t8-sec > .t8-sec-body > .t8-work-item:first-child,
#editor-resume .paged-section-continuation > .t6-content > .t6-work-item:first-child,
#editor-resume .paged-section-continuation > .t8-sec-body > .t8-work-item:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#editor-resume .paged-section-continuation.t6-sec > .t6-content > .t6-work-item:first-child > .t6-row3,
#editor-resume .paged-section-continuation > .t6-content > .t6-work-item:first-child > .t6-row3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 统一正文列表行距：li 之间不额外加间距，和 li 内换行保持一致 */
#editor-resume .resume-item-desc ul,
#editor-resume .resume-item-desc ol,
#editor-resume .t3-text ul,
#editor-resume .t3-text ol,
#editor-resume .t4-text ul,
#editor-resume .t4-text ol,
#editor-resume .t5-text ul,
#editor-resume .t5-text ol,
#editor-resume .t6-text ul,
#editor-resume .t6-text ol,
#editor-resume .t7-text ul,
#editor-resume .t7-text ol,
#editor-resume .t8-text ul,
#editor-resume .t8-text ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#editor-resume .resume-item-desc li,
#editor-resume .resume-section li,
#editor-resume .t3-text li,
#editor-resume .t4-text li,
#editor-resume .t5-text li,
#editor-resume .t6-text li,
#editor-resume .t7-text li,
#editor-resume .t8-text li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: var(--resume-line-height, 1.72) !important;
}

/* T2 单独兜底：列表项之间不额外加距，和单个 li 内部换行一致 */
#editor-resume[data-tpl="tpl-2"] .resume-item-desc ul,
#editor-resume[data-tpl="tpl-2"] .resume-item-desc ol,
#editor-resume[data-tpl="tpl-2"] .resume-section ul,
#editor-resume[data-tpl="tpl-2"] .resume-section ol,
#editor-resume.tpl2-paged .t2-page .resume-item-desc ul,
#editor-resume.tpl2-paged .t2-page .resume-item-desc ol,
#editor-resume.tpl2-paged .t2-page .resume-section ul,
#editor-resume.tpl2-paged .t2-page .resume-section ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#editor-resume[data-tpl="tpl-2"] .resume-item-desc li,
#editor-resume[data-tpl="tpl-2"] .resume-section li,
#editor-resume.tpl2-paged .t2-page .resume-item-desc li,
#editor-resume.tpl2-paged .t2-page .resume-section li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: var(--resume-line-height, 1.72) !important;
}

/* 信息栏栏目一键清空 */
.form-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.form-panel-header .form-tip {
  margin: 0 !important;
  flex: 1;
}

.clear-section-btn {
  flex: 0 0 auto;
  height: 32px;
  padding: 0 16px;
  border: 1px solid rgba(236, 111, 111, .28);
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #fff7f7);
  color: #d76666;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(215, 102, 102, .08);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.clear-section-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(236, 111, 111, .48);
  background: #fff2f2;
  box-shadow: 0 10px 20px rgba(215, 102, 102, .14);
}

.clear-section-confirm {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.clear-section-confirm.open {
  display: flex;
}

.clear-section-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 28, 44, .48);
  backdrop-filter: blur(6px);
}

.clear-section-dialog {
  position: relative;
  width: min(430px, 100%);
  border-radius: 22px;
  padding: 34px 34px 28px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(18, 30, 48, .26);
  text-align: center;
  animation: clearDialogIn .2s ease-out;
}

@keyframes clearDialogIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.clear-section-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: #f4f6f8;
  color: #8793a1;
  font-size: 22px;
  line-height: 30px;
  cursor: pointer;
}

.clear-section-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 18px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 30px;
  font-weight: 800;
  background: linear-gradient(135deg, #ff9d57, #ef6262);
  box-shadow: 0 14px 28px rgba(239, 98, 98, .24);
}

.clear-section-dialog h3 {
  margin: 0 0 10px;
  color: #213044;
  font-size: 22px;
}

.clear-section-dialog p {
  margin: 0;
  color: #718093;
  font-size: 14px;
  line-height: 1.8;
}

.clear-section-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}

.clear-section-cancel,
.clear-section-ok {
  min-width: 112px;
  height: 42px;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
}

.clear-section-cancel {
  border: 1px solid #dbe3ec;
  background: #fff;
  color: #536272;
}

.clear-section-ok {
  border: none;
  background: linear-gradient(135deg, #ef6262, #ff8f5a);
  color: #fff;
  box-shadow: 0 12px 24px rgba(239, 98, 98, .22);
}

.clear-section-cancel:hover {
  background: #f6f8fb;
}

.clear-section-ok:hover {
  filter: brightness(1.03);
}

@media (max-width: 640px) {
  .form-panel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .clear-section-actions {
    flex-direction: column-reverse;
  }

  .clear-section-cancel,
  .clear-section-ok {
    width: 100%;
  }
}

/* 全局保存按钮：放在信息栏开关最左侧，栏目底部不再显示保存 */
.editor-tabs .global-save-resume-btn {
  flex: 0 0 auto;
  height: 30px;
  padding: 0 22px;
  margin-right: 8px;
  border-radius: 999px;
  border-color: #19c9a5;
  background: #fff;
  color: #18b99a;
  font-size: 13px;
  font-weight: 700;
  line-height: 28px;
}

.editor-tabs .global-save-resume-btn:hover {
  background: #effffb;
  box-shadow: 0 6px 14px rgba(25, 201, 165, .16);
}

.editor-tabs .global-save-resume-btn:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.form-panel .form-actions-row .save-section-btn {
  display: none !important;
}

/* 基础信息空值隐藏后顺位补位；技能名称过长时进度条换行左对齐 */
.resume-paper .resume-contact .rc-item:empty,
.resume-paper .t8-head-grid > span:empty {
  display: none !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 8px !important;
  row-gap: 4px !important;
  align-items: center !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .t2-skill-name {
  grid-column: 1 / -1 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item .skill-line {
  grid-column: 1 !important;
  justify-self: start !important;
  width: 68px !important;
  margin-left: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item em,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item em {
  grid-column: 2 !important;
  justify-self: start !important;
  margin-left: 0 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  grid-template-columns: 1fr auto !important;
  grid-auto-rows: auto !important;
  row-gap: 4px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div > span,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div > span {
  grid-column: 1 / -1 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars b {
  grid-column: 1 !important;
  justify-self: start !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars em,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars em {
  grid-column: 2 !important;
  justify-self: start !important;
  margin-left: 0 !important;
}



/* Honor certificate rows: name / issuing organization / date on one aligned line. */
.resume-paper .honor-list,
#editor-resume .honor-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.resume-paper .honor-list .honor-row,
#editor-resume .honor-list .honor-row {
  display: grid !important;
  grid-template-columns: 12px minmax(0, 1fr) minmax(110px, 170px) minmax(66px, 90px) !important;
  column-gap: 8px !important;
  align-items: baseline !important;
  width: 100% !important;
  padding-left: 0 !important;
  margin: 0 0 6px !important;
  line-height: inherit !important;
}

.resume-paper .honor-list .honor-row::before,
#editor-resume .honor-list .honor-row::before {
  content: "•";
  grid-column: 1;
  color: currentColor;
  justify-self: center;
}

.resume-paper .honor-list .honor-name,
#editor-resume .honor-list .honor-name {
  grid-column: 2;
  min-width: 0;
  overflow-wrap: anywhere;
}

.resume-paper .honor-list .honor-org,
#editor-resume .honor-list .honor-org {
  grid-column: 3;
  text-align: center;
  min-width: 0;
  overflow-wrap: anywhere;
}

.resume-paper .honor-list .honor-date,
#editor-resume .honor-list .honor-date {
  grid-column: 4;
  text-align: right;
  white-space: nowrap;
}


/* Skill bars alignment: keep names tight to meters; widen gutters between columns. */
.resume-paper[data-tpl="tpl-4"] .t4-bars,
#editor-resume[data-tpl="tpl-4"] .t4-bars,
.resume-paper[data-tpl="tpl-5"] .t5-bars,
#editor-resume[data-tpl="tpl-5"] .t5-bars,
.resume-paper[data-tpl="tpl-6"] .t6-bars,
#editor-resume[data-tpl="tpl-6"] .t6-bars,
.resume-paper[data-tpl="tpl-7"] .t7-bars,
#editor-resume[data-tpl="tpl-7"] .t7-bars,
.resume-paper[data-tpl="tpl-8"] .t8-bars,
#editor-resume[data-tpl="tpl-8"] .t8-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: start !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars > div,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div,
.resume-paper[data-tpl="tpl-5"] .t5-bars > div,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div,
.resume-paper[data-tpl="tpl-6"] .t6-bars > div,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars > div > span,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div > span,
.resume-paper[data-tpl="tpl-5"] .t5-bars > div > span,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div > span,
.resume-paper[data-tpl="tpl-6"] .t6-bars > div > span,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div > span,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div > span,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div > span,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div > span,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div > span {
  width: auto !important;
  max-width: 6.5em !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars b,
#editor-resume[data-tpl="tpl-4"] .t4-bars b,
.resume-paper[data-tpl="tpl-5"] .t5-bars b,
#editor-resume[data-tpl="tpl-5"] .t5-bars b,
.resume-paper[data-tpl="tpl-6"] .t6-bars b,
#editor-resume[data-tpl="tpl-6"] .t6-bars b,
.resume-paper[data-tpl="tpl-7"] .t7-bars b,
#editor-resume[data-tpl="tpl-7"] .t7-bars b,
.resume-paper[data-tpl="tpl-8"] .t8-bars b,
#editor-resume[data-tpl="tpl-8"] .t8-bars b {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  justify-self: start !important;
}

.resume-paper[data-tpl="tpl-4"] .t4-bars em,
#editor-resume[data-tpl="tpl-4"] .t4-bars em,
.resume-paper[data-tpl="tpl-5"] .t5-bars em,
#editor-resume[data-tpl="tpl-5"] .t5-bars em,
.resume-paper[data-tpl="tpl-6"] .t6-bars em,
#editor-resume[data-tpl="tpl-6"] .t6-bars em,
.resume-paper[data-tpl="tpl-7"] .t7-bars em,
#editor-resume[data-tpl="tpl-7"] .t7-bars em,
.resume-paper[data-tpl="tpl-8"] .t8-bars em,
#editor-resume[data-tpl="tpl-8"] .t8-bars em {
  width: auto !important;
  text-align: left !important;
  white-space: nowrap !important;
  justify-self: start !important;
}


/* Skill bars alignment for T1-T3: keep name tight to meter; widen column gutters. */
.resume-paper[data-tpl="tpl-1"] .t1-skill-bars,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: start !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item > span,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item > span {
  width: auto !important;
  max-width: 6.5em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  row-gap: 0 !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .t2-skill-name {
  grid-column: auto !important;
  width: auto !important;
  max-width: 6.5em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item .skill-line {
  grid-column: auto !important;
  justify-self: start !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  margin-left: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item em,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item em {
  grid-column: auto !important;
  width: auto !important;
  justify-self: start !important;
  margin-left: 0 !important;
  white-space: nowrap !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  row-gap: 0 !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div > span,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div > span {
  grid-column: auto !important;
  width: auto !important;
  max-width: 6.5em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars b {
  grid-column: auto !important;
  justify-self: start !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars em,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars em {
  grid-column: auto !important;
  justify-self: start !important;
  width: auto !important;
  margin-left: 0 !important;
  white-space: nowrap !important;
}


/* Honor issuer should be visually centered on the whole line, not after a flexible name column. */
.resume-paper .honor-list .honor-row,
#editor-resume .honor-list .honor-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 12px minmax(0, calc(50% - 76px)) minmax(120px, 160px) minmax(70px, 90px) !important;
  column-gap: 8px !important;
  align-items: baseline !important;
}

.resume-paper .honor-list .honor-name,
#editor-resume .honor-list .honor-name {
  grid-column: 2 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.resume-paper .honor-list .honor-org,
#editor-resume .honor-list .honor-org {
  grid-column: 3 !important;
  justify-self: center !important;
  text-align: center !important;
  width: 100% !important;
}

.resume-paper .honor-list .honor-date,
#editor-resume .honor-list .honor-date {
  grid-column: 4 !important;
  justify-self: end !important;
  text-align: right !important;
}


/* Honor row absolute alignment: issuer is centered against the whole row, date stays right. */
.resume-paper .honor-list .honor-row,
#editor-resume .honor-list .honor-row {
  position: relative !important;
  display: block !important;
  min-height: 1.35em !important;
  padding-left: 20px !important;
  padding-right: 92px !important;
  box-sizing: border-box !important;
}

.resume-paper .honor-list .honor-row::before,
#editor-resume .honor-list .honor-row::before {
  position: absolute !important;
  left: 4px !important;
  top: 0 !important;
  width: 10px !important;
  text-align: center !important;
}

.resume-paper .honor-list .honor-name,
#editor-resume .honor-list .honor-name {
  display: block !important;
  max-width: calc(50% - 96px) !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.resume-paper .honor-list .honor-org,
#editor-resume .honor-list .honor-org {
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  transform: translateX(-50%) !important;
  width: 160px !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

.resume-paper .honor-list .honor-date,
#editor-resume .honor-list .honor-date {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 86px !important;
  text-align: right !important;
  white-space: nowrap !important;
}


/* Bottom module panel toggle: attach to tab bar with no visible gap/shadow seam. */
.preview-toggle-btn {
  height: 38px !important;
  width: 66px !important;
  border-radius: 34px 34px 0 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  border: 0 !important;
  z-index: 160 !important;
  margin: 0 !important;
}

.preview-toggle-btn:hover {
  box-shadow: none !important;
}

.preview-toggle-btn .toggle-arrow {
  transform-origin: 50% 50% !important;
  transition: transform .25s ease !important;
}

.preview-toggle-btn.is-expanded .toggle-arrow {
  transform: rotate(0deg) !important;
}

.preview-toggle-btn.is-collapsed .toggle-arrow {
  transform: rotate(180deg) !important;
}

.editor-form-zone {
  position: relative !important;
  z-index: 170 !important;
  box-shadow: none !important;
}

.editor-tabs {
  box-shadow: none !important;
  border-top: 0 !important;
}

/* Bottom module switch tooltip. */
.editor-tabs .tab-toggle[data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%);
  padding: 8px 12px;
  border-radius: 4px;
  background: rgba(35, 36, 46, .96);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 5000;
}

.editor-tabs .tab-toggle[data-tooltip]::after {
  box-shadow: none !important;
}

.editor-tabs .tab-toggle[data-tooltip]:hover::before {
  opacity: 1;
  visibility: visible;
}

.editor-tabs .tab-toggle[data-tooltip]:hover::after {
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2) !important;
}


/* Bottom panel final shadow: shadow only above the bar and toggle, no lower shadow. */
.preview-toggle-btn {
  box-shadow: 0 -10px 24px rgba(0, 0, 0, .16) !important;
  filter: none !important;
  clip-path: inset(-28px -28px 0 -28px) !important;
  z-index: 160 !important;
}

.preview-toggle-btn:hover {
  box-shadow: 0 -10px 26px rgba(25, 201, 165, .22) !important;
}

.editor-form-zone {
  box-shadow: 0 -8px 22px rgba(0, 0, 0, .12) !important;
  clip-path: inset(-28px 0 0 0) !important;
  z-index: 170 !important;
}

.editor-tabs {
  box-shadow: none !important;
}

/* Arrow direction final: expanded shows down, collapsed shows up. */
.preview-toggle-btn.is-expanded .toggle-arrow {
  transform: rotate(180deg) !important;
}

.preview-toggle-btn.is-collapsed .toggle-arrow {
  transform: rotate(0deg) !important;
}

/* Use a body-level fixed tooltip so it is never clipped by the bottom bar. */
.editor-tabs .tab-toggle[data-tooltip]::before {
  display: none !important;
}

.module-toggle-tip {
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  transform: translateX(-50%);
  padding: 8px 12px;
  border-radius: 4px;
  background: rgba(35, 36, 46, .98);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .12s ease, visibility .12s ease;
}

.module-toggle-tip::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  border-width: 5px 5px 0;
  border-style: solid;
  border-color: rgba(35, 36, 46, .98) transparent transparent;
}

.module-toggle-tip.show {
  opacity: 1;
  visibility: visible;
}


/* Toggle button seam fix: overlap the panel and mask bottom shadow so it visually attaches. */
.preview-toggle-btn {
  overflow: visible !important;
}

.preview-toggle-btn::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 6px;
  background: #fff;
  pointer-events: none;
  z-index: -1;
}


/* Honor rows final safe layout: no absolute text, allow long issuer text to expand row height. */
.resume-paper .honor-list .honor-row,
#editor-resume .honor-list .honor-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 12px minmax(0, calc(50% - 92px)) 184px minmax(72px, 1fr) !important;
  column-gap: 8px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.resume-paper .honor-list .honor-row::before,
#editor-resume .honor-list .honor-row::before {
  position: static !important;
  content: "•" !important;
  grid-column: 1 !important;
  width: auto !important;
  text-align: center !important;
  line-height: inherit !important;
}

.resume-paper .honor-list .honor-name,
#editor-resume .honor-list .honor-name {
  position: static !important;
  display: block !important;
  grid-column: 2 !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.resume-paper .honor-list .honor-org,
#editor-resume .honor-list .honor-org {
  position: static !important;
  transform: none !important;
  display: block !important;
  grid-column: 3 !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 184px !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

.resume-paper .honor-list .honor-date,
#editor-resume .honor-list .honor-date {
  position: static !important;
  display: block !important;
  grid-column: 4 !important;
  justify-self: end !important;
  width: auto !important;
  min-width: 72px !important;
  text-align: right !important;
  white-space: nowrap !important;
}


/* Skill bars: 2 equal columns; fixed short bar; name hugs bar (all public templates 1-6). */
.resume-paper[data-tpl="tpl-1"] .t1-skill-bars,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bars,
.resume-paper[data-tpl="tpl-4"] .t4-bars,
#editor-resume[data-tpl="tpl-4"] .t4-bars,
.resume-paper[data-tpl="tpl-5"] .t5-bars,
#editor-resume[data-tpl="tpl-5"] .t5-bars,
.resume-paper[data-tpl="tpl-6"] .t6-bars,
#editor-resume[data-tpl="tpl-6"] .t6-bars,
.resume-paper[data-tpl="tpl-7"] .t7-bars,
#editor-resume[data-tpl="tpl-7"] .t7-bars,
.resume-paper[data-tpl="tpl-8"] .t8-bars,
#editor-resume[data-tpl="tpl-8"] .t8-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  width: 100% !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item,
.resume-paper[data-tpl="tpl-4"] .t4-bars > div,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div,
.resume-paper[data-tpl="tpl-5"] .t5-bars > div,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div,
.resume-paper[data-tpl="tpl-6"] .t6-bars > div,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div {
  display: grid !important;
  grid-template-columns: 78px 64px max-content !important;
  column-gap: 6px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-bar-item > span,
#editor-resume[data-tpl="tpl-1"] .t1-skill-bar-item > span,
.resume-paper[data-tpl="tpl-4"] .t4-bars > div > span,
#editor-resume[data-tpl="tpl-4"] .t4-bars > div > span,
.resume-paper[data-tpl="tpl-5"] .t5-bars > div > span,
#editor-resume[data-tpl="tpl-5"] .t5-bars > div > span,
.resume-paper[data-tpl="tpl-6"] .t6-bars > div > span,
#editor-resume[data-tpl="tpl-6"] .t6-bars > div > span,
.resume-paper[data-tpl="tpl-7"] .t7-bars > div > span,
#editor-resume[data-tpl="tpl-7"] .t7-bars > div > span,
.resume-paper[data-tpl="tpl-8"] .t8-bars > div > span,
#editor-resume[data-tpl="tpl-8"] .t8-bars > div > span {
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-1"] .t1-skill-meter,
#editor-resume[data-tpl="tpl-1"] .t1-skill-meter,
.resume-paper[data-tpl="tpl-4"] .t4-bars b,
#editor-resume[data-tpl="tpl-4"] .t4-bars b,
.resume-paper[data-tpl="tpl-5"] .t5-bars b,
#editor-resume[data-tpl="tpl-5"] .t5-bars b,
.resume-paper[data-tpl="tpl-6"] .t6-bars b,
#editor-resume[data-tpl="tpl-6"] .t6-bars b,
.resume-paper[data-tpl="tpl-7"] .t7-bars b,
#editor-resume[data-tpl="tpl-7"] .t7-bars b,
.resume-paper[data-tpl="tpl-8"] .t8-bars b,
#editor-resume[data-tpl="tpl-8"] .t8-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  justify-self: start !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item,
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div {
  grid-template-columns: 78px 64px max-content !important;
  width: 100% !important;
  max-width: none !important;
  column-gap: 6px !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .t2-skill-name,
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars > div > span,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars > div > span {
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item .skill-line,
.resume-paper[data-tpl="tpl-3"] .t3-skill-bars b,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars b {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  justify-self: start !important;
}

.resume-paper[data-tpl="tpl-3"] .t3-skill-bars,
#editor-resume[data-tpl="tpl-3"] .t3-skill-bars {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  width: 100% !important;
  column-gap: 28px !important;
}



/* Editor side FAQ accordion. */
.faq-card {
  border-top: 1px solid #eee !important;
  padding-top: 10px !important;
  color: #344054 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.faq-card .faq-item {
  display: block;
  width: 100%;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid #edf0f5;
  background: transparent;
  text-align: left;
  color: #344054;
  cursor: pointer;
}

.faq-card .faq-question {
  display: block;
  font-size: 13px;
  color: #344054;
}

.faq-card .faq-item.active .faq-question {
  color: #10b89c;
  font-weight: 600;
}

.faq-card .faq-answer {
  display: none;
  margin-top: 8px;
  color: #7a8798;
  font-size: 13px;
  line-height: 1.75;
}

.faq-card .faq-item.active .faq-answer {
  display: block;
}

.faq-card p {
  margin: 0 !important;
}


/* Editor account entry final: remove V-only look, show avatar + label + caret. */
.editor-user .editor-small-btn {
  display: none !important;
}

.editor-account-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 28px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.editor-account-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #fff !important;
  color: transparent !important;
  font-size: 0 !important;
}

.editor-account-icon img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.editor-account-name {
  display: inline !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-size: 12px !important;
}

.editor-account-caret {
  display: inline-block !important;
  margin-left: 0 !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.editor-account-menu {
  right: 0 !important;
}


/* Editor account pill final: make personal center entry obvious. */
.editor-topbar .editor-account-btn {
  height: 38px !important;
  min-width: 112px !important;
  padding: 0 13px 0 9px !important;
  gap: 7px !important;
  border: 1px solid rgba(25, 201, 165, .42) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #263445 !important;
  box-shadow: 0 6px 18px rgba(15, 33, 55, .12) !important;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease !important;
}

.editor-topbar .editor-account-btn:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(25, 201, 165, .72) !important;
  box-shadow: 0 8px 22px rgba(15, 33, 55, .18) !important;
}

.editor-topbar .editor-account-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 1px solid rgba(25, 201, 165, .28) !important;
  box-shadow: 0 0 0 2px rgba(25, 201, 165, .08) !important;
}

.editor-topbar .editor-account-name {
  display: inline-block !important;
  min-width: 48px !important;
  max-width: none !important;
  color: #263445 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.editor-topbar .editor-account-caret {
  color: #12b99c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.editor-topbar .editor-account.open .editor-account-btn {
  border-color: rgba(25, 201, 165, .78) !important;
  box-shadow: 0 8px 22px rgba(15, 33, 55, .2) !important;
}


/* Editor top tools final: text-only pill buttons. */
.editor-topbar .editor-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.editor-topbar .editor-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  min-width: 88px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(25, 201, 165, .26) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .9) !important;
  color: #263445 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 14px rgba(15, 33, 55, .08) !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.editor-topbar .editor-action .action-icon,
.editor-topbar .editor-action .tool-icon {
  display: none !important;
}

.editor-topbar .editor-action:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(25, 201, 165, .58) !important;
  background: #fff !important;
  color: #10a98f !important;
  box-shadow: 0 7px 18px rgba(15, 33, 55, .13) !important;
}

.editor-topbar .editor-action.active {
  border-color: transparent !important;
  background: linear-gradient(135deg, #19c9a5, #2687f0) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(25, 154, 205, .22) !important;
}

.editor-topbar .editor-action.active:hover {
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(25, 154, 205, .3) !important;
}


/* Editor top tools fixed unified style: all buttons match spacing button. */
.editor-topbar .editor-action,
.editor-topbar .editor-action:hover,
.editor-topbar .editor-action.active,
.editor-topbar .editor-action.active:hover {
  height: 34px !important;
  min-width: 88px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #19c9a5, #2687f0) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 20px rgba(25, 154, 205, .22) !important;
  transform: none !important;
}

.editor-topbar .editor-action .action-icon,
.editor-topbar .editor-action .tool-icon {
  display: none !important;
}


/* Editor template picker modal. */
.editor-template-picker {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(20, 24, 40, .58);
}

.editor-template-picker.open {
  display: flex;
}

.editor-template-dialog {
  width: min(1040px, 92vw);
  max-height: 88vh;
  overflow: auto;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.editor-template-dialog-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #eef1f5;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}

.editor-template-dialog-head h2 {
  margin: 0 0 6px;
  color: #1f2a37;
  font-size: 20px;
}

.editor-template-dialog-head p {
  margin: 0;
  color: #7b8797;
  font-size: 13px;
}

.editor-template-close {
  width: 34px;
  height: 34px;
  border: 1px solid #e3e8ef;
  border-radius: 50%;
  background: #fff;
  color: #596579;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.editor-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 22px 24px 26px;
}

.editor-template-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e5eaf1;
  border-radius: 14px;
  background: #f8fafc;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.editor-template-card:hover,
.editor-template-card.active {
  transform: translateY(-3px);
  border-color: #19c9a5;
  box-shadow: 0 12px 28px rgba(25, 201, 165, .18);
}

.editor-template-card img {
  display: block;
  width: 100%;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  background: #fff;
}

.editor-template-card span {
  display: block;
  padding: 10px 12px;
  background: #fff;
  color: #263445;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

@media (max-width: 900px) {
  .editor-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .editor-template-picker {
    padding: 0;
    align-items: stretch;
  }

  .editor-template-dialog {
    width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }

  .editor-template-grid {
    grid-template-columns: 1fr;
  }
}


/* T2 sidebar skill rows final: fit inside left column and prevent meter/level clipping. */
.resume-paper[data-tpl="tpl-2"] .resume-side-section[data-section="skill"],
#editor-resume[data-tpl="tpl-2"] .resume-side-section[data-section="skill"] {
  overflow: visible !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item,
.resume-paper[data-tpl="tpl-2"] .resume-side .t2-skill-item,
#editor-resume[data-tpl="tpl-2"] .resume-side .t2-skill-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 64px 34px !important;
  column-gap: 7px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 0 10px !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .t2-skill-name,
.resume-paper[data-tpl="tpl-2"] .resume-side .t2-skill-name,
#editor-resume[data-tpl="tpl-2"] .resume-side .t2-skill-name {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item .skill-line,
.resume-paper[data-tpl="tpl-2"] .resume-side .t2-skill-item .skill-line,
#editor-resume[data-tpl="tpl-2"] .resume-side .t2-skill-item .skill-line {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  justify-self: start !important;
}

.resume-paper[data-tpl="tpl-2"] .t2-skill-item em,
#editor-resume[data-tpl="tpl-2"] .t2-skill-item em,
.resume-paper[data-tpl="tpl-2"] .resume-side .t2-skill-item em,
#editor-resume[data-tpl="tpl-2"] .resume-side .t2-skill-item em {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
}


/* T2 分页中左栏元素不能通过压缩头像来规避分页 */
.resume-paper[data-tpl="tpl-2"] .resume-side > *,
.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-side > * {
  flex-shrink: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-avatar,
.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-avatar {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
  flex: 0 0 112px !important;
  flex-shrink: 0 !important;
}

.resume-paper[data-tpl="tpl-2"] .resume-avatar img,
.resume-paper[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-avatar img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
}


/* 全模板编辑页列表行距统一：li 之间不额外加距，li 间距等于行间距 */
#editor-resume .resume-item-desc ul,
#editor-resume .resume-item-desc ol,
#editor-resume .resume-section ul,
#editor-resume .resume-section ol,
#editor-resume .t3-text ul,
#editor-resume .t3-text ol,
#editor-resume .t4-text ul,
#editor-resume .t4-text ol,
#editor-resume .t5-text ul,
#editor-resume .t5-text ol,
#editor-resume .t6-text ul,
#editor-resume .t6-text ol,
#editor-resume .t7-text ul,
#editor-resume .t7-text ol,
#editor-resume .t8-text ul,
#editor-resume .t8-text ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#editor-resume .resume-item-desc li,
#editor-resume .resume-section li,
#editor-resume .t3-text li,
#editor-resume .t4-text li,
#editor-resume .t5-text li,
#editor-resume .t6-text li,
#editor-resume .t7-text li,
#editor-resume .t8-text li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: var(--resume-line-height, 1.72) !important;
}

/* Save limit centered toast */
.save-limit-toast {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 10020;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 340px;
  max-width: min(92vw, 460px);
  padding: 20px 24px;
  border: 1px solid rgba(45, 220, 196, .32);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(12, 28, 54, .96), rgba(9, 70, 84, .94));
  box-shadow: 0 26px 70px rgba(0, 0, 0, .36), 0 0 0 1px rgba(255, 255, 255, .06) inset;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -46%) scale(.96);
  transition: opacity .26s ease, transform .26s ease;
}
.save-limit-toast.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.save-limit-toast.fade-out {
  opacity: 0;
  transform: translate(-50%, -54%) scale(.97);
}
.save-limit-toast-icon {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-size: 24px;
  font-weight: 900;
  color: #073341;
  background: linear-gradient(135deg, #2de6cf, #72f2ff);
  box-shadow: 0 12px 24px rgba(45, 230, 207, .28);
}
.save-limit-toast strong {
  display: block;
  margin-bottom: 5px;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: .02em;
}
.save-limit-toast span {
  display: block;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(238, 255, 252, .82);
}


/* Mobile viewport overflow and topbar final guard */
@media (max-width: 768px) {
  html,
  body.resume-editor-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: #33364e !important;
  }
  .editor-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    background: #fff !important;
    z-index: 6100 !important;
  }
  .editor-logo {
    min-width: 0 !important;
    width: 34px !important;
    overflow: hidden !important;
  }
  .editor-logo-mark {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
  }
  .editor-actions {
    display: flex !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }
  .editor-actions::-webkit-scrollbar {
    display: none !important;
  }
  .editor-actions .editor-action {
    min-width: 76px !important;
    flex: 0 0 auto !important;
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #20d8ad, #168ff0) !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(22, 143, 240, .22) !important;
  }
  .editor-actions .editor-action .action-icon,
  .editor-actions .editor-action .tool-icon {
    display: none !important;
  }
  .editor-user {
    min-width: 0 !important;
    width: auto !important;
    max-width: 90px !important;
    display: flex !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }
  .editor-user .export-resume-btn {
    display: none !important;
  }
  .editor-topbar .editor-account {
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 90px !important;
  }
  .editor-topbar .editor-account-btn {
    min-width: 0 !important;
    width: auto !important;
    max-width: 90px !important;
    height: 32px !important;
    padding: 0 6px !important;
    gap: 4px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .95) !important;
  }
  .editor-topbar .editor-account-name {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 54px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 11px !important;
  }
  .editor-topbar .editor-account-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    flex: 0 0 22px !important;
  }
  .editor-topbar .editor-account-caret {
    font-size: 10px !important;
    flex: 0 0 auto !important;
  }
  .editor-topbar .editor-account-menu {
    right: 0 !important;
    left: auto !important;
    top: 38px !important;
    max-width: calc(100vw - 16px) !important;
  }
  .editor-main {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 48px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #33364e !important;
  }
  .editor-preview-zone {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    background: #33364e !important;
  }
  .editor-preview-inner {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  #editor-resume.editor-resume.resume-paper {
    transform: translateX(var(--mobile-resume-offset, 0px)) scale(var(--mobile-resume-scale, calc(100vw / 794))) !important;
  }
  .mobile-pdf-download-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .mobile-bottom-bar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* Mobile topbar two-row layout final */
@media (max-width: 768px) {
  .editor-topbar {
    height: 92px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    grid-template-rows: 40px 44px !important;
    gap: 4px 8px !important;
    padding: 6px 8px 5px !important;
    background: #33364e !important;
    border-bottom: 0 !important;
    box-shadow: 0 8px 20px rgba(17, 20, 40, .22) !important;
    overflow: visible !important;
  }
  .editor-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: inline-flex !important;
    overflow: hidden !important;
  }
  .editor-logo-mark {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    box-shadow: 0 6px 16px rgba(25, 201, 165, .28) !important;
  }
  .editor-user {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    max-width: 96px !important;
    min-width: 0 !important;
  }
  .editor-topbar .editor-account {
    display: block !important;
    max-width: 96px !important;
  }
  .editor-topbar .editor-account-btn {
    height: 32px !important;
    max-width: 96px !important;
    padding: 0 7px 0 5px !important;
    border: 1px solid rgba(32, 216, 173, .42) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .12) !important;
  }
  .editor-topbar .editor-account-name {
    max-width: 44px !important;
    font-size: 11px !important;
  }
  .editor-actions {
    grid-column: 1 / 4 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
  }
  .editor-actions::-webkit-scrollbar {
    display: none !important;
  }
  .editor-actions .editor-action {
    flex: 0 0 auto !important;
    min-width: 82px !important;
    height: 34px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #24d3c1 0%, #188be8 100%) !important;
    box-shadow: 0 6px 14px rgba(19, 137, 223, .24) !important;
    white-space: nowrap !important;
  }
  .editor-actions .editor-action.active {
    background: linear-gradient(135deg, #19d6ae 0%, #158cff 100%) !important;
    box-shadow: 0 8px 18px rgba(21, 140, 255, .3) !important;
  }
  .editor-main {
    height: calc(100vh - 92px) !important;
    padding-top: 92px !important;
    background: #33364e !important;
  }
  .editor-preview-zone {
    padding-top: 16px !important;
  }
  .editor-preview-inner {
    padding-top: 16px !important;
  }
  .mobile-pdf-download-wrap {
    padding-top: 34px !important;
  }
}


/* Mobile vertical scroll restore final */
@media (max-width: 768px) {
  html,
  body.resume-editor-page {
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  .editor-main {
    height: calc(100vh - 92px) !important;
    max-height: calc(100vh - 92px) !important;
    overflow: hidden !important;
  }
  .editor-preview-zone {
    height: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y pinch-zoom !important;
  }
  .editor-preview-inner {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }
}


/* Mobile download/save area: remove blocking blue panel */
@media (max-width: 768px) {
  .mobile-pdf-download-wrap {
    height: auto !important;
    min-height: 132px !important;
    padding: 22px 16px 86px !important;
    background: transparent !important;
    pointer-events: none !important;
  }
  .mobile-pdf-download-btn,
  .mobile-save-resume-btn {
    pointer-events: auto !important;
  }
}


/* Mobile download/save area final: flow layout without blocking panel */
@media (max-width: 768px) {
  .mobile-pdf-download-wrap {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 16px 88px !important;
    margin: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    z-index: auto !important;
  }
  .mobile-pdf-download-btn,
  .mobile-save-resume-btn {
    pointer-events: auto !important;
  }
}


/* Mobile preview and PDF print final recovery */
@media (max-width: 768px) {
  html,
  body.resume-editor-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #33364e !important;
  }
  .editor-main {
    height: auto !important;
    min-height: 100vh !important;
    max-height: none !important;
    padding-top: 108px !important;
    padding-bottom: 74px !important;
    overflow: visible !important;
    background: #33364e !important;
  }
  .editor-preview-zone {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 0 18px !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }
  .editor-preview-inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 0 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }
  .mobile-pdf-download-wrap {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px 16px 24px !important;
    margin: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
  }
  .mobile-pdf-download-btn,
  .mobile-save-resume-btn {
    pointer-events: auto !important;
  }
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }
  html,
  body,
  body.resume-editor-page,
  body.pdf-exporting {
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  body.pdf-exporting > :not(#pdf-print-root) {
    display: none !important;
  }
  body.pdf-exporting #pdf-print-root {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  body.pdf-exporting #pdf-print-resume,
  body.pdf-exporting #pdf-print-resume.resume-paper,
  body.pdf-exporting #pdf-print-resume.editor-resume {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    min-height: 297mm !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    transform-origin: 0 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    break-after: auto !important;
    page-break-after: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.pdf-exporting #pdf-print-resume .mobile-pdf-download-wrap,
  body.pdf-exporting #pdf-print-resume .mobile-bottom-bar,
  body.pdf-exporting #pdf-print-resume .editor-ai-panel,
  body.pdf-exporting #pdf-print-resume .page-divider,
  body.pdf-exporting #pdf-print-resume .paged-page-divider {
    display: none !important;
  }
  body.pdf-exporting #pdf-print-resume .page-break-spacer,
  body.pdf-exporting #pdf-print-resume .t4-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-full-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-main-page-break-spacer {
    display: block !important;
    visibility: hidden !important;
    overflow: hidden !important;
    break-after: page !important;
    page-break-after: always !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }
}


/* Mobile buttons and print page top spacing final fix */
@media (max-width: 768px) {
  .editor-preview-inner {
    position: relative !important;
  }
  .mobile-pdf-download-wrap {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px 16px 92px !important;
    margin: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    z-index: 30 !important;
  }
  .mobile-pdf-download-btn,
  .mobile-save-resume-btn {
    pointer-events: auto !important;
  }
}

@media print {
  body.pdf-exporting #pdf-print-resume .page-break-spacer,
  body.pdf-exporting #pdf-print-resume .t4-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-full-page-break-spacer,
  body.pdf-exporting #pdf-print-resume .tpl2-main-page-break-spacer {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    visibility: hidden !important;
    overflow: hidden !important;
    break-after: page !important;
    page-break-after: always !important;
  }
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .resume-section,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + [data-section],
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t3-section-wrap,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t4-sec-wrap,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t5-sec-wrap,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t6-sec-wrap2,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t7-sec-wrap,
  body.pdf-exporting #pdf-print-resume .page-break-spacer + .t8-sec-wrap2,
  body.pdf-exporting #pdf-print-resume .t4-page-break-spacer + .resume-section,
  body.pdf-exporting #pdf-print-resume .t4-page-break-spacer + [data-section] {
    padding-top: 28px !important;
    box-sizing: border-box !important;
  }
}


/* Paged resume clone print and mobile preview sync final */
@media (max-width: 768px) {
  #editor-resume .paged-document {
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  #editor-resume .paged-resume-page {
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }
  #editor-resume .paged-page-content {
    width: 100% !important;
    height: 100% !important;
    padding: 9mm 11mm 10mm !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }
  #editor-resume .paged-page-divider {
    display: block !important;
    width: 210mm !important;
    height: 12mm !important;
    min-height: 12mm !important;
    max-height: 12mm !important;
    background: #33364e !important;
  }
}

@media print {
  body.pdf-exporting #pdf-print-resume .paged-document {
    display: block !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  body.pdf-exporting #pdf-print-resume .paged-resume-page {
    display: block !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    background: #fff !important;
    break-after: page !important;
    page-break-after: always !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.pdf-exporting #pdf-print-resume .paged-resume-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
  body.pdf-exporting #pdf-print-resume .paged-page-content {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 9mm 11mm 10mm !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #fff !important;
    zoom: 1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.pdf-exporting #pdf-print-resume .paged-page-divider {
    display: none !important;
  }
}


/* T2 final list/content line-height sync */
#editor-resume[data-tpl="tpl-2"] .resume-item,
#editor-resume[data-tpl="tpl-2"] .resume-item-desc,
#editor-resume[data-tpl="tpl-2"] .resume-item-desc *,
#editor-resume[data-tpl="tpl-2"] .resume-section p,
#editor-resume[data-tpl="tpl-2"] .resume-section li,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item-desc,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item-desc *,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-section p,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-section li {
  line-height: var(--resume-line-height, 1.72) !important;
}
#editor-resume[data-tpl="tpl-2"] .resume-item-desc ul,
#editor-resume[data-tpl="tpl-2"] .resume-item-desc ol,
#editor-resume[data-tpl="tpl-2"] .resume-section ul,
#editor-resume[data-tpl="tpl-2"] .resume-section ol,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item-desc ul,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item-desc ol,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-section ul,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-section ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#editor-resume[data-tpl="tpl-2"] .resume-item-desc li,
#editor-resume[data-tpl="tpl-2"] .resume-section li,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-item-desc li,
#editor-resume[data-tpl="tpl-2"].tpl2-paged .t2-page .resume-section li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: var(--resume-line-height, 1.72) !important;
}


/* [DISABLED] Fit-one-page button - commented out
/ * Fit-one-page button * /
.fit-one-page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 260px;
  margin: 18px auto 0;
  padding: 12px 24px;
  border: none;
  border-radius: 28px;
  background: linear-gradient(135deg, #19c9a5 0%, #2eaadc 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .2s, transform .15s;
  box-shadow: 0 3px 12px rgba(25, 201, 165, .25);
}
.fit-one-page-btn:hover {
  opacity: .88;
  transform: translateY(-1px);
}
.fit-one-page-btn:active {
  transform: scale(.97);
}
.fit-one-page-icon {
  font-size: 17px;
}
.desktop-fit-one-page-btn {
  margin-top: 22px;
}
@media (max-width: 768px) {
  .desktop-fit-one-page-btn {
    display: none !important;
  }
  #mobile-fit-one-page-btn {
    display: flex !important;
    max-width: 80%;
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  #mobile-fit-one-page-btn {
    display: none !important;
  }
}
*/


/* Final pagination safety: keep editor and print pages symmetric and avoid edge clipping. */
#editor-resume .paged-page-content {
  padding-top: 11mm !important;
  padding-bottom: 13mm !important;
}

@media print {
  #editor-resume .paged-page-content,
  body.pdf-exporting #pdf-print-resume .paged-page-content {
    padding-top: 11mm !important;
    padding-bottom: 13mm !important;
  }
}

/* T6/T8 use full-width headers but still need real page safety padding. */
#editor-resume[data-tpl="tpl-6"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .t6-page-content,
#editor-resume[data-tpl="tpl-8"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .t8-page-content {
  padding-top: 11mm !important;
  padding-bottom: 13mm !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#editor-resume[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
#editor-resume[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content,
.resume-paper[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content {
  padding-top: 0 !important;
  padding-bottom: 13mm !important;
}

#editor-resume[data-tpl="tpl-6"] .paged-resume-page:not([data-page="1"]) .t6-timeline,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page:not([data-page="1"]) .t6-timeline,
#editor-resume[data-tpl="tpl-8"] .paged-resume-page:not([data-page="1"]) .t8-timeline,
.resume-paper[data-tpl="tpl-8"] .paged-resume-page:not([data-page="1"]) .t8-timeline {
  padding-top: 0 !important;
}

@media print {
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-page-content,
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .t8-page-content {
    padding-top: 11mm !important;
    padding-bottom: 13mm !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page[data-page="1"] .t6-page-content,
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .paged-resume-page[data-page="1"] .t8-page-content {
    padding-top: 0 !important;
    padding-bottom: 13mm !important;
  }
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page:not([data-page="1"]) .t6-timeline,
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .paged-resume-page:not([data-page="1"]) .t8-timeline {
    padding-top: 0 !important;
  }
}

/* Continuation chunks should not repeat T6/T8 timeline section icons/titles after page breaks. */
.resume-paper[data-tpl="tpl-6"] .paged-section-continuation .t6-node,
.resume-paper[data-tpl="tpl-6"] .paged-li-continuation .t6-node,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation .t6-node,
.resume-paper[data-tpl="tpl-8"] .paged-section-continuation .t8-node,
.resume-paper[data-tpl="tpl-8"] .paged-li-continuation .t8-node,
.resume-paper[data-tpl="tpl-8"] .paged-text-continuation .t8-node,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-section-continuation .t6-node,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .paged-section-continuation .t8-node {
  display: none !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-section-continuation .t6-content > h2,
.resume-paper[data-tpl="tpl-6"] .paged-li-continuation .t6-content > h2,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation .t6-content > h2,
.resume-paper[data-tpl="tpl-8"] .paged-section-continuation .t8-sec-body > h2,
.resume-paper[data-tpl="tpl-8"] .paged-li-continuation .t8-sec-body > h2,
.resume-paper[data-tpl="tpl-8"] .paged-text-continuation .t8-sec-body > h2,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-section-continuation .t6-content > h2,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .paged-section-continuation .t8-sec-body > h2 {
  display: none !important;
}

/* All templates: adjacent list items use only the configured line height. */
.resume-paper .resume-item-desc li,
.resume-paper .resume-section li,
.resume-paper .t3-text li,
.resume-paper .t4-text li,
.resume-paper .t5-text li,
.resume-paper .t6-text li,
.resume-paper .t7-text li,
.resume-paper .t8-text li,
#editor-resume .resume-item-desc li,
#editor-resume .resume-section li,
#editor-resume .t3-text li,
#editor-resume .t4-text li,
#editor-resume .t5-text li,
#editor-resume .t6-text li,
#editor-resume .t7-text li,
#editor-resume .t8-text li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.resume-paper li > p,
.resume-paper li > div,
#editor-resume li > p,
#editor-resume li > div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.resume-paper .honor-list,
#editor-resume .honor-list {
  row-gap: 0 !important;
}

.resume-paper .honor-list .honor-row,
#editor-resume .honor-list .honor-row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: inherit !important;
}

/* T6/T8 paged list fragments: no experience-card gap between li from the same item. */
.resume-paper[data-tpl="tpl-6"] .t6-work-item.paged-li-continuation:not(.paged-li-continuation-last),
#editor-resume[data-tpl="tpl-6"] .t6-work-item.paged-li-continuation:not(.paged-li-continuation-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-work-item.paged-li-continuation:not(.paged-li-continuation-last),
.resume-paper[data-tpl="tpl-6"] .t6-work-item.paged-text-continuation:not(.paged-text-continuation-last),
#editor-resume[data-tpl="tpl-6"] .t6-work-item.paged-text-continuation:not(.paged-text-continuation-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-work-item.paged-text-continuation:not(.paged-text-continuation-last),
.resume-paper[data-tpl="tpl-8"] .t8-work-item.paged-li-continuation:not(.paged-li-continuation-last),
#editor-resume[data-tpl="tpl-8"] .t8-work-item.paged-li-continuation:not(.paged-li-continuation-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .t8-work-item.paged-li-continuation:not(.paged-li-continuation-last),
.resume-paper[data-tpl="tpl-8"] .t8-work-item.paged-text-continuation:not(.paged-text-continuation-last),
#editor-resume[data-tpl="tpl-8"] .t8-work-item.paged-text-continuation:not(.paged-text-continuation-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-8"] .t8-work-item.paged-text-continuation:not(.paged-text-continuation-last) {
  margin-bottom: 0 !important;
}

/* T6 paged fragments keep the same compact list rhythm as unsplit items. */
.resume-paper[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item,
#editor-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item,
#editor-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text,
.resume-paper[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text li,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text li,
#editor-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text,
#editor-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text li,
#editor-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text,
#editor-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text li,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text li,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text li {
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text ul,
.resume-paper[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text ul,
#editor-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text ul,
#editor-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text ul,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-li-continuation.t6-work-item .t6-text ul,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-text-continuation.t6-work-item .t6-text ul {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* T6 final list rhythm: preview and paged pages must render identical li spacing. */
.resume-paper[data-tpl="tpl-6"] .t6-text,
#editor-resume[data-tpl="tpl-6"] .t6-text,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text {
  font-size: 12.5px !important;
  line-height: 1.58 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text ul,
.resume-paper[data-tpl="tpl-6"] .t6-text ol,
#editor-resume[data-tpl="tpl-6"] .t6-text ul,
#editor-resume[data-tpl="tpl-6"] .t6-text ol,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text ul,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text ol {
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 18px !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text li,
#editor-resume[data-tpl="tpl-6"] .t6-text li,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text li {
  display: list-item !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-6"] .t6-text li > p,
.resume-paper[data-tpl="tpl-6"] .t6-text li > div,
#editor-resume[data-tpl="tpl-6"] .t6-text li > p,
#editor-resume[data-tpl="tpl-6"] .t6-text li > div,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text li > p,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .t6-text li > div {
  display: inline !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}

/* T6 paged pages: every moved work/intern list must keep template-native compact line rhythm. */
.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-work-item,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-work-item,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-work-item {
  margin-top: 0 !important;
  margin-bottom: 13px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text p,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text li,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text p,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text li,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text p,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text li {
  font-size: 12.5px !important;
  line-height: 1.58 !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text ul,
.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text ol,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text ul,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text ol,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text ul,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text ol {
  display: block !important;
  margin: 0 !important;
  padding-left: 18px !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.resume-paper[data-tpl="tpl-6"] .paged-resume-page .t6-text li + li,
#editor-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text li + li,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-6"] .paged-resume-page .t6-text li + li {
  margin-top: 0 !important;
}

/* T2 paged list fragments: no module gap between li from the same item. */
.resume-paper[data-tpl="tpl-2"] .resume-section.t2-paged-li-section-fragment:not(.t2-paged-li-section-fragment-last),
#editor-resume[data-tpl="tpl-2"] .resume-section.t2-paged-li-section-fragment:not(.t2-paged-li-section-fragment-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-2"] .resume-section.t2-paged-li-section-fragment:not(.t2-paged-li-section-fragment-last) {
  margin-bottom: 0 !important;
}
.resume-paper[data-tpl="tpl-2"] .resume-item.t2-paged-li-fragment:not(.t2-paged-li-fragment-last),
#editor-resume[data-tpl="tpl-2"] .resume-item.t2-paged-li-fragment:not(.t2-paged-li-fragment-last),
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-2"] .resume-item.t2-paged-li-fragment:not(.t2-paged-li-fragment-last) {
  margin-bottom: 0 !important;
}
/* T3 honor list spacing override: match work-list line spacing. */
.resume-paper[data-tpl="tpl-3"] .honor-list.t3-list,
#editor-resume[data-tpl="tpl-3"] .honor-list.t3-list,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-3"] .honor-list.t3-list {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  row-gap: 0 !important;
}
.resume-paper[data-tpl="tpl-3"] .honor-list.t3-list > .honor-row,
#editor-resume[data-tpl="tpl-3"] .honor-list.t3-list > .honor-row,
body.pdf-exporting #pdf-print-resume[data-tpl="tpl-3"] .honor-list.t3-list > .honor-row {
  min-height: 0 !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: var(--resume-line-height, 1.45) !important;
}
/* T5 print sync: keep PERSONAL RESUME banner position identical to editor preview. */
@media print {
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-5"] .t5-page-content,
  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-5"] .resume-main.t5-page {
    padding: 5px var(--resume-padding, 28px) 42px !important;
  }

  body.pdf-exporting #pdf-print-resume[data-tpl="tpl-5"] .t5-banner {
    margin-left: calc(-1 * var(--resume-padding, 28px) + 5px) !important;
    margin-right: calc(-1 * var(--resume-padding, 28px) + 5px) !important;
    padding-left: calc(var(--resume-padding, 28px) - 5px) !important;
  }
}


/* All templates: section-continuation fragments must NOT repeat the
   section-level h2 / title on every page. Covers T1-T8. */
.resume-paper .paged-section-continuation > h1,
.resume-paper .paged-section-continuation > h2,
.resume-paper .paged-section-continuation > h3,
.resume-paper .paged-section-continuation > .resume-divider,
.resume-paper .paged-section-continuation > .t5-sec-title,
.resume-paper .paged-section-continuation > .t7-sec-title,
.resume-paper .paged-section-continuation > .t7-sec-bar,
#editor-resume .paged-section-continuation > h1,
#editor-resume .paged-section-continuation > h2,
#editor-resume .paged-section-continuation > h3,
#editor-resume .paged-section-continuation > .resume-divider,
#editor-resume .paged-section-continuation > .t5-sec-title,
#editor-resume .paged-section-continuation > .t7-sec-title,
#editor-resume .paged-section-continuation > .t7-sec-bar,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h1,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h3,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > .resume-divider,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > .t5-sec-title,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > .t7-sec-title,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > .t7-sec-bar {
  display: none !important;
}

/* paged-li-continuation and paged-text-continuation also hide h2 for all tpls */
.resume-paper .paged-li-continuation > h2,
.resume-paper .paged-text-continuation > h2,
#editor-resume .paged-li-continuation > h2,
#editor-resume .paged-text-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-li-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-text-continuation > h2 {
  display: none !important;
}

/* Section body loses h2 margin-collapse partner: reset top spacing */
.resume-paper .paged-section-continuation .t5-sec-body,
.resume-paper .paged-section-continuation .resume-section-body,
.resume-paper .paged-section-continuation .t3-sec-body,
.resume-paper .paged-section-continuation .t4-sec-body,
#editor-resume .paged-section-continuation .t5-sec-body,
#editor-resume .paged-section-continuation .resume-section-body,
#editor-resume .paged-section-continuation .t3-sec-body,
#editor-resume .paged-section-continuation .t4-sec-body,
body.pdf-exporting #pdf-print-resume .paged-section-continuation .t5-sec-body,
body.pdf-exporting #pdf-print-resume .paged-section-continuation .resume-section-body,
body.pdf-exporting #pdf-print-resume .paged-section-continuation .t3-sec-body,
body.pdf-exporting #pdf-print-resume .paged-section-continuation .t4-sec-body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* All templates: section-continuation fragments must NOT repeat the
   section-level h2 / title on every page. Covers T1-T8. */
.resume-paper .paged-section-continuation > h1,
.resume-paper .paged-section-continuation > h2,
.resume-paper .paged-section-continuation > h3,
.resume-paper .paged-section-continuation > .resume-divider,
.resume-paper .paged-section-continuation > .t5-sec-title,
.resume-paper .paged-section-continuation > .t7-sec-title,
.resume-paper .paged-section-continuation > .t7-sec-bar,
#editor-resume .paged-section-continuation > h1,
#editor-resume .paged-section-continuation > h2,
#editor-resume .paged-section-continuation > h3,
#editor-resume .paged-section-continuation > .resume-divider,
#editor-resume .paged-section-continuation > .t5-sec-title,
#editor-resume .paged-section-continuation > .t7-sec-title,
#editor-resume .paged-section-continuation > .t7-sec-bar,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h1,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > h3,
body.pdf-exporting #pdf-print-resume .paged-section-continuation > .resume-divider {
  display: none !important;
}

.resume-paper .paged-li-continuation > h2,
.resume-paper .paged-text-continuation > h2,
#editor-resume .paged-li-continuation > h2,
#editor-resume .paged-text-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-li-continuation > h2,
body.pdf-exporting #pdf-print-resume .paged-text-continuation > h2 {
  display: none !important;
}

.resume-paper .paged-section-continuation .t5-sec-body,
.resume-paper .paged-section-continuation .resume-section-body,
.resume-paper .paged-section-continuation .t3-sec-body,
.resume-paper .paged-section-continuation .t4-sec-body,
#editor-resume .paged-section-continuation .t5-sec-body,
#editor-resume .paged-section-continuation .resume-section-body,
#editor-resume .paged-section-continuation .t3-sec-body,
#editor-resume .paged-section-continuation .t4-sec-body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* BUG1 FIX: remove min-height so JS pagination bottom whitespace is visible */
#editor-resume .paged-resume-page {
  min-height: 0 !important;
}

/* BUG2 FIX: li spacing after DOM migration - use padding on li instead of
   sibling selector so first-li on a new page keeps correct spacing */
#editor-resume .t1-text li,
#editor-resume .t3-text li,
#editor-resume .t4-text li,
#editor-resume .t5-text li,
#editor-resume .t6-text li,
#editor-resume .t7-text li,
#editor-resume .t8-text li,
#editor-resume .resume-item-desc li {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
