*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#233d36;background:#f6f5f0;font-synthesis:none;--green:#244c40;--muted:#67736d;--line:#dde2d9;--orange:#bb623a}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-button:focus-within{outline:3px solid #bf7248;outline-offset:3px}[hidden]{display:none!important}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1450px)/2));background:#fffefa}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:21px;letter-spacing:-.5px}.brand-mark{width:28px;height:28px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.brand-mark i{background:var(--green);border-radius:2px}.brand-mark i:last-child{background:#c48258}.prototype{font-size:9px;letter-spacing:1.3px;background:#eeeae1;border-radius:4px;padding:6px 8px;margin-left:5px}.privacy{font-size:12px;color:#526559;display:flex;gap:8px;align-items:center}.privacy span{color:#629670;font-size:9px}main{max-width:1450px;margin:auto;padding:35px 28px 40px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:31px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--orange);font-weight:700;margin:0 0 10px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,2.6vw,39px);letter-spacing:-.8px;margin:0 0 12px}.intro p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6;margin:0}.intro-actions{display:flex;gap:9px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:42px;border:1px solid transparent;border-radius:7px;padding:10px 16px;font-size:12px;font-weight:600;line-height:1.3;text-decoration:none}.secondary{background:#fffefa;border-color:#d4dcd3;color:#334f43}.secondary:hover:not(:disabled){background:#eef1e9;border-color:#9cae9e}.primary{background:var(--green);color:#fff;min-width:136px}.primary:hover:not(:disabled){background:#163d30}.small{min-height:35px;padding:8px 12px;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(330px,425px) minmax(0,1fr);gap:34px;align-items:start}.editor{min-width:0}.panel{background:#fffefa;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:18px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}h2{font-size:16px;font-weight:600;margin:0;letter-spacing:-.2px}.step{font-size:10px;letter-spacing:.5px;color:var(--orange);background:#f4e9de;border-radius:50%;width:27px;height:27px;display:flex;align-items:center;justify-content:center}.count-badge{margin-left:auto;border:1px solid var(--line);border-radius:20px;padding:4px 8px;font-size:10px;color:var(--muted);white-space:nowrap}label{display:block;font-size:11px;font-weight:600;margin:13px 0 7px}.optional{font-weight:400;color:#788079;margin-left:4px}input,textarea,select{width:100%;border:1px solid #d8ddd4;border-radius:6px;background:#fff;color:#263e34;padding:11px 10px;font-size:13px;min-width:0}textarea{resize:vertical;line-height:1.5}input:hover,textarea:hover,select:hover{border-color:#adbcad}.field-pair{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.help{font-size:10.5px;line-height:1.65;color:var(--muted);margin:11px 0 0}.dropzone{border:1px dashed #afbdab;border-radius:8px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 12px;background:#f6f8f1;gap:7px}.dropzone.dragover{background:#e5eddf;border-color:#2c5f42}.dropzone strong{font-size:12px}.dropzone>span:not(.upload-symbol){font-size:11px;color:var(--muted)}.upload-symbol{width:30px;height:30px;border:1px solid #b9c5b0;border-radius:50%;font-size:23px;line-height:28px;margin-bottom:4px;color:#4f7255}.file-button{position:relative;margin:5px 0 0;overflow:hidden;cursor:pointer}.file-button input{position:absolute;opacity:0;width:100%;height:100%;inset:0;padding:0;cursor:pointer}.csv-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:18px}.text-button{background:none;border:0;padding:6px 0;color:#4d6b4e;text-decoration:underline;text-underline-offset:3px;font-size:11px}.csv-help{margin-top:14px;font-size:11px;line-height:1.65;color:var(--muted)}summary{cursor:pointer;color:#4b6052}code{font-family:Consolas,monospace;color:#304b3b;overflow-wrap:anywhere}.list-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;font-size:12px}.sample-badge{font-size:9px;background:#ede5d5;padding:4px 7px;border-radius:4px;color:#745c3a;white-space:nowrap}.product{border-top:1px solid #e7e9e0;padding:17px 0 13px;margin-top:12px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px}.thumb{height:83px;width:68px;object-fit:contain;background:#f3f1e9;border-radius:6px;margin-top:4px}.product-fields{min-width:0}.product label{margin:0 0 5px;font-size:9px;font-weight:400}.product input{font-size:12px;padding:8px}.product .field-pair{grid-template-columns:1fr 1fr;margin-top:9px;gap:8px}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;color:#798176;font-size:9px}.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.remove{background:none;border:0;color:#836551;font-size:10px;padding:7px;flex-shrink:0;text-decoration:underline}.issue{color:#a0412b;font-size:10px;line-height:1.6;margin:7px 0 0;overflow-wrap:anywhere}.invalid{border-color:#b45038!important;background:#fff9f4}.local-note{font-size:11px;line-height:1.8;color:#7c8278;padding:0 5px}.preview-area{position:sticky;top:18px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:7px 4px 18px}.preview-toolbar .eyebrow{font-size:9px;margin-bottom:7px;color:#84917d}.preview-toolbar h2{font-size:18px}.paper-badge{font-size:10px;border:1px solid #ccd4c8;padding:6px 9px;border-radius:4px;color:#6c7966}.preview-stage{background:#e9ecdf;border:1px solid #e0e4d5;border-radius:11px;padding:28px;display:flex;align-items:center;justify-content:center;min-height:350px;background-image:radial-gradient(#bfc9b440 .8px,transparent .8px);background-size:8px 8px}canvas#preview{max-width:100%;width:auto;height:auto;max-height:690px;box-shadow:0 6px 24px #2635231c;background:white;display:block}.preview-nav{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 0;font-size:11px;color:#697461}.preview-nav .button{background:transparent;min-width:34px}.export-card{padding:18px 21px;border:1px solid #dce2d5;border-radius:9px;background:#fffefa;display:flex;gap:14px;align-items:center;justify-content:space-between}.export-card h3{font-size:14px;margin:0 0 6px}.export-card p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.preview-note{text-align:center;color:#85907d;font-size:10px;line-height:1.7;margin-top:13px}.status{background:#edf3e8;border:1px solid #b8c9ac;padding:13px 16px;border-radius:7px;font-size:12px;line-height:1.7;white-space:pre-line;margin:0 0 20px;overflow-wrap:anywhere}.status.error{background:#fff0e6;border-color:#d8a78a;color:#92432a}.empty-state{text-align:center;padding:35px 10px;color:var(--muted);font-size:12px;line-height:1.7}.empty-state strong{color:var(--green)}#previewEmpty{text-align:center;padding:80px 5px;color:#6f7b65}#previewEmpty>span{font-size:46px;color:#9daa8b}#previewEmpty h3{font-family:Georgia,serif;font-size:22px;font-weight:400}#previewEmpty p{font-size:12px}.csv-review{margin-top:18px;border:1px solid #d6bb97;border-radius:7px;background:#fff9ef;padding:12px;font-size:11px;line-height:1.6}.csv-review h3{font-size:12px;margin:0 0 8px}.csv-review ul{padding-left:15px;max-height:200px;overflow:auto;overflow-wrap:anywhere}.csv-review .review-actions{display:flex;gap:8px;flex-wrap:wrap}.csv-review .success{color:#3f653a}footer{max-width:1394px;margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:#929789;font-size:10px}body.busy .editor{pointer-events:none;opacity:.7}body.busy .intro-actions{pointer-events:none;opacity:.7}@media(min-width:1500px){canvas#preview{max-height:740px}}@media(max-width:1050px){.workspace{grid-template-columns:350px minmax(0,1fr);gap:20px}.panel{padding:18px}.preview-stage{padding:18px}.intro{align-items:flex-start}h1{font-size:30px}footer{margin:0 28px}}@media(max-width:820px){.topbar{height:68px;padding:0 20px}.brand{font-size:18px;gap:8px}.privacy{font-size:10px}.prototype{display:none}main{padding:25px 18px}.intro{display:block}.intro-actions{margin-top:18px}.workspace{grid-template-columns:1fr;gap:18px}.preview-area{position:static;grid-row:1}.preview-stage{padding:20px;min-height:250px}canvas#preview{max-height:560px;max-width:100%}.editor{grid-row:2}.intro p:not(.eyebrow){font-size:12px}.panel{padding:20px}.product{grid-template-columns:72px minmax(0,1fr)}.thumb{width:72px;height:88px}.export-card{padding:16px}.preview-note{font-size:9px}footer{margin:0 18px;display:block;line-height:1.8}footer span{display:block}}@media(max-width:400px){h1{font-size:27px}.topbar{padding:0 14px}.privacy{font-size:9px}.brand{font-size:16px}.brand-mark{width:22px;height:22px}.field-pair{gap:8px}.button{padding:10px 12px}.primary{min-width:120px}.preview-stage{padding:12px}.csv-actions{flex-wrap:wrap}.panel{padding:17px}}

