:root{--ink:#172d35;--muted:#526969;--green:#147563;--line:#d4e3df;--paper:#fff;--bg:#f2f7f5;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.7}a{color:#126a5b;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{background:white;color:var(--ink);border:1px solid #abc7bf;padding:10px 16px;border-radius:9px;cursor:pointer;font-weight:650;line-height:1.5}button:hover:not(:disabled){border-color:var(--green);background:#e8f4ee}button:disabled{cursor:not-allowed;opacity:.42}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover:not(:disabled){background:#0c5a4c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c77c12;outline-offset:3px}.skip{position:fixed;top:-70px;left:12px;background:white;padding:8px;z-index:5}.skip:focus{top:10px}.hero{padding:28px max(24px,calc((100vw - 1180px)/2)) 22px;background:white;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:.04em;display:flex;justify-content:space-between;gap:12px;font-size:14px}.brand span{font-weight:500;font-size:12px;background:#e4f3ed;padding:3px 12px;border-radius:99px}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px;padding:30px 0 15px}.eyebrow,.step{font-size:12px;letter-spacing:.08em;color:var(--green);font-weight:800}.hero h1{font-size:42px;letter-spacing:-.05em;line-height:1.25;margin:10px 0 18px}.hero h1 small{font-size:25px;letter-spacing:0;color:var(--green)}.lead{font-size:25px;font-weight:800;line-height:1.55;margin:0 0 12px}.hero p:not(.lead):not(.eyebrow):not(.privacy){font-size:14px;color:var(--muted)}.hero-chart{background:#eff7f3;border:1px solid #cce1d9;border-radius:18px;padding:28px;max-width:380px;box-shadow:10px 10px 0 #e5efea;transform:rotate(-2deg)}.hero-chart>span{font-size:13px;font-weight:700;display:block;margin-bottom:18px}.demo-bar{padding:9px 10px;background:#17836e;color:white;margin:9px 0;white-space:nowrap;font-size:13px;display:flex;justify-content:space-between;gap:10px;border-radius:3px}.bar50{width:100%}.bar30{width:70%;background:#449982}.bar10{width:47%;background:#597d71}.hero-chart small{font-size:10px;color:#526969}.privacy{font-size:12px;color:#356354;border-top:1px solid var(--line);padding-top:16px;margin-bottom:0}main{max-width:1228px;margin:auto;padding:26px 24px 40px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar button{font-size:13px}.message{font-size:13px;color:var(--muted);min-height:22px}.error{background:#fff1ed;color:#993922;padding:14px;border:1px solid #e5b6a7;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.workspace{display:grid;grid-template-columns:minmax(290px,.76fr) minmax(0,1.24fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:26px;min-width:0}.step{margin-top:0}h2{font-size:22px;line-height:1.45;margin:8px 0 20px}h3{font-size:15px}.file-button{width:100%}.hint{font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}label{display:block;font-weight:700;font-size:14px;margin:22px 0 8px}input,select,textarea{width:100%;max-width:100%;border:1px solid #aac4bb;border-radius:7px;padding:10px 12px;color:var(--ink);background:white;min-width:0}select{font-size:13px}input::placeholder{color:#81928c}textarea{font-size:12px;line-height:1.7;resize:vertical}.source-status{font-size:12px;border-left:3px solid var(--green);padding-left:10px;overflow-wrap:anywhere}.rule-box{background:#f0f7f3;padding:14px 16px;border-radius:8px;margin:22px 0}.rule-box h3{margin:0}.rule-box ul{padding-left:19px;font-size:12px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.badge{background:#e5f2ec;color:#216153;font-size:11px;padding:3px 10px;border-radius:30px}.empty{min-height:250px;background:#f7faf8;border:1px dashed #c2d7cc;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:28px;color:#50685e}.empty strong{font-size:16px}.empty p{font-size:13px}.save-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.save-actions button{font-size:12px;flex:1 0 auto}.json-box{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);font-size:12px}.json-box p{overflow-wrap:anywhere}.json-box button{font-size:12px}details{margin-top:18px;font-size:12px}summary{cursor:pointer;margin-bottom:8px}.result-heading{font-size:20px;overflow-wrap:anywhere;margin:10px 0}.result-column{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0}.metric{background:#eaf4ee;padding:12px 8px;border-radius:8px;text-align:center}.metric dt{font-size:11px;color:#496356}.metric dd{margin:4px 0 0;font-size:25px;font-weight:800;line-height:1.3}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.report-table{width:100%;border-collapse:collapse;font-size:12px;min-width:440px}.report-table th,.report-table td{padding:11px 9px;text-align:left;border-bottom:1px solid var(--line)}.report-table th{background:#f0f6f3;white-space:nowrap;font-size:11px}.report-table td:first-child{min-width:140px;max-width:280px;overflow-wrap:anywhere;white-space:pre-wrap}.report-table td:not(:first-child){white-space:nowrap}.report-table meter{display:block;max-width:100%;width:95px;height:12px;accent-color:var(--green)}.limits{margin-top:26px;font-size:13px}.limits h2{font-size:18px}.limits p{color:var(--muted)}.next-step{padding:28px 8px;display:flex;justify-content:space-between;gap:24px;align-items:center}.next-step h2{font-size:18px;margin:8px 0}.next-step p{font-size:12px;color:var(--muted)}.next-step a{font-size:13px;flex-shrink:0}footer{padding:24px;text-align:center;border-top:1px solid var(--line);font-size:12px;background:white;color:var(--muted)}footer a{margin-left:18px}dialog{border:1px solid #b5d1c6;border-radius:16px;padding:28px;width:min(480px,calc(100% - 32px));max-height:85vh;color:var(--ink)}dialog::backdrop{background:#142a2580}dialog p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);background:#173e33;color:white;padding:12px 22px;box-shadow:0 8px 25px #0002;border-radius:9px;font-size:13px;z-index:10}@media(max-width:850px){.hero-grid{gap:20px}.hero-chart{padding:18px}.hero h1{font-size:35px}.workspace{grid-template-columns:1fr}.next-step{flex-direction:column;align-items:flex-start}.input-panel{padding:22px}}@media(max-width:550px){.hero{padding:20px}.hero-grid{grid-template-columns:1fr;padding-bottom:22px;gap:24px}.hero-chart{max-width:none;transform:none;box-shadow:none;padding:18px}.hero-chart .demo-bar{padding:5px 10px;margin:5px 0}.hero-chart>span{margin-bottom:10px}.hero h1{font-size:34px}.lead{font-size:23px}.desktop{display:none}main{padding:20px 14px}.panel{padding:18px}.metrics{gap:4px}.metric{padding:9px 3px}.metric dd{font-size:21px}.metric dt{font-size:10px}.save-actions button{flex:1 1 45%}.toolbar button{font-size:12px;padding:9px 11px}footer a{display:block;margin:8px 0 0}h2{font-size:20px}.next-step{padding-left:4px;padding-right:4px}}

/* 入力を初期画面内へ置くコンパクトな作業用ヘッダー */
.hero{padding:14px max(24px,calc((100vw - 1180px)/2)) 12px}.compact-heading{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}.hero h1{font-size:30px;margin:7px 0 3px;line-height:1.4}.hero h1 small{font-size:20px}.compact-heading p{margin:0;font-size:13px}.privacy{border:0;padding:0;margin:5px 0 0;font-size:11px}@media(max-width:550px){.hero{padding:12px 20px}.hero h1{font-size:28px}.compact-heading{display:block}.compact-heading p{font-size:12px}.privacy{font-size:10px;margin-top:4px}.brand{font-size:12px}}

/* 並び順と結果の注記 */
#sort-mode{font-size:16px}.result-order{font-size:14px;font-weight:650;color:var(--green);overflow-wrap:anywhere}
