/* Version-owned three-step layout: no selectors below modify start.html. */
.v3-flow-page {
  --v3-ink: #111c3b;
  --v3-blue: #2457ff;
  --v3-muted: #60708d;
  --v3-line: #d6dced;
  --v3-paper: #fffdf6;
  color: var(--v3-ink);
  background: var(--v3-paper);
  font-size: 16px;
  line-height: 1.7;
}
.v3-flow-page [hidden] { display: none !important; }
.v3-flow-page :is(button, input, select, textarea) { font: inherit; }
.v3-flow-page :is(button, a, input, textarea, select):focus-visible { outline: 3px solid var(--v3-blue); outline-offset: 4px; }
.v3-flow-page button { cursor: pointer; }
.v3-flow-page button:disabled { cursor: not-allowed; }
.v3-flow-page :is(p, h1, h2, h3, h4, label, strong, small, button, a, dd) { overflow-wrap: anywhere; }
.v3-flow-page :is(button, input, select, textarea, fieldset, section, div, figure) { min-width: 0; }
.v3-flow-page img { max-width: 100%; }
.v3-flow-page .v3-visually-hidden, .v3-flow-page .v3-skip:not(:focus) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.v3-flow-page .v3-skip:focus { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 10px 16px; border: 2px solid var(--v3-ink); border-radius: 8px; background: #fff; }
.v3-header, .v3-comparison-banner, .v3-builder { width: min(1500px, calc(100% - 64px)); margin-inline: auto; }
.v3-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 0; }
.v3-header .v2-brand span { font-size: 2rem; }
.v3-header .v2-brand small { font-size: .7rem; }
.v3-header nav { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 12px 24px; }
.v3-header nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .88rem; font-weight: 800; text-underline-offset: 5px; }
.v3-header nav a:first-child { color: var(--v3-blue); }
.v3-comparison-banner { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 26px; padding: 14px 18px; border: 1px solid #dfc87f; border-radius: 12px; background: #fff8db; }
.v3-comparison-banner p { margin: 0; color: #61552c; font-size: .82rem; line-height: 1.75; }
.v3-comparison-tag { flex: 0 0 auto; display: inline-block; padding: 3px 8px; border-radius: 5px; background: #f1d98d; font-size: .76rem; font-weight: 800; }
.v3-builder { display: grid; grid-template-columns: 255px minmax(0, 1fr); align-items: start; gap: 26px; margin-bottom: 70px; }
.v3-sidebar { position: sticky; top: 20px; padding: 28px 23px 24px; border: 1.5px solid var(--v3-ink); border-radius: 22px; color: #fff; background: var(--v3-ink); }
.v3-eyebrow { margin: 0 0 14px; color: var(--v3-blue); font-family: "DM Mono", ui-monospace, monospace; font-size: .78rem; font-weight: 500; letter-spacing: .04em; }
.v3-sidebar .v3-eyebrow { color: #bcc8e2; font-size: .6rem; letter-spacing: .02em; }
.v3-sidebar .v3-eyebrow > span { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: #c8df86; }
.v3-sidebar h1 { margin: 17px 0; font-size: 1.7rem; font-weight: 900; letter-spacing: -.05em; line-height: 1.35; }
.v3-sidebar-intro > p:last-child { margin: 0; color: #c0cbe2; font-size: .84rem; }
.v3-progress { display: grid; gap: 17px; margin-top: 25px; }
.v3-progress button { --v3-step-color: #7296ff; position: relative; display: grid; grid-template-columns: 37px minmax(0, 1fr) 23px; align-items: center; gap: 9px; width: 100%; min-height: 78px; padding: 10px 9px; border: 1px solid #465472; border-radius: 11px; background: #1a2747; color: #d3dcef; text-align: left; }
.v3-progress button[data-v3-step="2"] { --v3-step-color: #c8df86; }
.v3-progress button[data-v3-step="3"] { --v3-step-color: #f2a198; }
.v3-progress button + button::before { position: absolute; top: -21px; left: 23px; color: #8e9dbd; font-size: 18px; line-height: 22px; content: "↓"; }
.v3-progress button b { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid var(--v3-step-color); border-radius: 11px; color: var(--v3-step-color); background: #111c3b; font-family: "DM Mono", ui-monospace, monospace; font-size: .8rem; }
.v3-progress button span { display: block; font-size: .93rem; font-weight: 800; line-height: 1.4; }
.v3-progress button small { display: block; margin-top: 4px; color: #a1aec9; font-size: .7rem; font-weight: 500; line-height: 1.5; }
.v3-progress button:hover { background: #1e2c51; }
.v3-progress .v3-progress-icon { display: block; width: 23px; height: 25px; color: var(--v3-step-color); }
.v3-progress button:is(.is-current, [aria-current=step]) { color: #fff; background: #293858; border-color: var(--v3-step-color); box-shadow: inset 3px 0 var(--v3-step-color); }
.v3-progress button:is(.is-current, [aria-current=step]) b { color: var(--v3-ink); background: var(--v3-step-color); border-color: var(--v3-step-color); }
.v3-progress button.is-complete b { color: #c8df86; border-color: #c8df86; font-size: 0; }
.v3-progress button.is-complete b::after { content: "✓"; font-family: inherit; font-size: 1.05rem; }
.v3-progress .v3-progress-status { display: none; }
.v3-progress button.is-complete .v3-progress-status { display: block; margin-top: 3px; color: #c8df86; font-size: .61rem; font-weight: 500; line-height: 1.3; }
.v3-progress button.is-complete .v3-progress-status::after { content: "已完成"; }
.v3-sidebar-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #465472; }
.v3-sidebar-note > span { color: #f28c82; font-size: 1.3rem; }
.v3-sidebar-note p { margin: 0; color: #b7c3dc; font-size: .74rem; }
.v3-sidebar-note strong { display: block; margin-bottom: 4px; color: #fff; }
.v3-main-panel { padding: clamp(26px, 3vw, 48px); border: 1.5px solid var(--v3-ink); border-radius: 22px; background: #fff; }
.v3-panel { min-width: 0; }
.v3-panel-heading { margin-bottom: 30px; }
.v3-panel-heading h2[tabindex="-1"]:focus { outline: none; }
.v3-panel-heading h2 { max-width: 800px; margin: 0; font-size: clamp(1.8rem, 2.8vw, 2.65rem); line-height: 1.35; letter-spacing: -.05em; font-weight: 900; }
.v3-panel-heading > p:last-child { max-width: 740px; margin: 15px 0 0; color: var(--v3-muted); font-size: .94rem; }
.v3-field { display: grid; gap: 8px; margin: 0 0 24px; }
.v3-field > label, .v3-choice-group > legend { font-size: 1rem; font-weight: 800; }
.v3-required, .v3-optional { display: inline-block; margin-left: 6px; font-size: .73rem; font-weight: 700; vertical-align: .08em; }
.v3-required { color: #b42318; }.v3-optional { color: #70809a; }
.v3-field :is(input, textarea, select) { display: block; width: 100%; max-width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #acb9d2; border-radius: 10px; color: var(--v3-ink); background: #fff; font-size: 1rem; line-height: 1.6; }
.v3-field textarea { resize: vertical; min-height: 110px; }
.v3-field input::placeholder, .v3-field textarea::placeholder { color: #8490a7; }
.v3-field > small { color: var(--v3-muted); font-size: .76rem; line-height: 1.7; }
.v3-field [aria-invalid=true] { border: 2px solid #b42318; background: #fffafa; }
#v3-project-name { max-width: 610px; }
.v3-section-heading { margin-bottom: 16px; }
.v3-section-heading h3 { margin: 0; font-size: 1.1rem; font-weight: 800; line-height: 1.6; }
.v3-section-heading p { margin: 6px 0 0; color: var(--v3-muted); font-size: .84rem; }
.v3-reference-section { margin: 32px 0; }
.v3-reference-stage { position: relative; display: grid; place-items: center; min-height: 230px; border: 1.5px dashed #98a8c7; border-radius: 15px; background: #f5f7fc; }
.v3-reference-stage:focus-within { outline: 3px solid var(--v3-blue); outline-offset: 4px; }
.v3-reference-stage:has(img:not([hidden])) { min-height: 0; padding: 14px; border-style: solid; background-color: #fff; background-image: linear-gradient(45deg,#eef1f8 25%,transparent 25%),linear-gradient(-45deg,#eef1f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef1f8 75%),linear-gradient(-45deg,transparent 75%,#eef1f8 75%); background-size: 20px 20px; background-position: 0 0,0 10px,10px -10px,-10px 0; }
.v3-reference-stage img { display: block; width: 100%; max-height: 350px; object-fit: contain; }
.v3-reference-placeholder { display: grid; justify-items: center; align-content: center; gap: 8px; width: 100%; min-height: 230px; padding: 22px; text-align: center; cursor: pointer; }
.v3-reference-placeholder > span { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 14px; color: #fff; background: var(--v3-blue); font-size: 1.7rem; line-height: 1; }
.v3-reference-placeholder strong { font-size: 1.05rem; }.v3-reference-placeholder small { color: var(--v3-muted); font-size: .76rem; }
.v3-reference-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.v3-reference-controls > div { display: flex; gap: 15px; flex-wrap: wrap; align-items: center; justify-content: end; }
.v3-tag { display: inline-block; width: fit-content; max-width: 100%; padding: 3px 8px; border-radius: 5px; color: #31527f; background: #eaf0fd; font-size: .72rem; font-weight: 700; line-height: 1.6; }
.v3-reference-note { margin: 16px 0 0; padding: 13px 15px; border-left: 3px solid #c8df86; border-radius: 0 9px 9px 0; color: #596a88; background: #f5f8ee; font-size: .8rem; }
.v3-reference-note b { display: block; margin-bottom: 3px; color: #344b2b; }
.v3-status { margin: 10px 0; color: #345d49; font-size: .8rem; line-height: 1.7; }
.v3-status:empty, .v3-error:empty { display: none; }
.v3-error { margin: 12px 0; padding: 12px 14px; border: 1px solid #dbaba5; border-radius: 8px; color: #a52b23; background: #fff3f0; font-size: .85rem; }
.v3-global-error { margin: 0 0 24px; }
.v3-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px 24px; margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--v3-line); }
.v3-actions-end { justify-content: flex-end; }
.v3-primary, .v3-button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 50px; max-width: 100%; padding: 12px 20px; border: 1.5px solid var(--v3-ink); border-radius: 11px; font-weight: 800; font-size: .91rem; line-height: 1.6; text-align: center; text-decoration: none; }
.v3-primary { color: #fff; background: var(--v3-ink); box-shadow: 4px 4px 0 #f28c82; }
.v3-primary > span { color: #c8df86; font-size: 1.3rem; }
.v3-primary:hover:not(:disabled) { background: var(--v3-blue); border-color: var(--v3-blue); }
.v3-primary:disabled { color: #61708b; background: #e5eaf4; border-color: #c3ccdd; box-shadow: none; }
.v3-button { color: var(--v3-ink); background: #fff; border-color: #a8b7d3; }
.v3-button:hover { background: #f0f4fd; }
.v3-button-small { min-height: 42px; padding: 7px 12px; gap: 8px; font-size: .8rem; }
.v3-text-button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; max-width: 100%; padding: 5px 0; border: 0; color: var(--v3-ink); background: transparent; font-size: .85rem; font-weight: 800; text-decoration: underline; text-underline-offset: 5px; line-height: 1.65; text-align: left; }
.v3-text-button:hover { color: var(--v3-blue); }.v3-back, .v3-danger { color: #b42318; }
.v3-reference-context { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 16px; align-items: center; padding: 16px; margin-bottom: 30px; border: 1px solid var(--v3-line); border-radius: 12px; background: #f7f9ff; }
.v3-reference-context > img { display: block; width: 80px; height: 80px; object-fit: contain; border: 1px solid var(--v3-line); border-radius: 8px; background: #fff; }
.v3-reference-context > div { display: flex; align-items: start; flex-direction: column; gap: 6px; }
.v3-reference-context strong { font-size: .85rem; }.v3-reference-context .v3-text-button { min-height: 36px; padding: 2px 0; font-size: .75rem; }
.v3-choice-group { margin: 0 0 30px; padding: 0; border: 0; }
.v3-choice-group > legend { margin-bottom: 14px; }
.v3-route-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.v3-choice-card { position: relative; display: flex; gap: 11px; padding: 20px 16px; border: 2px solid var(--v3-line); border-radius: 15px; background: #fff; cursor: pointer; }
.v3-choice-card > input, .v3-mode-card > input { width: 19px; height: 19px; margin: 4px 0 0; accent-color: var(--v3-blue); flex: 0 0 19px; }
.v3-choice-card:has(input:checked), .v3-mode-card:has(input:checked) { border-color: var(--v3-ink); background: #f6f9eb; box-shadow: 3px 3px 0 #c8df86; }
.v3-choice-card:has(input:focus-visible), .v3-mode-card:has(input:focus-visible) { outline: 3px solid var(--v3-blue); outline-offset: 4px; }
.v3-choice-content { display: grid; align-content: start; gap: 4px; }
.v3-choice-content > strong { font-size: 1.2rem; }.v3-choice-content > span:not(.v3-choice-icon) { font-size: .88rem; font-weight: 700; }
.v3-choice-content > small { margin-top: 6px; color: var(--v3-muted); font-size: .78rem; line-height: 1.75; }
.v3-choice-icon { position: relative; display: grid; place-items: center; width: 57px; height: 65px; margin-bottom: 8px; border-radius: 12px; font-family: "Archivo Black",sans-serif; font-size: .95rem; line-height: 1.2; letter-spacing: -.04em; }
.v3-icon-full { color: var(--v3-blue); background: #c8df86; transform: rotate(-4deg); }
.v3-icon-local { color: #c8df86; background: var(--v3-ink); font-size: 2rem; }.v3-icon-local > span { position: absolute; top: 5px; right: 5px; color: #f28c82; font-size: .7rem; }
.v3-mode-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.v3-mode-card { display: flex; align-items: flex-start; gap: 10px; padding: 16px 14px; border: 1.5px solid var(--v3-line); border-radius: 12px; cursor: pointer; }
.v3-mode-card strong { display: block; font-size: .88rem; }.v3-mode-card small { display: block; margin-top: 5px; color: var(--v3-muted); font-size: .75rem; line-height: 1.7; }
.v3-design-note { margin: -9px 0 25px; color: var(--v3-muted); font-size: .82rem; }
.v3-assist-panel { margin-top: 28px; padding: 21px; border: 1px solid #c6d799; border-radius: 13px; background: #f6f9ef; }
.v3-assist-panel .v3-tag { margin-bottom: 9px; color: #38552d; background: #e5edce; }.v3-assist-panel .v3-field { margin-bottom: 0; }
.v3-materials { margin-top: 20px; padding-top: 18px; border-top: 1px solid #d4dfb9; }
.v3-materials:focus-within .v3-material-upload { outline: 3px solid var(--v3-blue); outline-offset: 4px; }
.v3-material-upload { cursor: pointer; }.v3-materials > p { margin: 12px 0 0; color: var(--v3-muted); font-size: .75rem; line-height: 1.75; }
.v3-material-list { display: grid; gap: 10px; margin: 15px 0 0; padding: 0; list-style: none; }
.v3-material-list:empty { display: none; }
.v3-material-card { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 10px; border: 1px solid #ccd8b2; border-radius: 9px; background: #fff; }
.v3-material-card img { width: 55px; height: 55px; object-fit: contain; border: 1px solid var(--v3-line); border-radius: 5px; }
.v3-material-card :is(span,strong,p) { flex: 1 1 110px; margin: 0; font-size: .78rem; }
.v3-material-list button { min-height: 40px; padding: 6px 10px; border: 1px solid #d5b1ad; border-radius: 7px; color: #b42318; background: #fff; font-size: .74rem; }
.v3-services { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; margin-top: 30px; padding: 18px; border: 1px solid var(--v3-line); border-radius: 12px; background: #f7f9fd; }
.v3-services h3 { margin: 0; font-size: .95rem; }.v3-services p { margin: 5px 0 0; color: var(--v3-muted); font-size: .75rem; }
.v3-service-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v3-service-links a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 8px 11px; border: 1px solid #adbbd3; border-radius: 9px; background: #fff; color: var(--v3-ink); font-size: .8rem; font-weight: 800; text-decoration: none; }
.v3-service-links a:last-child { border-color: #a5bb68; background: #eaf1d2; }.v3-service-links a:hover { border-color: var(--v3-blue); }.v3-service-links a span { color: var(--v3-blue); }
.v3-contact-section { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--v3-line); }
.v3-project-mode-section { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--v3-line); }
.v3-project-mode-section .v3-choice-group { margin-bottom: 15px; }
.v3-mode-settings { margin-top: 18px; padding: 20px; border: 1px solid #ccd8b4; border-radius: 12px; background: #f8faF2; }
.v3-project-settings-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 0 18px; }
.v3-project-settings-fields .v3-field { margin-bottom: 18px; }
.v3-mode-path-summary { margin: 0 0 18px; color: #3a5239; font-size: .8rem; font-weight: 700; }
.v3-direct-note { margin: 0 0 18px; padding: 13px; border: 1px solid #d6dced; border-radius: 9px; background: #fff; color: #52617c; font-size: .79rem; }
.v3-direct-note strong { display: block; margin-bottom: 4px; color: var(--v3-ink); }
.v3-production-note { display: flex; align-items: flex-start; gap: 11px; padding-top: 16px; border-top: 1px solid #d6dfc6; }
.v3-production-note > span { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; margin-top: 1px; border-radius: 50%; background: #c8df86; color: #2a3d21; font-size: .88rem; font-weight: 900; }
.v3-production-note p { margin: 0; color: #58694e; font-size: .76rem; }.v3-production-note strong { display: block; margin-bottom: 5px; color: #354a2c; }
.v3-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }.v3-field-full { grid-column: 1/-1; }
.v3-consent { display: flex; align-items: flex-start; gap: 10px; padding: 16px; border: 1px solid var(--v3-line); border-radius: 10px; color: #50617e; background: #f7f9fd; font-size: .79rem; cursor: pointer; }
.v3-consent > input { width: 20px; height: 20px; margin-top: 4px; flex: 0 0 20px; accent-color: var(--v3-blue); }
.v3-review-reminder { margin: 20px 0; color: #58677f; font-size: .82rem; }
.v3-submit-note { padding: 14px 16px; border-left: 3px solid #e9ca71; border-radius: 0 9px 9px 0; background: #fff8df; color: #61552f; font-size: .79rem; }.v3-submit-note p { margin: 5px 0 0; }
.v3-recovery-note { margin: 15px 0; padding: 14px; border: 1px solid #dfc87f; border-radius: 9px; background: #fff8df; color: #61552f; font-size: .79rem; }
.v3-recovery-note a { color: #9c2925; font-weight: 800; text-underline-offset: 4px; }
.v3-summary { display: grid; gap: 16px; }
.v3-summary > section, .v3-summary > article, .v3-summary-card { padding: 18px; border: 1px solid var(--v3-line); border-radius: 12px; background: #fafbfe; }
.v3-summary h3 { margin: 0 0 12px; font-size: 1.05rem; }.v3-summary h4 { margin: 0 0 9px; font-size: .94rem; }
.v3-summary p { margin: 8px 0; font-size: .84rem; line-height: 1.8; }
.v3-summary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin: 0; }.v3-summary dl > div { min-width: 0; }
.v3-summary dt, .v3-summary-label { color: var(--v3-muted); font-size: .74rem; }.v3-summary dd { margin: 4px 0 0; font-weight: 800; font-size: .87rem; }
.v3-summary button { min-height: 40px; max-width: 100%; padding: 6px 10px; border: 1px solid #acbbd5; border-radius: 7px; color: var(--v3-blue); background: #fff; font-size: .75rem; font-weight: 700; }
.v3-summary figure { margin: 0; }.v3-summary figure img, .v3-summary-media img { display: block; width: 100%; max-height: 240px; object-fit: contain; border: 1px solid var(--v3-line); border-radius: 8px; background: #fff; }.v3-summary figcaption { margin-top: 6px; color: var(--v3-muted); font-size: .73rem; }
.v3-summary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.v3-summary-media { min-width: 0; }
.v3-muted { color: var(--v3-muted); }
.v3-success-mark { display: grid; place-items: center; width: 65px; height: 65px; margin: 0 0 22px; border: 1.5px solid #8ea64f; border-radius: 50%; color: #294628; background: #dcebb1; font-size: 2rem; }

/* Keep the existing editor geometry, controls and sticky preview, without an
   additional numbered flow inside the new three-step journey. */
.v3-flow-page #v3-local-editor .ulpe, .v3-flow-page #v3-sublimation-picker .ulpe { margin: 0; padding: 22px; border: 1px solid var(--v3-line); border-radius: 13px; }
.v3-flow-page #v3-local-editor .ulpe-heading, .v3-flow-page #v3-local-editor .ulpe-step-badge, .v3-flow-page #v3-local-editor .ulpe-flow-arrow { display: none; }
.v3-flow-page #v3-local-editor .ulpe-step-title { margin-top: 18px; font-size: .94rem; }
.v3-flow-page #v3-local-editor .ulpe-settings > :first-child .ulpe-step-title { margin-top: 0; }
.v3-flow-page #v3-local-editor .ulpe-workspace { gap: 22px 20px; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); }
.v3-flow-page #v3-local-editor .ulpe-preview-rail { top: 16px; }
.v3-flow-page #v3-local-editor.is-assistance :is(.ulpe-adjustments,.ulpe-confirm-panel,.ulpe-preview-selection,.ulpe-preview-feedback) { display: none; }
.v3-flow-page #v3-local-editor .ulpe-confirm-panel { display: none; }
.v3-flow-page #v3-local-editor .ulpe-option { padding: 13px 10px; }
.v3-flow-page #v3-local-editor .ulpe-package-diagrams { gap: 6px; }
.v3-flow-page #v3-local-editor .ulpe-package-side { min-width: 0; font-size: .66rem; }
.v3-flow-page #v3-local-editor .ulpe-settings .ulpe-mini-shirt { width: clamp(55px, 5.2vw, 82px); }
.v3-flow-page #v3-local-editor :is(.ulpe-field select,.ulpe-field input:not([type=range]):not([type=color])) { min-height: 48px; font-size: 16px; }
.v3-flow-page #v3-sublimation-picker .ulpe > h3 { margin-top: 0; font-size: 1.15rem; }
.v3-flow-page #v3-sublimation-picker .ulpe-choice-section { margin-top: 24px; }
.v3-flow-page #v3-sublimation-picker .ulpe-sublimation-option-price { line-height: 1.6; }

@media (min-width: 1565px) { .v3-flow-page #v3-local-editor .ulpe-settings .ulpe-mini-shirt { width: 82px; } }
@media (max-width: 1200px) and (min-width: 1001px) {
  .v3-header, .v3-comparison-banner, .v3-builder { width: calc(100% - 40px); }
  .v3-builder { grid-template-columns: 205px minmax(0,1fr); gap: 20px; }.v3-sidebar { padding: 23px 16px; }.v3-sidebar h1 { font-size: 1.43rem; }.v3-sidebar .v3-eyebrow { font-size: .52rem; }.v3-main-panel { padding: 25px; }
  .v3-services { grid-template-columns: 1fr; }
  .v3-flow-page #v3-local-editor .ulpe { padding: 16px; }.v3-flow-page #v3-local-editor .ulpe-workspace { column-gap: 14px; }
  .v3-flow-page #v3-local-editor .ulpe-position-fields { grid-template-columns: 1fr; }.v3-flow-page #v3-local-editor .ulpe-field { font-size: .82rem; }
}
@media (max-width: 1000px) {
  .v3-header, .v3-comparison-banner, .v3-builder { width: calc(100% - 36px); }
  .v3-builder { grid-template-columns: minmax(0,1fr); gap: 18px; margin-bottom: 45px; }
  .v3-sidebar { position: static; padding: 18px; border-radius: 17px; }
  .v3-sidebar-intro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 20px; }
  .v3-sidebar .v3-eyebrow { margin: 0; font-size: .59rem; }.v3-sidebar h1 { margin: 0; font-size: 1.15rem; }.v3-sidebar h1 br { display: none; }.v3-sidebar-intro > p:last-child { display: none; }
  .v3-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-top: 15px; }
  .v3-progress button { grid-template-columns: 32px minmax(0,1fr) 23px; gap: 8px; min-height: 68px; padding: 8px; }.v3-progress button b { width: 32px; height: 32px; font-size: .72rem; }.v3-progress button span { font-size: .83rem; }.v3-progress button small { font-size: .65rem; }
  .v3-progress button + button::before { top: 50%; left: -15px; width: 14px; color: #bac7df; font-size: 14px; line-height: 1; text-align: center; transform: translateY(-50%); content: "→"; }
  .v3-progress button.is-complete .v3-progress-status { display: none; }
  .v3-sidebar-note { display: none; }
  .v3-main-panel { padding: 30px; border-radius: 17px; }
  .v3-flow-page #v3-local-editor .ulpe-workspace { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .v3-flow-page #v3-local-editor .ulpe-preview-rail { position: static; }
  .v3-flow-page #v3-local-editor .ulpe-live-summary { top: 8px; }
  .v3-flow-page #v3-local-editor .ulpe-settings .ulpe-mini-shirt { width: clamp(64px,16vw,110px); }
  .v3-flow-page #v3-local-editor .ulpe-selectors { grid-template-columns: repeat(2,minmax(0,1fr)); }.v3-flow-page #v3-local-editor .ulpe-step-title { grid-column: 1/-1; }
  .v3-flow-page #v3-local-editor .ulpe-preview { max-width: 400px; }
}
@media (max-width: 640px) {
  .v3-header, .v3-comparison-banner, .v3-builder { width: calc(100% - 24px); }
  .v3-header { padding: 19px 2px; gap: 14px; }.v3-header .v2-brand span { font-size: 1.55rem; }.v3-header .v2-brand small { font-size: .59rem; }.v3-header nav { gap: 0 14px; }.v3-header nav a { min-height: 36px; font-size: .72rem; }
  .v3-comparison-banner { display: block; margin-bottom: 16px; padding: 12px; }.v3-comparison-tag { font-size: .7rem; }.v3-comparison-banner p { margin-top: 7px; font-size: .74rem; }
  .v3-sidebar { padding: 12px; }.v3-sidebar .v3-eyebrow { display: none; }.v3-sidebar h1 { font-size: 1rem; }.v3-progress { gap: 11px; margin-top: 12px; }.v3-progress button { grid-template-columns: minmax(0,1fr); justify-items: center; gap: 5px; min-height: 79px; padding: 8px 3px; text-align: center; }.v3-progress button b { width: 27px; height: 27px; font-size: .66rem; }.v3-progress button span { font-size: .72rem; }.v3-progress button small, .v3-progress .v3-progress-icon { display: none; }
  .v3-progress button + button::before { left: -12px; width: 11px; font-size: 11px; }.v3-progress button:is(.is-current, [aria-current=step]) { box-shadow: inset 0 -3px var(--v3-step-color); }
  .v3-main-panel { padding: 22px 17px; }.v3-panel-heading { margin-bottom: 24px; }.v3-panel-heading h2 { font-size: 1.7rem; line-height: 1.4; }.v3-panel-heading > p:last-child { font-size: .84rem; margin-top: 12px; }.v3-eyebrow { font-size: .7rem; margin-bottom: 11px; }
  .v3-field { margin-bottom: 22px; }.v3-field > label, .v3-choice-group > legend { font-size: .91rem; }.v3-field :is(input,textarea,select) { padding: 11px 12px; }.v3-field > small { font-size: .72rem; }
  .v3-reference-section { margin: 25px 0; }.v3-section-heading h3 { font-size: 1rem; }.v3-section-heading p { font-size: .78rem; }.v3-reference-stage,.v3-reference-placeholder { min-height: 200px; }.v3-reference-stage img { max-height: 270px; }.v3-reference-placeholder { padding: 16px 10px; }.v3-reference-placeholder strong { font-size: .94rem; }.v3-reference-placeholder small { font-size: .7rem; }.v3-reference-controls { align-items: flex-start; }.v3-reference-controls > div { gap: 3px 12px; }.v3-reference-note { font-size: .74rem; padding: 11px 12px; }
  .v3-actions { align-items: stretch; flex-direction: column; gap: 15px; margin-top: 26px; padding-top: 18px; }.v3-actions > .v3-primary { order: -1; width: 100%; }.v3-actions > .v3-text-button { align-self: flex-start; }.v3-primary { font-size: .87rem; padding: 13px 12px; gap: 10px; }.v3-button { font-size: .82rem; }
  .v3-reference-context { grid-template-columns: 58px minmax(0,1fr); gap: 10px; padding: 12px; margin-bottom: 24px; }.v3-reference-context > img { width: 58px; height: 70px; }.v3-reference-context .v3-tag { font-size: .62rem; }.v3-reference-context strong { font-size: .74rem; }.v3-reference-context .v3-button { padding: 7px 8px; font-size: .71rem; }
  .v3-route-options, .v3-mode-options { grid-template-columns: minmax(0,1fr); gap: 12px; }.v3-choice-card { padding: 16px 13px; }.v3-choice-content { grid-template-columns: 51px minmax(0,1fr); column-gap: 13px; align-items: center; }.v3-choice-icon { grid-column: 1; grid-row: 1 / span 3; width: 51px; height: 64px; margin: 0; }.v3-choice-content > strong,.v3-choice-content > span:not(.v3-choice-icon),.v3-choice-content > small { grid-column: 2; }.v3-choice-content > strong { font-size: 1.03rem; }.v3-choice-content > span:not(.v3-choice-icon) { font-size: .8rem; }.v3-choice-content > small { margin-top: 4px; font-size: .71rem; }.v3-mode-card { padding: 13px 12px; }.v3-mode-card strong { font-size: .83rem; }.v3-mode-card small { font-size: .72rem; }
  .v3-design-note { font-size: .76rem; }.v3-assist-panel { padding: 16px 12px; }.v3-services { grid-template-columns: minmax(0,1fr); padding: 14px 12px; gap: 13px; }.v3-service-links a { font-size: .77rem; padding: 8px; gap: 6px; }.v3-services p { font-size: .73rem; }
  .v3-contact-fields, .v3-project-settings-fields { grid-template-columns: minmax(0,1fr); gap: 0; }.v3-consent { padding: 12px; font-size: .73rem; }.v3-review-reminder { font-size: .76rem; }.v3-submit-note, .v3-recovery-note { font-size: .74rem; }
  .v3-mode-settings { padding: 15px 12px; }.v3-direct-note { padding: 11px; font-size: .74rem; }.v3-mode-path-summary, .v3-production-note p { font-size: .72rem; }.v3-production-note { gap: 8px; }
  .v3-summary > section,.v3-summary > article,.v3-summary-card { padding: 14px 12px; }.v3-summary dl,.v3-summary-grid { grid-template-columns: minmax(0,1fr); gap: 13px; }.v3-summary h3 { font-size: .98rem; }.v3-summary p { font-size: .78rem; }
  .v3-flow-page #v3-local-editor .ulpe, .v3-flow-page #v3-sublimation-picker .ulpe { padding: 14px 10px; }
  .v3-flow-page #v3-local-editor .ulpe-selectors { grid-template-columns: minmax(0,1fr); }.v3-flow-page #v3-local-editor .ulpe-step-title { gap: 0; font-size: .9rem; }
  .v3-flow-page #v3-local-editor .ulpe-add-actions { grid-template-columns: minmax(0,1fr); }.v3-flow-page #v3-local-editor .ulpe-live-summary { grid-template-columns: 68px minmax(0,1fr); gap: 7px; padding: 7px; }.v3-flow-page #v3-local-editor .ulpe-summary-stage { width: 68px; height: 68px; }.v3-flow-page #v3-local-editor .ulpe-summary-copy > strong,.v3-flow-page #v3-local-editor .ulpe-summary-name { font-size: .69rem; }.v3-flow-page #v3-local-editor .ulpe-enlarge-preview { min-height: 34px; padding: 4px 7px; font-size: .68rem; }
  .v3-flow-page #v3-local-editor .ulpe-position-fields { grid-template-columns: minmax(0,1fr); }.v3-flow-page #v3-local-editor .ulpe-layer-choice { font-size: .78rem; }.v3-flow-page #v3-local-editor .ulpe-preview-help { font-size: .72rem; }
  .v3-flow-page #v3-sublimation-picker .ulpe-methods { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 360px) {
  .v3-header { gap: 8px; }.v3-header nav { gap: 0 9px; }.v3-header nav a { font-size: .67rem; }.v3-header .v2-brand span { font-size: 1.4rem; }.v3-header .v2-brand small { font-size: .53rem; }
  .v3-main-panel { padding: 20px 13px; }.v3-panel-heading h2 { font-size: 1.48rem; }.v3-progress button span { font-size: .66rem; }.v3-choice-card { gap: 8px; padding: 14px 10px; }.v3-choice-content { grid-template-columns: 43px minmax(0,1fr); gap: 4px 9px; }.v3-choice-icon { width: 43px; height: 59px; font-size: .8rem; }.v3-icon-local { font-size: 1.8rem; }
  .v3-reference-controls { flex-wrap: wrap; }.v3-service-links { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) { .v3-flow-page, .v3-flow-page * { scroll-behavior: auto !important; } }
