.builder-page {
  max-width: 1080px;
  margin: auto;
  padding: 28px 24px 48px;
  color: var(--navy);
}
.builder-intro {
  text-align: center;
  margin-bottom: 24px;
}
.builder-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: var(--teal);
}
.builder-intro h1 {
  font-size: clamp(26px, 3vw, 34px);
  letter-spacing: -1.3px;
  line-height: 1.2;
  margin: 9px 0 12px;
}
.builder-intro h1 span {
  color: var(--teal);
}
.builder-intro > p:last-child {
  color: #536b7b;
}
.builder-layout {
  display: grid;
  grid-template-columns: 180px minmax(0, 760px);
  gap: 28px;
  justify-content: center;
  align-items: start;
}
.builder-sidebar {
  position: sticky;
  top: 100px;
  padding-top: 16px;
}
.builder-sidebar ol {
  list-style: none;
  margin: 24px 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.builder-sidebar li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #647783;
  padding: 7px 0;
}
.builder-sidebar li span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #d2dfe2;
  border-radius: 50%;
  font-size: 11px;
  background: white;
}
.builder-sidebar li[aria-current="step"] {
  color: var(--navy);
  font-weight: 700;
}
.builder-sidebar li[aria-current="step"] span,
.builder-sidebar li.done span {
  background: var(--teal);
  color: white;
  border-color: var(--teal);
}
.builder-tip {
  padding: 18px 0;
  border-top: 1px solid var(--light-gray);
  font-size: 13px;
}
.builder-tip p {
  margin-top: 8px;
  color: #536b7b;
}
.builder-local {
  font-size: 11px;
  color: #647783;
  line-height: 1.7;
  margin-top: 14px;
}
.builder-panel {
  background: white;
  border: 1px solid #dce6e8;
  border-radius: 20px;
  padding: 28px 32px;
  box-shadow: 0 12px 40px #0b3d5c08;
  min-width: 0;
}
.builder-progress-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  gap: 10px;
}
.builder-link {
  background: transparent;
  color: var(--teal);
  font-weight: 600;
  min-height: 44px;
  padding: 6px;
}
.builder-panel progress {
  appearance: none;
  width: 100%;
  height: 5px;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
  margin: 8px 0 22px;
  background: var(--light-gray);
}
.builder-panel progress::-webkit-progress-bar {
  background: var(--light-gray);
}
.builder-panel progress::-webkit-progress-value {
  background: var(--teal);
}
.builder-panel progress::-moz-progress-bar {
  background: var(--teal);
}
#builder-screen h2 {
  font-size: 26px;
  line-height: 1.25;
  letter-spacing: -0.5px;
  margin-bottom: 10px;
}
#builder-screen > .builder-description {
  font-size: 14px;
  color: #536b7b;
  margin-bottom: 24px;
}
.builder-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.builder-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
}
.builder-fields .builder-field {
  margin: 0;
}
.builder-field input,
.builder-field select,
.builder-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #d7e2e6;
  border-radius: 9px;
  background: #f8fafb;
  color: var(--navy);
  font: 400 16px var(--font-stack);
}
.builder-field textarea {
  min-height: 80px;
  resize: vertical;
}
.builder-field small {
  font-weight: 400;
  color: #647783;
}
.builder-page fieldset {
  border: 0;
  margin: 20px 0;
}
.builder-page legend {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}
.builder-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.builder-chip {
  border: 1px solid #dce6e8;
  background: #f6f9fb;
  color: var(--navy);
  padding: 10px 14px;
  min-height: 44px;
  border-radius: 24px;
  font-size: 12px;
  line-height: 1.3;
}
.builder-chip[aria-pressed="true"] {
  color: white;
  background: var(--teal);
  border-color: var(--teal);
  box-shadow: 0 3px 8px #1e8a7a22;
}
.builder-chip::before {
  content: "✓";
  display: inline-block;
  width: 1em;
  margin-right: 5px;
  visibility: hidden;
}
.builder-chip[aria-pressed="true"]::before { visibility: visible; }
.builder-chip { transition: background-color .15s, color .15s, border-color .15s; }
.builder-chips.cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.builder-chips.cards .builder-chip {
  border-radius: 12px;
  text-align: left;
  padding: 16px;
}
.builder-note {
  background: #edf7f5;
  border: 1px solid #d8ebe5;
  border-radius: 12px;
  padding: 16px;
  font-size: 13px;
  margin: 22px 0;
  color: #315e58;
}
.builder-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--light-gray);
}
.builder-actions .btn {
  min-height: 46px;
}
.builder-actions .btn-gold {
  margin-left: auto;
  background: var(--navy);
  color: white;
}
.builder-actions .btn-gold:hover {
  background: var(--teal);
}
#builder-save-status {
  font-size: 11px;
  color: #647783;
  margin-top: 14px;
  min-height: 18px;
}
#builder-error {
  font-size: 13px;
  color: #a12820;
  margin-top: 16px;
}
#builder-error:empty {
  display: none;
}
.builder-page :focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}
.builder-page [hidden] {
  display: none !important;
}
.builder-page button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.builder-record {
  border: 1px solid #dce6e8;
  border-radius: 14px;
  padding: 18px;
  margin: 20px 0;
}
.builder-record-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.builder-record h3 {
  font-size: 15px;
}
.builder-record .builder-fields {
  margin-bottom: 16px;
}
.builder-skill-filter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.builder-selected {
  font-size: 12px;
  margin: 12px 0;
  color: var(--teal);
}
.builder-mini-paper {
  margin: 26px 0 0 12px;
  padding: 24px 18px;
  background: white;
  box-shadow: 0 8px 20px #0b3d5c12;
  transform: rotate(-4deg);
  border-radius: 3px;
  display: grid;
  gap: 10px;
  font-size: 9px;
}
.builder-mini-paper b {
  font-size: 14px;
}
.builder-mini-paper span {
  font-size: 8px;
  color: #647783;
}
.builder-mini-paper hr {
  border: 0;
  border-top: 1px solid #dce6e8;
}
.builder-mini-paper i {
  height: 4px;
  background: #e8edef;
  width: 100%;
}
.builder-mini-paper i:nth-child(3n) {
  width: 70%;
}
.builder-welcome {
  padding: 10px 0;
}
.builder-welcome-art {
  height: 140px;
  background: linear-gradient(135deg, #edf7f5, #eef4f9);
  border-radius: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin: 24px 0;
  overflow: hidden;
}
.builder-welcome-art .builder-mini-paper {
  width: 170px;
  margin: 20px 0;
  transform: rotate(-7deg) scale(.75);
  gap: 8px;
}
.builder-welcome-art > span {
  font-size: 34px;
  color: var(--teal);
}
.builder-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  font-size: 11px;
  text-align: center;
}
.builder-benefits div {
  border: 1px solid #e0e9eb;
  border-radius: 12px;
  padding: 14px 5px;
}
.builder-benefits strong {
  display: block;
  color: var(--teal);
  font-size: 20px;
  margin-bottom: 5px;
}
.builder-strength {
  padding: 24px;
  border: 1px solid #dce6e8;
  border-radius: 16px;
  background: #f8fbfc;
}
.builder-strength-top {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.builder-ring {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: conic-gradient(var(--teal) var(--completion), #dcebed 0);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.builder-ring span {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  background: white;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
}
.builder-strength h3 {
  font-size: 18px;
}
.builder-strength p {
  font-size: 12px;
  color: #536b7b;
}
.builder-strength ul {
  list-style: none;
}
.builder-strength li button {
  text-align: left;
  font-size: 12px;
}
.builder-preview-tools {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.builder-preview-tools .btn {
  font-size: 12px;
  padding: 10px 14px;
}
.builder-resume {
  border: 1px solid #dce6e8;
  padding: 30px 24px;
  color: #222;
  background: white;
  overflow-wrap: anywhere;
  font:
    12px/1.6 Arial,
    sans-serif;
}
.builder-resume h2 {
  font-size: 24px !important;
  color: #222;
}
.builder-resume h3 {
  font-size: 12px;
  text-transform: uppercase;
  border-bottom: 1px solid #bbb;
  padding-bottom: 4px;
  margin: 20px 0 8px;
}
.builder-resume p {
  white-space: pre-wrap;
  margin: 4px 0;
}
.builder-resume.modern h2,
.builder-resume.modern h3 {
  color: var(--navy);
}
.builder-resume.modern {
  border-top: 5px solid var(--teal);
}
.builder-consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 12px;
  margin: 20px 0;
}
.builder-consent input {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.builder-skip {
  position: absolute;
  top: -100px;
  left: 16px;
  background: white;
  z-index: 10000;
  padding: 12px;
}
.builder-skip:focus {
  top: 16px;
}
.builder-entry {
  padding: 16px;
  border: 1px solid #d4e7e2;
  border-radius: 12px;
  margin: 20px 0;
  background: #edf6f4;
}
.builder-entry a {
  font-weight: 700;
}
@media (max-width: 1200px) {
  .builder-layout {
    grid-template-columns: 180px minmax(0, 760px);
  }
}
@media (max-width: 760px) {
  .builder-page {
    padding: 20px 12px 32px;
  }
  .builder-intro {
    margin-bottom: 24px;
  }
  .builder-intro .builder-eyebrow {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .builder-layout {
    display: block;
  }
  .builder-sidebar {
    display: none;
  }
  .builder-panel {
    padding: 20px 18px;
    border-radius: 16px;
  }
  .builder-fields {
    grid-template-columns: 1fr;
  }
  .builder-fields .builder-field {
    margin-bottom: 0;
  }
  .builder-skill-filter {
    grid-template-columns: 1fr;
  }
  .builder-record {
    padding: 14px;
  }
  #builder-screen h2 {
    font-size: 24px;
  }
  .builder-actions {
    position: static;
    padding-bottom: 0;
  }
  .builder-intro h1 {
    font-size: 26px;
  }
  .builder-strength {
    padding: 16px;
  }
  .builder-resume {
    padding: 20px 16px;
  }
  .builder-benefits {
    font-size: 10px;
  }
}
@media print {
  body > * {
    display: none !important;
  }
  body > .builder-page {
    display: block !important;
    margin: 0;
    padding: 0;
    max-width: none;
  }
  .builder-page > * {
    display: none !important;
  }
  .builder-page > .builder-layout {
    display: block !important;
  }
  .builder-layout > * {
    display: none !important;
  }
  .builder-layout > .builder-panel {
    display: block !important;
    border: 0;
    padding: 0;
    box-shadow: none;
  }
  .builder-panel > * {
    display: none !important;
  }
  .builder-panel > #builder-form {
    display: block !important;
  }
  #builder-form > * {
    display: none !important;
  }
  #builder-form > #builder-screen {
    display: block !important;
  }
  #builder-screen > * {
    display: none !important;
  }
  #builder-screen > .builder-resume {
    display: block !important;
    border: 0;
    padding: 0;
    font-size: 11pt;
  }
  .builder-resume h3 {
    break-after: avoid;
  }
  .builder-resume p {
    orphans: 3;
    widows: 3;
  }
  @page {
    size: A4;
    margin: 18mm;
  }
}

