:root{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#192f4b;background:#f3f5f9;font-synthesis:none;--blue:#193e79;--paper-scale:1}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65}button,input,select{font:inherit}button,select,input[type=checkbox]{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{border:1px solid #cbd4e0;border-radius:9px;padding:10px 15px;color:#213b60;background:white;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#edf2f9;border-color:#879ab6}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #518af0;outline-offset:3px}[hidden]{display:none!important}.topbar{height:64px;border-bottom:1px solid #dfe5ed;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:500;letter-spacing:.04em}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:#fff;font-weight:500}.topbar-kind{font-size:14px;color:#576c86}.workspace{max-width:1256px;margin:auto;padding:28px 28px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}h1{font-size:24px;line-height:1.5;font-weight:500;margin:0;letter-spacing:.025em}h2{font-size:16px;line-height:1.5;font-weight:500;margin:0}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover:not(:disabled){background:#102d5c;border-color:#102d5c}.print-button{white-space:nowrap;padding:12px 22px}.editor{display:grid;grid-template-columns:320px minmax(0,1fr);gap:26px;align-items:start}.controls{background:#fff;border:1px solid #dfe5ed;border-radius:14px;overflow:hidden}.control-section{padding:23px 22px;border-bottom:1px solid #e8ecf2}.final-section{border-bottom:0}.control-section h2{margin-bottom:14px}.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-option{display:flex;align-items:center;gap:10px;min-height:47px;border:1px solid #d8e0ec;border-radius:10px;padding:8px 10px;cursor:pointer}.category-option:has(input:checked){background:#f1f5fc;border-color:#87a0c5}.category-option input{width:17px;height:17px;margin:0;accent-color:var(--blue);flex-shrink:0}.category-option img{width:49px;height:49px;object-fit:contain}.category-option .category-word{font-size:14px;flex:1;min-width:0}.category-option .availability{color:#65758b;font-size:12px;white-space:nowrap}.helper{font-size:13px;color:#61728b;margin:11px 0 0;line-height:1.7}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.section-heading h2{margin:0}.count-label{font-size:14px;display:flex;align-items:center;gap:7px;white-space:nowrap}select{border:1px solid #c8d3e1;border-radius:7px;background:white;color:#1c3454;padding:7px 9px;min-height:39px;max-width:100%}.count-label select{padding:5px 8px}.full{width:100%}.secondary{color:var(--blue);border-color:#afc0d8;background:#f8fafe}.item-controls{display:grid;gap:11px;margin-top:19px}.item-row{display:grid;grid-template-columns:20px minmax(0,1fr) 47px;gap:7px;align-items:center}.item-number{font-size:13px;color:#6c7e94;text-align:left}.item-row select{width:100%;font-size:14px;padding-left:8px}.lock-button{font-size:12px;padding:6px 3px;min-height:39px}.lock-button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.field-label{display:block;font-size:14px;margin-bottom:6px}input[type=text]{width:100%;border:1px solid #c8d3e1;border-radius:8px;padding:9px 10px;color:#1c3454;background:#fff;font-size:14px}.check-label{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:14px;cursor:pointer}.check-label input{accent-color:var(--blue);width:17px;height:17px;margin:0}.preview-panel{min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 4px 12px}.preview-toolbar h2{font-size:15px}.preview-toolbar span{font-size:13px;color:#65758b}.paper-area{padding:24px;background:#e8edf4;border:1px solid #dfe5ed;border-radius:12px}.paper-stage{position:relative;width:100%;max-width:794px;aspect-ratio:210/297;margin:auto}.sheet{position:absolute;top:0;left:0;width:210mm;height:297mm;background:#fff;color:#30352f;padding:14mm 15mm 12mm;transform:scale(var(--paper-scale));transform-origin:top left;box-shadow:0 3px 18px #19385817;display:flex;flex-direction:column;gap:5mm;overflow:hidden;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.sheet h2{margin:0;font-size:21pt;line-height:1.45;font-weight:500;overflow-wrap:anywhere;color:#30352f}.sheet-instruction{margin:0;font-size:12.5pt;line-height:1.7;color:#30352f}.matching-area{display:grid;grid-template-columns:42mm minmax(0,1fr) 62mm;flex:1;min-height:0}.single-column,.category-column{display:grid;min-height:0;grid-auto-rows:minmax(0,1fr);align-items:stretch}.single-item,.category-target{display:flex;align-items:center;gap:5mm;min-width:0;min-height:0}.picture{min-width:0;margin:0;flex:1;text-align:center}.sheet img{display:block;width:100%;object-fit:contain}.single-item img{height:33mm;max-width:33mm;margin:auto}.category-target img{height:54mm}.sheet figcaption{margin-top:2mm;font-size:13pt;line-height:1.45;color:#30352f}.category-target figcaption{font-size:16pt;font-weight:500}.connection-point{width:4.6mm;height:4.6mm;flex:0 0 4.6mm;border-radius:50%;background:#b8b8b8;margin-bottom:8mm}.no-single-labels .single-item .connection-point{margin-bottom:0}.single-item .image-button{padding:0;border:0;border-radius:5px;display:block;background:transparent;width:100%;line-height:0}.single-item .image-button:hover{background:#f5f7fb;outline:1px solid #cbd6e6}.single-item .image-button:focus-visible{outline:2px solid #518af0;outline-offset:3px}.matching-area.many-rows .single-item img{height:29mm}.empty-preview{margin:0;padding:70px 20px;text-align:center;font-size:16px;color:#52657f}.print-help{font-size:13px;line-height:1.7;color:#61728b;margin:12px 3px 0}.notice{margin:16px 0 0;font-size:14px;min-height:0;color:#784a17}.notice:empty{display:none}.load-state{padding:28px;background:#fff;border:1px solid #dfe5ed;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.load-state.failed{color:#813d29;background:#fffaf6;border-color:#dec6bb}.load-state button{white-space:nowrap}
@media(max-width:970px){.workspace{padding:22px 20px 30px}.editor{grid-template-columns:280px minmax(0,1fr);gap:18px}.control-section{padding:20px 17px}.paper-area{padding:15px}h1{font-size:21px}}
@media(max-width:760px){.topbar{padding:0 19px;height:57px}.workspace{padding:20px 15px 30px}.page-heading{align-items:flex-start;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-heading h1{font-size:21px}.print-button{font-size:14px;padding:9px 15px}.editor{grid-template-columns:1fr;gap:23px}.control-section{padding:20px}.categories{grid-template-columns:repeat(2,minmax(0,1fr))}.category-option{gap:7px;padding:8px}.category-option .category-word{font-size:14px}.category-option .availability{display:none}.category-option img{width:37px;height:42px}.item-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.item-row{grid-template-columns:16px minmax(0,1fr) 44px;gap:5px}.paper-area{padding:14px}.load-state{align-items:flex-start;flex-direction:column}.sheet{box-shadow:0 2px 10px #19385812}}
@media(max-width:390px){.item-controls{grid-template-columns:1fr}.category-option img{width:31px}.category-option{gap:5px}.category-option .category-word{font-size:14px}.topbar-kind{font-size:13px}.control-section{padding:17px}.page-heading h1{font-size:20px}}
@media print{@page{size:A4 portrait;margin:0}html,body{margin:0!important;padding:0!important;background:white!important;width:210mm!important;min-width:0!important;color:#30352f}.topbar,.page-heading,.controls,.preview-toolbar,.print-help,.notice,.load-state,.empty-preview{display:none!important}.workspace,.editor,.preview-panel,.paper-area,.paper-stage{display:block!important;margin:0!important;padding:0!important;border:0!important;background:white!important;width:210mm!important;max-width:none!important;height:297mm!important;aspect-ratio:auto!important;overflow:visible!important}.sheet{position:relative!important;transform:none!important;margin:0!important;box-shadow:none!important;width:210mm!important;height:297mm!important;break-inside:avoid;page-break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.single-item .image-button{pointer-events:none;outline:none!important;background:transparent!important}.connection-point{background:#b8b8b8!important}}
