:root{--ink:#282c26;--muted:#687064;--paper:#fbfaf6;--yellow:#f4cf65;--green:#e9eee3;--border:#e3e5dc;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #526b37;outline-offset:4px}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-2px}h2{font-size:34px}h3{font-size:18px}.wrap{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-weight:800;font-size:23px;letter-spacing:-1px;display:inline-flex;align-items:center;white-space:nowrap}.brand-light{font-weight:400}.brand-dot{align-self:flex-start;font-size:10px;margin:8px 0 0 3px}.brand-mark{height:30px;width:31px;margin-right:10px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 8px,transparent 8px 11px);border-radius:2px}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.header-cta{font-size:12px;font-weight:700;border:1px solid var(--border);padding:10px 15px;border-radius:7px}.header-cta span{margin-left:12px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px;padding-top:38px;padding-bottom:72px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.55px;margin-bottom:18px}.hero .eyebrow{display:flex;align-items:center;gap:8px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#6d7d4e}.hero h1{font-size:64px;font-weight:750;line-height:1.08;letter-spacing:-3.9px}.underline{position:relative;z-index:0;white-space:nowrap}.underline:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:13px;border-radius:55%;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.hero-description{color:var(--muted);font-size:15px;line-height:1.8;margin:25px 0}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:8px;padding:15px 23px;font-weight:700;font-size:13px;transition:background .2s,transform .2s}.primary{background:var(--yellow)}.primary:hover{background:#eac04e;transform:translateY(-1px)}.hero-perks{display:flex;gap:17px;font-size:10px;color:#626957;margin-top:20px}.hero-art{position:relative;height:360px;padding:0 22px 10px 35px}.photo-frame{height:335px;width:100%;overflow:hidden;border-radius:130px 130px 18px 18px;background:#e5dbc6;transform:rotate(3deg)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.sunburst{position:absolute;left:2px;top:5px;font-size:89px;line-height:1;color:#596a43;transform:rotate(12deg)}.photo-note{position:absolute;right:-3px;top:28px;background:#eef1e6;font-family:Georgia,serif;font-size:17px;line-height:1.25;transform:rotate(8deg);padding:17px 20px;border-radius:4px;box-shadow:0 3px 8px #0000000a}.photo-note span{position:absolute;bottom:-23px;right:0;font-size:36px}.floating-label{position:absolute;bottom:-5px;left:5px;width:235px;background:#fff;padding:19px 26px 12px;border:1px solid #e8e4d8;box-shadow:0 10px 20px #3c352015;border-radius:8px;transform:rotate(-7deg);text-align:center}.floating-label>span{font-size:8px;letter-spacing:1px;font-weight:700}.floating-label svg{width:100%;height:66px;display:block;margin:6px 0}.floating-label small{font-size:8px;color:var(--muted)}.floating-label i{position:absolute;right:-13px;top:-12px;font-style:normal;background:var(--yellow);width:32px;height:32px;border-radius:50%;border:4px solid var(--paper);font-weight:700}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:30px;letter-spacing:-1.2px}.privacy-note{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.privacy-note>span{font-size:20px}.generator-card{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 7px 22px #393e2310}.mode-tabs{display:flex;gap:25px;padding:0 28px;border-bottom:1px solid var(--border);background:#fefefc}.mode-tabs button{border:none;background:none;padding:19px 0 17px;font-size:13px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px}.mode-tabs button[aria-selected=true]{border-color:#5f704a;color:var(--ink);font-weight:700}.mode-tabs button>span:first-child{font-size:20px;line-height:1}.small-tag{background:#eceee6;border-radius:4px;padding:1px 5px;font-size:9px}.workspace{display:grid;grid-template-columns:1.23fr 1fr}.editor{padding:28px 30px 24px}fieldset{padding:0;margin:0;border:0;min-width:0}label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}input:not([type=checkbox]):not([type=file]):not([type=radio]),select,textarea{width:100%;border:1px solid #d9ddd2;border-radius:7px;background:#fff;color:var(--ink);padding:11px 13px;min-height:45px}textarea{resize:vertical;line-height:1.6}#value{font-size:15px;letter-spacing:.3px}.hint{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.6}.form-row{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:23px}.form-row select{font-size:11px;padding-left:10px}.optional{font-size:10px;color:#777e70;font-weight:400}.type-hint{min-height:16px;margin-bottom:24px}.template-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.template-heading label{margin:0}.templates{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.template{padding:8px 4px 5px;border:1px solid var(--border);background:white;border-radius:8px;font-size:10px;min-width:0}.template.selected{border:1.5px solid #667c4c;background:#f1f4eb}.template-art{height:44px;margin:0 auto 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;width:90%;gap:4px}#label-field{margin-top:17px}.more-options{margin-top:23px;padding-top:15px;border-top:1px solid var(--border);font-size:11px}.more-options summary{display:flex;justify-content:space-between;cursor:pointer;color:var(--muted)}.more-options .form-row{margin-top:12px}.checkbox{display:flex;align-items:center;gap:7px;font-size:11px;padding-top:20px}.checkbox input{accent-color:#5b7045}.preview-panel{background:#f5f6f0;border-left:1px solid var(--border);padding:25px 28px;display:flex;flex-direction:column;min-width:0}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.preview-heading h3{font-size:12px}.live-badge{font-size:9px;color:#5b6d45;background:#e7eddf;padding:2px 8px;border-radius:20px;display:flex;align-items:center;gap:5px}.live-badge i{width:4px;height:4px;background:#6c8750;border-radius:50%}.preview-stage{flex:1;min-height:225px;background-image:radial-gradient(#cbd1c2 1px,transparent 1px);background-size:12px 12px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:23px 15px;overflow:hidden}#barcode-preview{width:100%}#barcode-preview > svg{display:block;width:auto;height:auto;max-width:100%;max-height:260px;margin:auto}#preview-empty{font-size:12px;color:var(--muted)}.preview-meta{display:flex;justify-content:space-between;color:#727969;font-size:9px;letter-spacing:.5px;margin:13px 0 22px}.download{width:100%;gap:10px;padding:14px 17px;min-height:48px}.download-ext{font-size:10px;margin-left:auto;font-weight:400}.download-note{font-size:9px;text-align:center;color:var(--muted);margin-top:10px}#status{font-size:11px;color:#415930;margin-top:8px;min-height:0}#status:empty{display:none}.error{font-size:11px;color:#8d332f;background:#fff0eb;padding:10px;border-radius:7px;margin-bottom:12px;white-space:pre-line;overflow-wrap:anywhere}.bulk-summary{font-size:11px;margin-bottom:10px}.generator-bottom{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 28px;font-size:9px;color:var(--muted)}.upload-row{display:flex;align-items:center;gap:15px;margin-top:10px}.upload-button{border:1px dashed #9ba88c;border-radius:5px;padding:5px 10px;font-size:10px;margin:0;cursor:pointer}.text-button{background:none;border:0;font-size:11px;color:#50683a;padding:6px;text-decoration:underline;text-underline-offset:3px}.how-section{padding-top:70px;padding-bottom:65px}.how-section .section-heading h2{font-size:28px}.hand-note{font-family:Georgia,serif;font-style:italic;color:#6e795c;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:33px}.steps article{display:flex;align-items:flex-start;gap:15px}.step-number{font-family:Georgia,serif;font-size:22px;background:#efefdf;border-radius:50%;width:43px;height:43px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.steps h3{font-size:14px;margin:4px 0 10px}.steps p{font-size:12px;color:var(--muted);line-height:1.8}.story{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:10px;padding-bottom:25px}.story>img{width:100%;height:330px;object-fit:cover;border-radius:16px 0 0 16px}.story-copy{background:#e9eddf;padding:35px 40px;border-radius:0 16px 16px 0}.story-copy .eyebrow{font-size:9px;margin-bottom:13px}.story h2{font-size:35px;letter-spacing:-1.5px}.story-copy>p:not(.eyebrow){font-size:12px;color:#636f56;margin:15px 0;max-width:350px}.use-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:9px}.use-tags span{padding:4px 8px;border:1px solid #cfd6c2;border-radius:20px}.text-link{font-size:11px;font-weight:700;display:inline-block;margin-top:18px}.text-link span{margin-left:10px}.ad-space{margin-top:25px;margin-bottom:50px;text-align:center;color:#84897d}.ad-space span{font-size:8px;letter-spacing:2px}.ad-space p{font-size:10px;margin:3px 0 0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding-bottom:65px}.faq h2{font-size:36px;letter-spacing:-1.6px}.faq>div>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:18px}.faq-list details{border-bottom:1px solid var(--border);padding:16px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:'+';font-size:17px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.8}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:100px;font-size:9px;color:var(--muted)}footer .brand{font-size:18px;color:var(--ink)}footer .brand-mark{height:22px;width:24px}footer a:last-of-type:hover{text-decoration:underline}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;top:10px;left:10px;background:white;padding:10px;z-index:9}[hidden]{display:none!important}
@media(min-width:1400px){.wrap{max-width:1240px}.hero{padding-top:48px;padding-bottom:85px}.hero h1{font-size:70px}.hero-art{height:390px}.photo-frame{height:365px}}
@media(max-width:950px){.site-header nav{gap:18px}.hero h1{font-size:52px;letter-spacing:-2.5px}.hero-art{height:320px;padding-left:15px}.photo-frame{height:300px}.photo-note{right:0;font-size:14px}.hero-perks{gap:10px;font-size:9px}.hero-description{font-size:13px}.desktop-break{display:none}.editor{padding:24px 20px}.preview-panel{padding:24px 20px}.templates{gap:5px}.story-copy{padding:25px}.story h2{font-size:30px}.use-tags{font-size:8px}.steps{gap:20px}.hand-note{display:none}}
@media(max-width:720px){.wrap{padding-left:20px;padding-right:20px}.site-header{height:80px}.site-header nav{display:none}.header-cta{font-size:10px;padding:8px 10px}.header-cta span{margin-left:5px}.brand{font-size:20px}.brand-mark{width:25px;height:25px;margin-right:7px}.hero{padding-top:25px;padding-bottom:48px;grid-template-columns:1fr;gap:30px}.hero h1{font-size:54px;max-width:500px}.hero-description{font-size:14px;max-width:450px}.hero-perks{font-size:10px;gap:18px}.hero-art{height:290px;width:90%;max-width:450px;justify-self:center;padding-left:30px;padding-right:15px}.photo-frame{height:275px;border-radius:100px 100px 16px 16px}.photo-frame img{object-position:center 23%}.photo-note{top:20px;right:-5px}.floating-label{width:195px;padding:12px 20px;bottom:-5px}.floating-label svg{height:49px}.sunburst{font-size:74px;top:-8px;left:5px}.section-heading{display:block}.section-heading h2{font-size:27px}.privacy-note{margin-top:12px;font-size:10px}.workspace{grid-template-columns:1fr}.mode-tabs{padding:0 20px;gap:25px}.preview-panel{border-left:0;border-top:1px solid var(--border);padding:24px}.preview-stage{min-height:220px}#barcode-preview{max-width:420px}.editor{padding:24px}.template-art{height:48px}.generator-bottom{gap:10px;flex-direction:column;text-align:center;padding:12px}.how-section{padding-top:45px;padding-bottom:40px}.steps{grid-template-columns:1fr;gap:25px}.steps h3{font-size:16px}.steps p{font-size:13px}.story{grid-template-columns:1fr}.story>img{height:250px;border-radius:16px 16px 0 0}.story-copy{border-radius:0 0 16px 16px;padding:28px}.story-copy>p:not(.eyebrow){max-width:100%;font-size:13px}.use-tags{font-size:10px}.faq{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.faq h2{font-size:32px}.ad-space{margin-bottom:35px}footer{flex-wrap:wrap;justify-content:space-between;padding-top:25px;padding-bottom:25px}footer>span:first-of-type{display:none}.form-row{gap:10px}.form-row select{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:420px){.form-row{grid-template-columns:1fr}.form-row select{font-size:12px}.checkbox{padding-top:0}.hero h1{font-size:clamp(43px,13.5vw,54px)}.upload-row:focus-within .upload-button{outline:2px solid #526b37;outline-offset:3px}}



.upload-row:focus-within .upload-button{outline:2px solid #526b37;outline-offset:3px}
.template-art > svg { width: 100%; height: 100%; display: block; }
.label-style { display: flex; align-items: start; flex-wrap: wrap; gap: 16px 24px; margin-top: 20px; }
.label-style legend { padding: 0; margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.label-style select { min-height: 36px; font-size: 12px; padding: 6px 9px; }
.color-options { display: flex; flex-wrap: wrap; gap: 6px; }
.color-options label { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; min-width: 36px; margin: 0; font-size: 10px; font-weight: 400; cursor: pointer; }
.color-options input { appearance: none; width: 23px; height: 23px; margin: 2px; border: 2px solid white; border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 1px #0003; cursor: pointer; }
.color-options input:checked { outline: 2px solid var(--ink); outline-offset: 1px; }
.color-options input:focus-visible { outline: 3px dashed var(--ink); outline-offset: 2px; }
.color-options label:has(:checked) { font-weight: 700; }
@media (forced-colors: active) { .color-options input { appearance: auto; } }
#browse-types { margin: -12px 0 20px; font-size: 12px; }
#catalog { width: min(470px, 94vw); max-height: 78vh; border: 1px solid var(--border); border-radius: 14px; padding: 22px; color: var(--ink); }
#catalog::backdrop { background: #22291e66; }
#catalog-query:focus-visible { outline:none; border-color:#526b37; box-shadow:inset 0 0 0 1px #526b37; }
#catalog-results { margin-top:14px; }
.catalog-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.catalog-head button { background:none; border:none; font-size:24px; min-width:34px; }
#catalog-results h4 { margin:18px 0 6px; font-size:12px; color:var(--muted); }
#catalog-results button { display:block; width:100%; text-align:left; background:white; border:0; border-bottom:1px solid var(--border); padding:9px; }
#catalog-results button:hover, #catalog-results button:focus-visible { background:var(--green); }
.sequence-box { border:1px solid var(--border); padding:10px 12px; border-radius:8px; margin:12px 0 0; }
.sequence-box summary { cursor:pointer; font-weight:600; font-size:12px; }
.sequence-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0; }
#sequence-note { margin-left:8px; }
.workflow-fields .checkbox { padding-top:8px; }
@media(max-width:450px){ .sequence-fields{grid-template-columns:1fr 1fr;} }




.label-spacing { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:16px; }
.print-settings { border-top:1px solid var(--border); margin-top:20px; padding-top:18px; }
.print-settings h3 { font-size:15px; margin-bottom:14px; }
.print-settings select { font-size:12px; }
.print-size-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
#reset-print-size { margin-top:10px; }
.preview-meta { overflow-wrap:anywhere; }
.label-spacing label { margin-bottom:4px; }
.label-spacing select { min-height:36px; font-size:12px; padding:6px 9px; }
#advanced > summary { display:flex; align-items:center; gap:12px; justify-content:space-between; min-height:40px; font-size:14px; font-weight:700; color:var(--ink); }
#advanced > summary::before { content:'▸'; font-size:12px; }
#advanced[open] > summary::before { content:'▾'; }
#style-summary { margin-left:auto; font-weight:400; color:var(--muted); font-size:11px; }
#advanced[open] .template-heading { margin-top:16px; }
#compact-help { margin-top:12px; font-size:12px; color:var(--muted); }
#compact-help summary { cursor:pointer; }
#compact-help p { margin-top:7px; }
#browse-types { margin-bottom:4px; }

/* Readable helper copy and touch controls, including the narrow mobile layout. */
.hint,.optional,.privacy-note,.preview-meta,.download-note,.generator-bottom,
.hero-perks,.text-button,.checkbox,.template,.color-options label { font-size:12px; }
label { font-size:13px; }
.form-row select { font-size:12px; }
.upload-button { display:inline-block; background:#fff; color:var(--ink); font-size:12px; min-height:36px; padding:8px 10px; }
.text-button { min-height:36px; }
.upload-row { flex-wrap:wrap; gap:8px; }
.header-checkbox { padding-top:10px; margin-bottom:0; font-weight:400; }
#input-error,#import-error { margin-top:12px; font-size:12px; }
.error { font-size:12px; }
#keep-list { margin-bottom:8px; }
.preview-meta { gap:12px; flex-wrap:wrap; letter-spacing:0; }
.label-style > div { flex:1; min-width:170px; }
.label-spacing > div { flex:1; min-width:160px; }
.templates { align-items:stretch; }
.template { overflow-wrap:normal; line-height:1.35; }
.more-options summary { flex-wrap:wrap; }
#style-summary { font-size:12px; }
.mobile-menu { display:none; position:relative; }
.preview-stage { position:relative; flex:0 0 220px; height:220px; min-height:220px; padding:18px 12px; }
/* A definite stage and inset drawing box avoid percentage-height/flex cycles.
   SVG's default preserveAspectRatio fits the full label without stretching. */
#barcode-preview { position:absolute; inset:18px 12px; width:auto; height:auto; min-height:0; max-width:none; margin:0; }
#barcode-preview > svg { display:block; width:100%; height:100%; max-width:100%; max-height:100%; aspect-ratio:auto; }
/* Barcode artwork keeps the chosen paper and black ink in either page theme. */
.preview-stage, .template-art, #hero-barcode { color-scheme: only light; }
.brand-wordmark { display:grid; line-height:.95; text-align:center; }
.brand-wordmark .brand-light { margin-top:-5px; font-size:.87em; letter-spacing:-.5px; }
.tool-intro, .tool-links { padding-top:28px; padding-bottom:28px; }
.tool-intro h1 { font-size:clamp(30px, 6vw, 48px); }
.tool-intro p { margin-top:12px; color:var(--muted); max-width:65ch; }
.tool-links ul { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; padding:0; }
.tool-links a { display:inline-block; padding:6px 0; text-decoration:underline; text-underline-offset:3px; }
.privacy-content { max-width:850px; padding-top:20px; padding-bottom:45px; }
.privacy-content h1 { font-size:38px; }
.privacy-content h2 { margin-top:28px; font-size:23px; letter-spacing:-.5px; }
.privacy-content p { margin-top:14px; }
.privacy-content a { text-decoration:underline; overflow-wrap:anywhere; }
@media (min-width: 1280px) {
  .hero { grid-template-columns: minmax(0, 1fr) 577px; }
  .hero-art { height: 433px; }
  .photo-frame { height: 408px; }
  .floating-label { width: 260px; }
  .photo-note { font-size: 18px; }
}
#barcode-preview > svg { forced-color-adjust: none; }
#export-size-note { margin:8px 0 0; font-size:12px; color:var(--muted); }
@media(min-width:721px) {
  /* Keep the drawing area compact; Advanced grows through its own content. */
  .preview-panel { contain:none; min-height:0; }
  .preview-heading { margin-bottom:14px; }
  .preview-meta { margin:10px 0 8px; }
  #export-size-note { margin:0 0 10px; }
}
@media(max-width:720px) {
  .site-header { gap:12px; position:relative; }
  .site-header .header-cta { display:none; }
  .mobile-menu { display:block; }
  .mobile-menu summary { cursor:pointer; padding:8px 10px; border:1px solid var(--border); border-radius:6px; }
  .site-header .mobile-menu nav { display:flex; position:absolute; right:0; top:100%; z-index:5; min-width:160px; flex-direction:column; gap:0; padding:8px; background:#fff; border:1px solid var(--border); border-radius:8px; box-shadow:0 6px 16px #0001; }
  .mobile-menu nav a { padding:10px; }
  .hero { gap:22px; padding-top:15px; padding-bottom:35px; }
  .hero h1 { font-size:clamp(34px,10vw,45px); letter-spacing:-1.8px; }
  .hero-description { margin:18px 0; }
  .hero-art { height:220px; max-width:370px; }
  .photo-frame { height:205px; }
  .photo-note { font-size:12px; padding:12px; }
  .floating-label { width:175px; padding:9px 14px; }
  .floating-label svg { height:40px; }
  .hero-perks { flex-wrap:wrap; gap:6px 14px; }
  .privacy-note { font-size:12px; }
  .hint { font-size:13px; }
  .preview-panel { padding:20px; }
  .generator-bottom { text-align:left; }
}
@media(max-width:450px) {
  .templates { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .template { min-height:88px; }
  .hero-art { width:95%; }
  .mode-tabs { gap:18px; padding:0 16px; }
  .mode-tabs button { font-size:12px; }
  .editor { padding:20px; }
  #advanced > summary { gap:8px; }
  #style-summary { flex-basis:100%; padding-left:18px; margin-left:0; }
  .label-spacing > div { min-width:0; flex-basis:100%; }
}