.builder-panel.is-preview .builder-actions {
  position: static;
}

.builder-photo-upload {display:flex;align-items:start;gap:18px;padding:18px;border:1px solid #dce6e8;border-radius:12px;margin-top:24px;min-width:0}
.builder-photo-upload>div:last-child {flex:1;min-width:0}
.builder-photo-upload input {padding:8px;font-size:12px;max-width:100%}
.builder-photo,.builder-photo-placeholder {width:80px;height:100px;object-fit:contain;background:white;border:1px solid #dce6e8;flex-shrink:0}
.builder-photo-placeholder {display:grid;place-items:center;color:#78959c;background:#f4f8f8}
.builder-photo-placeholder svg {width:48px;height:60px}
.builder-resume-header {display:flow-root}
.builder-resume-header>.builder-photo {float:right;margin:0 0 12px 16px}
.builder-resume-header>div {overflow:hidden}
@media(max-width:420px){.builder-photo-upload{flex-direction:column}.builder-resume-header>.builder-photo{width:64px;height:80px;margin-left:12px}}
@media print{.builder-resume-header>.builder-photo{width:28mm;height:35mm;margin-left:6mm;break-inside:avoid}}

#builder-exit:disabled{opacity:.45;cursor:not-allowed}

/* Wizard focus and step changes must not race the site-wide smooth scrolling. */
html.builder-document{scroll-behavior:auto}

/* Keep the active step in view; reserve branding detail for the welcome screen. */
.builder-page.is-building .builder-intro > p { display: none; }
.builder-page.is-building .builder-intro { margin-bottom: 18px; }
.builder-page.is-building .builder-intro h1 { font-size: 25px; margin: 0; }
.builder-page { scroll-margin-top: 90px; }
.builder-page details { border-top: 1px solid var(--light-gray); margin: 18px 0 0; }
.builder-page summary { min-height: 44px; padding: 12px 0; font-size: 13px; font-weight: 600; color: var(--teal); cursor: pointer; }
.builder-page details[open] > summary { margin-bottom: 8px; }
.builder-page details > .builder-fields { margin-bottom: 16px; }
.builder-preview-tools .btn-gold { background: var(--navy); color: white; }
.builder-preview-tools .btn-gold:hover { background: var(--teal); }
.builder-panel.is-preview [data-action="submit"] { background: white; color: var(--teal); border: 1px solid var(--teal); }
#builder-error:not(:empty) { padding: 12px 14px; border: 1px solid #f0c6c0; border-radius: 8px; background: #fff6f5; }
#builder-save-status { overflow-wrap: anywhere; }
@media(max-width:760px) {
  .builder-page.is-building .builder-intro h1 { font-size: 22px; }
  .builder-page { scroll-margin-top: 70px; }
  .builder-actions .btn { padding: 12px 16px; }
  .builder-actions .btn-gold { flex: 1; max-width: 240px; }
  .builder-preview-tools { display: grid; grid-template-columns: 1fr 1fr; }
  .builder-preview-tools [data-action="print"] { grid-column: 1 / -1; justify-self: start; }
  .builder-photo-upload { gap: 12px; padding: 12px; }
}

/* A viewport-sized wizard: only longer step content scrolls, never underneath actions. */
@media screen {
  .builder-page {
    height: calc(100dvh - var(--builder-nav-height, 74px));
    display: flex;
    flex-direction: column;
    padding: 12px 24px;
    min-height: 360px;
  }
  .builder-intro { flex: 0 0 auto; margin-bottom: 12px; }
  .builder-intro h1 { margin: 0 0 4px; font-size: 28px; }
  .builder-intro > p { font-size: 13px; }
  .builder-page.is-building .builder-intro { margin-bottom: 10px; }
  .builder-layout { flex: 1; min-height: 0; grid-template-rows: minmax(0,1fr); align-items: stretch; }
  .builder-sidebar { position: static; padding-top: 8px; overflow: auto; }
  .builder-sidebar ol { gap: 4px; margin: 12px 0; }
  .builder-sidebar li { padding: 4px 0; }
  .builder-sidebar .builder-tip { display: none; }
  .builder-panel { min-height: 0; display: flex; flex-direction: column; padding: 16px 22px 10px; }
  .builder-progress-row { flex-shrink: 0; }
  .builder-panel progress { flex-shrink: 0; margin: 0 0 14px; }
  #builder-form { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  #builder-screen { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-gutter: stable; padding: 2px 6px 8px 2px; scroll-padding-block: 8px; }
  #builder-screen:focus-visible { outline-offset: -3px; }
  #builder-screen h2 { font-size: 22px; margin-bottom: 6px; }
  #builder-screen > .builder-description { margin-bottom: 14px; font-size: 13px; }
  .builder-actions { flex-shrink: 0; position: static; margin-top: 8px; padding-top: 10px; gap: 10px; }
  #builder-error { flex-shrink: 0; max-height: 90px; overflow: auto; margin-top: 6px; }
  #builder-save-status { flex-shrink: 0; margin-top: 6px; min-height: 16px; font-size: 10px; }
  .builder-field { margin-bottom: 10px; gap: 4px; }
  .builder-fields { gap: 10px; }
  .builder-page fieldset { margin: 12px 0; }
  .builder-page legend { margin-bottom: 6px; }
  .builder-chips { gap: 6px; }
  .builder-chip { padding: 8px 10px; }
  .builder-chips.cards .builder-chip { padding: 10px; }
  .builder-page details { margin-top: 10px; }
  .builder-page summary { padding: 10px 0; }
  .builder-page details.builder-more { margin-top: 4px; border: 0; }
  .builder-page details.builder-more > summary { font-size: 12px; padding: 8px 0; margin: 0; }
  .builder-note { margin: 12px 0; padding: 12px; }
  .builder-record { margin: 12px 0; padding: 12px; }
  .builder-record-header { margin-bottom: 6px; }
  .builder-photo-upload { margin-top: 10px; }
  .builder-welcome-art { height: 100px; margin: 14px 0; }
  .builder-welcome-art .builder-mini-paper { transform: rotate(-7deg) scale(.6); }
  .builder-benefits div { padding: 8px 4px; }
  .builder-benefits strong { font-size: 16px; margin-bottom: 2px; }
  .builder-local { margin-top: 8px; }
  @media(max-width:760px) {
    .builder-page { padding: 8px; }
    .builder-layout { display: flex; flex-direction: column; }
    .builder-panel { flex: 1; padding: 10px 14px 8px; }
    .builder-page.is-building .builder-intro h1 { font-size: 20px; }
    .builder-intro h1 { font-size: 24px; }
    .builder-page.is-building .builder-intro { margin-bottom: 6px; }
    .builder-fields { grid-template-columns: 1fr 1fr; }
    .builder-fields > .builder-field:nth-child(n+3) { grid-column: 1/-1; }
    .builder-education-fields { margin-bottom: 10px; }
    .builder-actions .btn { padding: 10px 14px; }
    .builder-field input,.builder-field select { padding: 9px 10px; }
    .builder-skill-filter { grid-template-columns: 1fr 1fr; gap: 8px; }
    .builder-ring { width: 80px; height: 80px; }
    .builder-ring span { width: 62px; height: 62px; font-size: 20px; }
    .builder-strength { padding: 12px; }
  }
}

/* Compact template previews retain the site's controls and selection colors. */
.builder-template-picker {border:0;padding:0;margin:12px 0 8px;min-width:0}
.builder-template-picker legend {font-size:13px;font-weight:700;margin-bottom:8px}
.builder-template-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.builder-template-card {border:1px solid var(--border,#dce6e8);border-radius:8px;padding:8px;background:#fff;color:var(--navy);font-family:inherit;font-size:11px;font-weight:600;line-height:1.3;cursor:pointer;min-height:44px}
.builder-template-card[aria-pressed="true"] {border:2px solid var(--teal);padding:7px;background:var(--teal-light,#edfafa)}
.builder-template-card:focus-visible {outline:3px solid var(--teal);outline-offset:3px}
.builder-template-mini {display:block;width:42px;height:48px;background:white;border:1px solid #dce6e8;margin:0 auto 6px;padding:5px;text-align:left}
.builder-template-mini i,.builder-template-mini b,.builder-template-mini em {display:block;height:2px;background:#bec6ce;margin-bottom:4px}
.builder-template-mini i {height:7px;width:75%;background:#263b50}
.builder-template-mini b {width:50%;background:#667583}
.builder-template-card.classic i {margin-left:auto;margin-right:auto}
.builder-template-card.modern i {width:100%;height:10px;background:#d7eeee;border-left:3px solid #007f86}
.builder-template-card.technical .builder-template-mini {border-left:3px solid #55417c}
.builder-template-card.technical b {background:#55417c;width:100%}
.builder-template-card.graduate i {background:#80582c;height:3px;margin:3px auto 7px}
.builder-template-card.graduate b {background:#80582c}
.builder-resume strong {font-weight:700;color:inherit}
.builder-resume.classic,.builder-resume.graduate {font-family:Georgia,'Times New Roman',serif}
.builder-resume.classic h2,.builder-resume.classic h3,.builder-resume.graduate h2,.builder-resume.graduate h3 {font-family:inherit}
.builder-resume.classic .builder-resume-header {text-align:center;border-bottom:1px solid #222;padding-bottom:12px}
.builder-resume.modern .builder-resume-header {background:#edf6f7;padding:16px;border-left:4px solid var(--teal)}
.builder-resume.modern h3 {border-color:#0b3d5c;color:#0b3d5c}
.builder-resume.technical .builder-resume-header {border-left:4px solid #55417c;padding:8px 0 8px 16px}
.builder-resume.technical h2,.builder-resume.technical h3 {font-family:'Courier New',monospace;color:#55417c}
.builder-resume.technical h3 {background:#f3f0f7;padding:6px 8px;border:0}
.builder-resume.graduate .builder-resume-header {text-align:center;border-top:3px double #80582c;border-bottom:3px double #80582c;padding:14px 0}
.builder-resume.graduate h2,.builder-resume.graduate h3 {color:#80582c}
.builder-resume.graduate h3 {letter-spacing:1px;border-bottom:1px solid #80582c}
.builder-resume-role {font-style:italic}
@media(max-width:480px){.builder-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-template-card{display:flex;align-items:center;gap:8px;text-align:left}.builder-template-mini{flex-shrink:0;margin:0;width:30px;height:34px;padding:3px}.builder-template-mini em:last-child{display:none}}
@media print{.builder-resume{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.builder-photo-editor {margin:auto;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;border:1px solid #dce6e8;border-radius:16px;padding:20px;color:var(--navy);background:#fff;box-shadow:0 20px 60px #001d3540}
.builder-photo-editor::backdrop {background:#001d35a6}
.builder-photo-editor h2 {font-size:20px;margin:0 0 6px}
.builder-photo-editor p {font-size:13px;line-height:1.4;margin:0 0 12px}
.builder-photo-editor canvas {display:block;width:auto;height:clamp(120px,32dvh,300px);max-width:100%;aspect-ratio:4/5;margin:0 auto 12px;touch-action:none;cursor:grab;outline:2px solid var(--teal);outline-offset:2px}
.builder-photo-editor canvas:active {cursor:grabbing}
.builder-photo-editor label {display:grid;grid-template-columns:130px 1fr;align-items:center;gap:8px;font-size:12px;font-weight:600}
.builder-photo-editor input[type="range"] {width:100%;min-width:0;min-height:36px;accent-color:var(--teal)}
.builder-photo-editor-actions {display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}
.builder-photo-editor-actions button {min-height:44px;padding:10px 12px;font-size:13px}
.builder-photo-editor :focus-visible {outline:2px solid var(--teal);outline-offset:3px}

/* Keep selected ticks and multi-line chip labels on the same alignment. */
.builder-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;overflow-wrap:anywhere;text-align:center}
.builder-chip::before{flex:0 0 1em;margin-right:0}
.builder-chips.cards .builder-chip{justify-content:flex-start}
.builder-photo-upload{margin-top:16px}
