:root{color-scheme:light;--background:#fafafa;--foreground:#102d35;--card:#fff;--primary:#087f8c;--primary-soft:#e5f5f3;--muted:#536b73;--border:#dbe7e9;--secondary:#f0f6f6;--input:#fff;--shadow:0 4px 20px #102d3506;--good:#196943;--bad:#b42332;--notice:#edf8f7;--focus:#087f8c}
:root[data-theme=dark]{color-scheme:dark;--background:#0c1920;--foreground:#eef7f7;--card:#132830;--primary:#6fdbd2;--primary-soft:#163d43;--muted:#a6bdc3;--border:#2d4750;--secondary:#1d363e;--input:#142d35;--shadow:0 4px 20px #0002;--good:#8fe3af;--bad:#ff9da7;--notice:#163239;--focus:#6fdbd2}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 14%,#087f8c0c,transparent 44%),radial-gradient(ellipse at 96% 70%,#15a99b09,transparent 44%),var(--background);color:var(--foreground);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px}button:disabled{opacity:.46;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.96)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:var(--primary)}.skip{position:absolute;top:-100px;left:16px;z-index:100;background:var(--card);padding:12px}.skip:focus{top:12px}.header{height:65px;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border);background:var(--background)}.header-inner{height:100%;max-width:1200px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:19px;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--foreground);letter-spacing:-.6px}.brand-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--primary-soft);border-radius:10px;font-size:26px;color:var(--primary);line-height:1}.brand-accent{color:var(--primary)}.theme-button{width:44px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--foreground);font-size:24px}main{max-width:1100px;margin:auto;padding:42px 24px 50px}.hero{text-align:center;margin-bottom:38px}.badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--primary);background:var(--primary-soft);border-radius:30px;padding:6px 14px;margin:0 0 15px}.hero h1{font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:46px;letter-spacing:-1.8px;line-height:1.18;margin:0 0 16px;font-weight:800}.intro{font-size:17px;color:var(--muted);line-height:1.6;margin:0}.generator{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.controls,.preview-column{display:flex;flex-direction:column;gap:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow)}h2{font-size:16px;letter-spacing:-.2px;margin:0 0 20px;line-height:1.4;font-weight:700}.section-icon{color:var(--primary);margin-right:7px}label{display:block;font-weight:600;font-size:13px;margin:14px 0 7px}select,input[type=text]{width:100%;min-width:0;height:48px;padding:0 13px;border:1px solid var(--border);border-radius:9px;color:var(--foreground);background:var(--input)}input[type=text]{font-family:ui-monospace,Consolas,monospace;font-size:16px}input[aria-invalid=true]{border-color:var(--bad)}.help{font-size:12px;color:var(--muted);line-height:1.65;margin:9px 0 0}.center{text-align:center}.input-actions{display:flex;justify-content:space-between;margin-top:4px}.text-button{background:none;border:0;color:var(--primary);padding:0;font-size:12px;font-weight:600}.text-button.muted{color:var(--muted)}.validation{font-size:12px;margin:3px 0 14px;color:var(--muted);min-height:20px}.validation.good{color:var(--good)}.validation.bad{color:var(--bad)}.primary,.secondary{border:0;border-radius:9px;min-height:48px;padding:10px 14px;font-size:13px;font-weight:700}.primary{background:#087f8c;color:white}.secondary{background:var(--secondary);border:1px solid var(--border);color:var(--foreground)}.generate,.full{width:100%}.generate{display:flex;align-items:center;justify-content:center;gap:18px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-fields label{margin-top:0}.two-fields select{font-size:12px}.color-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.swatch{width:38px;height:38px;min-height:38px;border:3px solid var(--card);outline:1px solid var(--border);border-radius:50%;background:var(--swatch)}.swatch.selected{outline:3px solid var(--primary)}input[type=color]{width:44px;height:44px;border:1px solid var(--border);border-radius:9px;background:var(--secondary);padding:4px;cursor:pointer}.color-label{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}.checkbox{display:flex;align-items:center;gap:10px;font-weight:400;font-size:13px;margin-top:18px;min-height:38px;cursor:pointer}.checkbox input{accent-color:var(--primary);width:18px;height:18px}.color-warning{font-size:12px;color:var(--bad);margin:10px 0 0}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-heading h2{margin:0}.small-badge{border:1px solid var(--border);border-radius:6px;padding:3px 9px;font-size:11px;color:var(--muted)}.preview-stage{min-height:254px;border:1px dashed var(--border);border-radius:12px;background:var(--secondary);display:flex;align-items:center;justify-content:center;margin-top:22px;padding:20px;overflow:auto}.empty{text-align:center;color:var(--muted);font-size:13px}.empty-barcode{font-size:68px;line-height:1.3;color:var(--primary);opacity:.35;margin-bottom:10px}.empty strong{display:block;color:var(--foreground);font-size:14px}.empty p{margin:7px 0}#barcode-wrap{background:white;max-width:100%;overflow-x:auto;padding:0;line-height:0;border-radius:4px}#barcode{display:block;max-width:none}.code-info{font-size:12px;line-height:1.5;color:var(--muted);text-align:center;min-height:18px;overflow-wrap:anywhere;margin:15px 0 20px}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.notice{padding:20px 22px;border:1px solid var(--border);background:var(--notice);border-radius:12px}.notice h2{font-size:14px;margin-bottom:10px}.notice p{font-size:12px;color:var(--muted);margin:8px 0}.notice strong{font-weight:600;color:var(--foreground)}.notice a{font-size:12px;font-weight:600}.faq{max-width:790px;margin:48px auto 0}.faq>h2{text-align:center;font-size:22px;margin-bottom:22px}details{border-bottom:1px solid var(--border)}summary{cursor:pointer;padding:18px 4px;font-size:14px;font-weight:600}details p{font-size:13px;color:var(--muted);margin:0 4px 20px}footer{text-align:center;border-top:1px solid var(--border);padding:28px 20px;color:var(--muted);font-size:12px}.footer-brand{font-weight:800;font-size:15px;color:var(--foreground)}footer p{margin:6px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 32px);background:var(--foreground);color:var(--background);border-radius:10px;padding:12px 20px;font-size:13px;box-shadow:var(--shadow)}[hidden]{display:none!important}#print-area{display:none}.noscript{padding:20px;background:var(--card);position:fixed;bottom:0;left:0;right:0;text-align:center}@media(max-width:800px){.generator{grid-template-columns:1fr;gap:20px}.hero h1{font-size:36px}.desktop-break{display:none}main{max-width:620px;padding-top:30px}.hero{margin-bottom:28px}.preview-column{gap:18px}}@media(max-width:420px){main{padding:26px 16px 36px}.header-inner{padding:0 16px}.brand{font-size:17px}.hero h1{font-size:32px;letter-spacing:-1.1px}.intro{font-size:15px}.card{padding:19px}.two-fields{grid-template-columns:1fr;gap:14px}.badge{font-size:12px}.preview-stage{padding:12px}.download-grid{grid-template-columns:1fr}}
@page{size:auto;margin:15mm}@media print{body{background:white!important;color:black}body>*:not(#print-area){display:none!important}#print-area{display:block!important;margin:0;padding:0;background:white}#print-area svg{display:block;max-width:none;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}#print-area p{font-family:Arial,sans-serif;color:black;font-size:10pt}.print-note{margin-bottom:12px}}

.format-guide>p,.format-guide article p{font-size:14px;color:var(--muted);line-height:1.7}.format-guide article{padding:16px 0;border-bottom:1px solid var(--border)}.format-guide h3{font-size:16px;margin:12px 0 8px}.format-guide .notice{margin:22px 0}.format-guide>h3{margin-top:24px}

.generate.generated { background: #166534; color: #fff; }
.generation-status { margin: 10px 0 0; font-weight: 600; color: #166534; }
.generation-status:empty { display: none; }
[data-theme="dark"] .generation-status { color: #86efac; }
