:root{--paper:#f8f6f0;--white:#fffefa;--ink:#171916;--muted:#73756f;--line:#deddd5;--red:#c83d2d;--green:#56694f;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,24px);border-bottom:1px solid var(--line);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.09em}.brand{text-decoration:none;color:var(--ink);font-weight:500}.brand b{color:var(--red)}.brand-mark{color:var(--red);font-size:21px;vertical-align:-2px;margin-right:8px}.local-note{font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:0;color:var(--muted)}main{width:min(800px,calc(100% - 36px));margin:0 auto}.intro{padding:72px 0 36px}.eyebrow{color:var(--red);font:11px 'DM Mono',monospace;letter-spacing:.09em;margin:0 0 16px}.intro h1{font-size:clamp(32px,6vw,52px);line-height:1.2;letter-spacing:-.06em;margin:0;font-weight:700}.intro h1 em{font-family:var(--serif);color:var(--red);font-weight:400}.lead{font-size:14px;color:var(--muted);line-height:1.9;margin:18px 0 0}.tool{background:var(--white);border:1px solid var(--line);padding:34px 38px 26px;box-shadow:0 12px 36px #26282008}.tool-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.step{font:12px 'DM Mono',monospace;color:var(--red)}h2{font-size:17px;margin:0;font-weight:600;letter-spacing:.01em}.tool label{font-size:12px;font-weight:600;display:block;margin-bottom:9px}.tool input,.tool select{height:50px;border:1px solid #c9c9c0;background:#fffefa;border-radius:3px;padding:0 14px;width:100%;font:14px 'DM Mono','Noto Sans JP',sans-serif;color:var(--ink);outline:none}.tool input:focus,.tool select:focus{border-color:var(--red);box-shadow:0 0 0 3px #c83d2d18}.controls{display:flex;align-items:end;gap:18px;margin-top:22px}.format-wrap{width:min(330px,50%)}.hint{font-size:11px;color:var(--muted);padding:0 0 15px;line-height:1.6}.error{color:#aa261b;font-size:12px;min-height:20px;margin:8px 0 0}.preview-head{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.preview-head .tool-heading{margin:0}.preview-status{font-size:11px;color:var(--muted)}.preview{min-height:180px;margin-top:14px;border:1px dashed var(--line);background:#fff;padding:18px;display:flex;align-items:center;justify-content:center;overflow:auto}.empty{display:flex;align-items:center;gap:12px;color:#a3a39b;font-size:12px}.empty-icon{font-size:25px;color:#c7c5bc}#barcode{display:none;max-width:100%;height:auto}#barcode.active{display:block}.actions{display:flex;gap:9px;margin-top:16px}.button{height:44px;padding:0 17px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:12px 'Noto Sans JP',sans-serif;cursor:pointer;border-radius:2px}.button span{margin-left:12px;color:var(--red)}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button:disabled{opacity:.38;cursor:not-allowed}.button:not(:disabled):hover{border-color:var(--red)}.microcopy{font-size:10px;color:var(--muted);line-height:1.8;margin:16px 0 0}.guide{padding:54px 0 68px}.guide h2{font-size:15px;margin-bottom:20px}.guide ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide li{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:7px}.guide li b{font-size:12px}.guide li span{font-size:11px;line-height:1.75;color:var(--muted)}footer{border-top:1px solid var(--line);padding:23px max(6vw,24px);display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace}footer nav{display:flex;gap:20px}footer a{color:var(--muted);text-decoration:none;font-family:'Noto Sans JP',sans-serif}footer a:hover{color:var(--red)}@media(max-width:600px){.topbar{height:58px;padding:0 18px}.local-note{font-size:9px}.intro{padding:48px 0 25px}.intro h1{font-size:35px}.lead{font-size:13px}.tool{padding:25px 18px 20px}.controls{display:block}.format-wrap{width:100%}.hint{padding:10px 0 0}.preview{min-height:150px;padding:12px}.actions{display:grid;grid-template-columns:1fr 1fr}.button{padding:0 10px}.button:last-child{grid-column:1/-1}.guide{padding:38px 0 48px}.guide ol{grid-template-columns:1fr;gap:12px}.guide li{padding-top:10px}.guide li span{font-size:10px}footer{padding:18px;gap:8px;font-size:9px}footer nav{gap:12px}}
.button.primary{background:var(--red);border-color:var(--red)}
.empty[hidden]{display:none!important}
:focus-visible{outline:3px solid #c83d2d;outline-offset:3px}
.preview{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain}
.preview:has(.empty:not([hidden])){justify-content:center}
#barcode{flex:none}
.scroll-hint{margin:6px 0 0;text-align:right;font-size:10px;color:var(--muted)}
#barcode{margin-left:auto;margin-right:auto}
@media(max-width:600px){.intro{padding:32px 0 22px}.intro h1{font-size:32px}.intro h1 em{display:block;margin-top:4px}}

.data-note{font-size:12px;line-height:1.8;color:#56694f;margin:10px 0 0}.data-note a{color:inherit}.legal-copy{font-size:14px;line-height:1.9}.legal-copy h2{margin:28px 0 10px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{margin:10px 0 18px}.legal-copy a{color:var(--red);overflow-wrap:anywhere}.updated{font-size:12px;color:var(--muted)}footer nav{flex-wrap:wrap;justify-content:flex-end}a:focus-visible{outline:2px solid var(--red);outline-offset:4px}@media(max-width:600px){footer{flex-direction:column;gap:14px}footer nav{justify-content:flex-start;gap:12px 18px}.info-page .intro h1{font-size:28px}.data-note{font-size:11px}}
.tool textarea{display:block;width:100%;min-height:112px;resize:vertical;border:1px solid #c9c9c0;border-radius:3px;padding:12px 14px;background:#fffefa;color:var(--ink);font:13px/1.8 'DM Mono','Noto Sans JP',sans-serif;overflow-wrap:normal;white-space:pre;overflow-x:auto}.tool textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #c83d2d18}.preview{display:block;min-width:0;overflow:hidden}.barcode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:100%;overflow:hidden}.barcode-list:has(>.barcode-card:only-child){grid-template-columns:minmax(0,1fr)}.barcode-card{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px;border:1px solid var(--line);background:#fffefa;break-inside:avoid;page-break-inside:avoid}.barcode-card svg{display:block;flex:none;max-width:none}.batch-errors{color:#aa261b;font-size:12px;line-height:1.7;padding-left:1.5em}.batch-errors:empty{display:none}#print-sheet{display:none}
@page{size:A4 portrait;margin:10mm}
@media print{body.printing>*:not(#print-sheet){display:none!important}body.printing #print-sheet{display:grid!important;position:static;width:190mm;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm 4mm;background:#fff}body.printing #print-sheet.single-column{grid-template-columns:minmax(0,1fr)}body.printing #print-sheet .barcode-card{min-width:0;max-width:none;min-height:34mm;padding:2mm;border:0;overflow:visible;display:flex;align-items:center;justify-content:center}body.printing #print-sheet svg{max-width:none!important;flex:none}}
