:root{color-scheme:light;--bg: #f5f7fb;--panel: #ffffff;--ink: #1f2937;--muted: #667085;--line: #d9e0ea;--accent: #e5484d;--accent-dark: #c93a40;--soft: #eef3f8;--ok: #16794c;--warn: #9a6700;--bad: #b42318}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Segoe UI,Meiryo,system-ui,sans-serif;line-height:1.5}.app{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:750;letter-spacing:0}h2{font-size:16px;margin-bottom:12px}h3{font-size:13px;margin-bottom:10px;color:var(--muted)}.credit{color:var(--muted);font-size:12px;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;margin-top:14px}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-size:13px;font-weight:650;color:#344054}input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:14px}input,select{height:40px;padding:8px 10px}textarea{min-height:74px;resize:vertical;padding:9px 10px;font-family:Consolas,Courier New,monospace}input:focus,select:focus,textarea:focus{outline:2px solid rgba(229,72,77,.18);border-color:var(--accent)}.note{color:var(--muted);font-size:12px;margin-top:6px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1 1 160px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}button{min-height:42px;border:0;border-radius:6px;padding:10px 14px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}button:hover{background:var(--accent-dark)}button.secondary{background:#344054}button.secondary:hover{background:#1f2937}button.ghost{background:var(--soft);color:#344054}button.ghost:hover{background:#dfe7f1}button.danger{background:#b42318}button.danger:hover{background:#912018}button:disabled{cursor:not-allowed;opacity:.58}.status{min-height:22px;margin-top:12px;color:var(--muted);font-size:13px;white-space:pre-wrap}.status[data-type=ok]{color:var(--ok)}.status[data-type=warn]{color:var(--warn)}.status[data-type=bad]{color:var(--bad)}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.fetch-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:14px;align-items:stretch}.fetch-panel{margin-top:0}.fetch-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.fetch-action-row button{margin-top:0;white-space:nowrap}.source-debug{display:grid;gap:10px;margin-top:12px}.source-debug textarea{min-height:86px}.source-debug .source-id-csv{min-height:58px}.preview{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;min-height:250px}.image-stage{display:grid;place-items:center;min-height:210px;background:linear-gradient(45deg,#eef2f6 25%,transparent 25%),linear-gradient(-45deg,#eef2f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f6 75%),linear-gradient(-45deg,transparent 75%,#eef2f6 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:6px;overflow:hidden}.image-stage img{max-width:100%;max-height:220px;image-rendering:auto}.placeholder{color:var(--muted);font-size:13px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.slot-field{min-width:0}.slot-field input{font-family:Consolas,Courier New,monospace}.slot-field small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.pill{display:inline-flex;align-items:center;min-height:26px;border-radius:6px;background:var(--soft);color:#344054;padding:4px 8px;font-size:12px;font-weight:650}.raw-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.raw-box{min-height:120px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fbfcfe;font-size:12px;color:var(--muted);overflow:auto}.raw-box table{width:100%;border-collapse:collapse}.raw-box td{padding:4px 0;border-bottom:1px solid #edf1f6;vertical-align:top}.raw-box td:last-child{color:var(--ink);font-family:Consolas,Courier New,monospace;text-align:right}.equip-name-results{display:grid;gap:12px}.equip-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}.equip-search-row button{margin-top:0;white-space:nowrap}.equip-search-results{margin-bottom:14px}.equip-name-group{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;overflow:hidden}.equip-name-source{display:grid;grid-template-columns:minmax(74px,auto) minmax(90px,auto) minmax(0,1fr);gap:8px 10px;align-items:center;margin-bottom:10px;font-size:13px}.equip-name-summary{display:block;cursor:pointer;padding:12px}.equip-name-summary::-webkit-details-marker{display:none}.equip-name-summary:after{content:"開く";float:right;color:var(--muted);font-size:12px;font-weight:650}.equip-name-group[open] .equip-name-summary:after{content:"閉じる"}.equip-name-body{padding:0 12px 12px}.equip-name-id{color:var(--ink);font-family:Consolas,Courier New,monospace;font-weight:700}.equip-name-jp{color:var(--ink);font-weight:700}.equip-name-kr{grid-column:3;color:var(--muted)}.equip-match-scroll{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}.equip-match-table{width:100%;border-collapse:collapse;font-size:12px}.equip-match-table th,.equip-match-table td{padding:6px 8px;border-bottom:1px solid #edf1f6;vertical-align:top;text-align:left}.equip-match-table th{position:sticky;top:0;background:#f8fafc;color:#344054;font-weight:700}.equip-match-table td:first-child{width:92px;color:var(--ink);font-family:Consolas,Courier New,monospace;font-weight:700}.equip-match-table tr.is-source{background:#fff7ed}.checkbox-line{display:flex;align-items:center;gap:8px;margin-top:14px;color:#344054;font-size:13px;font-weight:650}.checkbox-line input{width:auto;height:auto;margin:0}#qrcode-container{display:grid;place-items:center;min-height:270px;margin-top:10px;background:#fff;padding:8px}#qrcode-container .qr-image{width:250px;height:250px;image-rendering:pixelated;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;-webkit-user-drag:auto}.qr-save-card{display:grid;gap:10px;justify-items:center;width:min(100%,430px);margin:14px auto 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.qr-save-header{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;width:100%}.qr-avatar-frame{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(45deg,#eef2f6 25%,transparent 25%),linear-gradient(-45deg,#eef2f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f6 75%),linear-gradient(-45deg,transparent 75%,#eef2f6 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.qr-avatar-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transform:scale(2)}.qr-preview-meta{min-width:0}.qr-preview-label{color:var(--muted);font-size:12px;font-weight:700}.qr-preview-name{overflow-wrap:anywhere;color:var(--ink);font-size:22px;font-weight:800;line-height:1.25}.qr-download-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:8px;background:var(--soft);color:var(--ink);font-size:14px;font-weight:750;text-decoration:none}.qr-download-link[hidden]{display:none}.avatar-output{display:grid;gap:12px;margin-top:14px}.generated-stage{min-height:430px}.preview .image-stage img{width:min(220px,46vw);height:auto;max-height:300px}.generated-stage img{width:min(520px,82vw);height:auto;max-height:none;transform:scale(1.18);transform-origin:center}.equip-csv-editor textarea{min-height:58px}.debug-details{margin-top:12px;color:var(--muted);font-size:13px}.debug-details summary{cursor:pointer;font-weight:650}.qr-payload{min-height:96px;margin-top:10px;white-space:pre-wrap}@media(max-width:820px){header,.preview-grid,.fetch-layout,.raw-list{grid-template-columns:1fr;display:grid;align-items:start}.credit{white-space:normal}.grid.two,.grid.three,.slot-grid,.fetch-action-row,.equip-search-row,.equip-name-source{grid-template-columns:1fr}.equip-name-kr{grid-column:auto}}