/* Readable guidance and narrow-screen form constraints. */
.information-page{max-width:820px;padding-top:48px;padding-bottom:60px;line-height:1.8;overflow-wrap:anywhere}
.information-page section{margin-top:30px}
.information-page h2{font-size:19px;line-height:1.4}
.information-page p{font-size:15px;color:var(--muted)}
.information-page .information-date{font-size:12px}
footer a{color:#4b6052}
.usage-guide{border:1px solid var(--line);border-radius:8px;background:#fffefa;padding:0 17px;margin:0 0 12px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.usage-guide>summary{min-height:44px;padding:12px 0;font-weight:600}
.quick-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px;padding-left:20px;margin:7px 0 20px}
.quick-steps li{padding-left:3px}
.guide-notes{border-top:1px solid var(--line);color:var(--muted);padding:2px 0 9px}
.guide-notes strong{color:#334f43}
.session-note{font-size:11px;line-height:1.7;color:#6d715e;margin:0 0 23px;overflow-wrap:anywhere}
.field-pair{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.field-pair>div{min-width:0}
.product .field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-heading h2{min-width:0;line-height:1.4}
.step,.count-badge{flex-shrink:0}
.help{overflow-wrap:anywhere}
@media(max-width:820px){
  .quick-steps{grid-template-columns:minmax(0,1fr);gap:13px}
  input,select,textarea,.product input{font-size:16px;min-height:44px}
  label,.product label,.help,.local-note,.preview-note,.session-note{font-size:12px}
  .button,.text-button,.remove,summary{min-height:44px}
  .preview-nav .button{min-width:44px}
  .text-button,.remove{padding:10px 4px}
  .issue{font-size:12px}
  .csv-actions{flex-wrap:wrap}
  .csv-help{font-size:12px}
}
@media(max-width:400px){
  .panel>.field-pair,.product .field-pair{grid-template-columns:minmax(0,1fr)}
  .export-card{flex-direction:column;align-items:stretch}
  .export-card .button{width:100%}
  .brand,.privacy{min-width:0}
  .topbar{gap:10px}
}
