:root{font-family:system-ui,-apple-system,"Segoe UI","Yu Gothic UI","Meiryo",sans-serif;color:#172033;background:#f4f7fb;line-height:1.5}
*{box-sizing:border-box} body{margin:0}.app-shell{max-width:1100px;margin:0 auto;padding:28px 18px 60px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;color:#52637a}.hero h1{font-size:36px;line-height:1.15;margin:5px 0 8px}.hero p{margin:0;color:#536173}.local-badge{background:#eaf8ef;border:1px solid #b9e7c8;border-radius:14px;padding:12px 16px;text-align:center;color:#23693a;white-space:nowrap}.card{background:white;border:1px solid #dbe3ee;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 8px 26px rgba(32,52,77,.05)}.card h2{font-size:19px;margin:0 0 16px}.compact{padding-bottom:18px}.disabled-section{opacity:.52;pointer-events:none}.drop-zone{border:2px dashed #aebbd0;border-radius:16px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#fbfcff;transition:.15s}.drop-zone.drag{border-color:#315edb;background:#f1f5ff}.drop-icon{font-weight:800;font-size:12px;letter-spacing:.08em;border:1px solid #9eacc0;border-radius:7px;padding:5px 8px;color:#536173}.muted,.hint,.footnote{color:#6b7889;font-size:13px}.button{border:0;border-radius:10px;padding:10px 15px;font-size:14px;font-weight:700;cursor:pointer}.button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#2458d3;color:white}.secondary{background:#edf2f9;color:#24364d}.summary{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f5f8fc;font-size:14px}.hidden{display:none!important}.search-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.55fr) auto;gap:12px;align-items:end}.search-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.search-grid input,.search-grid select{border:1px solid #bcc7d8;border-radius:10px;padding:11px 12px;font-size:15px;background:white;width:100%;color:#172033}.search-button{height:43px}.hint{margin:10px 0 14px}.result-info{font-size:13px;font-weight:700;margin:8px 0}.table-wrap{overflow:auto;max-height:390px;border:1px solid #e0e6ef;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid #edf0f5;white-space:nowrap}th{position:sticky;top:0;background:#f7f9fc;z-index:1}tbody tr{cursor:pointer}tbody tr:hover{background:#f6f8ff}tbody tr.selected{background:#eaf0ff}.selected-summary{background:#f5f8fc;border-radius:10px;padding:12px 14px;margin-bottom:12px;font-weight:700}.export-options{margin:8px 0 14px}.check{font-size:13px;color:#46576c}.button-row{display:flex;gap:10px;flex-wrap:wrap}.progress{height:8px;background:#edf1f6;border-radius:99px;overflow:hidden;margin:16px 0 8px}.progress-bar{height:100%;width:0;background:#2458d3;transition:width .2s}.log{background:#111827;color:#dce7f5;border-radius:12px;padding:14px;min-height:92px;max-height:240px;overflow:auto;font-size:12px;white-space:pre-wrap}.preview{margin-top:12px}.preview pre{background:#f6f8fb;padding:12px;overflow:auto;border-radius:10px;font-size:12px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spec-grid div{display:flex;flex-direction:column;background:#f7f9fc;border-radius:10px;padding:10px 12px}.spec-grid span{font-size:13px;color:#5e6d80}.footnote{margin:14px 0 0}@media(max-width:760px){.app-shell{padding:18px 12px 40px}.hero{flex-direction:column}.hero h1{font-size:30px}.search-grid{grid-template-columns:1fr}.search-button{width:100%}.spec-grid{grid-template-columns:1fr}.card{padding:16px}.table-wrap{max-height:330px}}

.inline-link{font-size:14px;font-weight:700;color:#2458d3;text-decoration:none}.inline-link:hover{text-decoration:underline}.spec-grid a{color:#2458d3;text-decoration:none}.spec-grid a:hover{text-decoration:underline}.option-help{margin:5px 0 0 24px;color:#6b7889;font-size:12px}

.search-grid input::placeholder{color:#7a8798;opacity:1}.search-grid select{appearance:auto}

.public-footer{margin:22px 4px 0;padding:18px 4px 0;border-top:1px solid #dbe3ee;color:#667487;font-size:12px}.public-footer .version{font-weight:700;color:#536173;margin-bottom:8px}.public-footer ol{margin:0;padding-left:22px}.public-footer li{margin:4px 0}
