:root{color-scheme:light;--ink:#203a32;--green:#173f35;--muted:#64746c;--border:#dce3dc;--paper:#fff;--bg:#f4f6f2;--amber:#896226;--amber-bg:#fbf4e8;--mint:#e7f0e9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,.file-label:focus-within{outline:3px solid #ac7c37;outline-offset:4px}a{color:var(--green);text-underline-offset:4px;overflow-wrap:anywhere}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.65rem,3.7vw,2.5rem);letter-spacing:.025em;line-height:1.5;font-weight:750}h2{font-size:1.08rem}h3{font-size:1rem}button{touch-action:manipulation}[hidden]{display:none!important}.topbar{max-width:1180px;margin:auto;padding:23px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;font-size:1.03rem;font-weight:750;line-height:1.5}.brand img{border-radius:10px}.brand small{display:block;font-size:.58rem;letter-spacing:.15em;font-weight:600;color:var(--muted)}.local-tag{display:flex;align-items:center;gap:7px;font-size:.74rem;white-space:nowrap;color:#44694e}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#53845c}main{max-width:1180px;padding:36px 32px 32px;margin:auto}.intro{padding:7px 0 29px}.eyebrow{font-size:.78rem;letter-spacing:.09em;color:var(--muted);margin-bottom:8px}.lead{font-size:.9rem;color:var(--muted);margin-top:10px}.mobile-break{display:none}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 5px 20px #193d2603;min-width:0}.section-heading{display:flex;align-items:center;gap:10px}.step{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--mint);font-size:.75rem;font-weight:700;color:var(--green);flex-shrink:0}.muted{font-size:.8rem;color:var(--muted);margin:9px 0 16px}.button{border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-height:48px;font-weight:650;text-decoration:none;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;gap:10px}.sample-button{width:100%;background:var(--green);color:white;text-align:left;justify-content:space-between;gap:9px;padding:17px 14px;font-size:.88rem;border-color:var(--green)}.sample-button small{display:block;font-size:.71rem;opacity:.76;font-weight:400;margin-top:5px}.sample-icon{font-size:1.55rem;line-height:1;font-weight:400}.text-button{background:transparent;border:0;color:var(--green);font-size:.76rem;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.input-panel>.text-button{width:100%;text-align:left}.divider{display:flex;align-items:center;gap:10px;font-size:.7rem;color:var(--muted);margin:14px 0 17px}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}.file-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;padding:18px;background:#fafbf8;border:1px dashed #a3b5a8;border-radius:11px;cursor:pointer;text-align:center;gap:4px}.file-label strong{font-size:.9rem}.file-label>span:last-child{font-size:.72rem;color:var(--muted)}.file-icon{font-size:1.7rem;line-height:1.3;font-weight:300;color:#617b69}#file-input{display:block;font-size:.73rem;max-width:100%;margin-top:10px;color:var(--muted)}#file-input::file-selector-button{padding:8px;border:1px solid var(--border);border-radius:6px;background:white;color:var(--ink);margin-right:7px}.privacy-note{font-size:.75rem;line-height:1.85;color:var(--muted);padding:17px 0 16px}.format-help{border-top:1px solid var(--border);padding-top:12px;font-size:.77rem}.format-help summary{font-weight:600;cursor:pointer;min-height:35px}.format-help p{margin:10px 0;color:var(--muted)}.column-list{background:var(--bg);padding:10px;border-radius:8px;line-height:2}.format-help a{display:block;margin-top:9px;min-height:32px}.results-panel{min-height:538px}.results-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.results-header .text-button{font-size:.7rem}.filename{font-size:.74rem;color:var(--muted);margin:12px 0 8px;overflow-wrap:anywhere}.status{font-size:.83rem;color:var(--muted);margin-bottom:15px}.empty-state{padding:45px 10px 40px;text-align:center}.empty-symbol{font-size:1.8rem;letter-spacing:12px;color:#a3b7a8;margin:8px 0 28px}.empty-symbol span{color:#42674e}.empty-state h3{font-size:.98rem;font-weight:600}.empty-state p{font-size:.82rem;color:var(--muted);margin-top:12px;line-height:1.9}.stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:11px;margin-bottom:18px;background:#fcfdfa}.stats>div{padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:5px}.stats>div+div{border-left:1px solid var(--border)}.stats span{font-size:.76rem;color:var(--muted)}.stats strong{font-size:1.6rem;font-weight:650;font-variant-numeric:tabular-nums}.result-tools{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:5px 0 14px}.result-tools label{font-size:.7rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.result-tools select{max-width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink);font-size:.78rem;padding:8px 30px 8px 10px}.result-tools p{font-size:.7rem;color:var(--muted);white-space:nowrap}.issues{display:grid;gap:10px}.issue-card{border:1px solid var(--border);border-radius:10px;padding:14px 15px;min-width:0}.issue-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:9px}.issue-badge{font-size:.68rem;font-weight:600;background:var(--amber-bg);color:var(--amber);padding:2px 8px;border-radius:5px}.issue-location{font-size:.68rem;color:var(--muted);overflow-wrap:anywhere}.issue-card h3{font-size:.85rem;font-weight:650;overflow-wrap:anywhere}.issue-card p{font-size:.78rem;margin-top:6px;color:#56645c;overflow-wrap:anywhere}.issue-card .race{font-size:.7rem;color:var(--muted);margin-top:3px}.paging{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0}.paging:has(button[hidden]){display:none}.paging span{font-size:.76rem}.secondary{background:white;color:var(--green);font-size:.8rem}.primary{background:var(--green);color:white;border-color:var(--green);font-size:.84rem}.export-actions{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.export-note{font-size:.68rem;color:var(--muted);margin:9px 0 0}.success{padding:22px 16px;background:var(--mint);border-radius:10px;color:var(--green);font-size:.85rem}.success p{font-size:.75rem;margin-top:7px}.error{color:#8b2c27;background:#fff0ed;border:1px solid #efc8c0;border-radius:10px;padding:16px;font-size:.85rem;overflow-wrap:anywhere;margin:10px 0}.guide{margin-top:26px;display:grid;gap:0}.guide>details{border-bottom:1px solid var(--border);padding:15px 2px}.guide summary{font-size:.85rem;font-weight:600;cursor:pointer;min-height:30px}.guide-content{max-width:800px;font-size:.82rem;color:var(--muted);padding:8px 0;line-height:1.95}.guide-content p{margin-top:12px}.guide-content ul,.guide-content ol{padding-left:23px;margin:4px 0}.guide-content li{padding:4px 0}footer{max-width:1180px;margin:auto;padding:18px 32px calc(25px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);font-size:.65rem;color:var(--muted)}.version{margin-left:7px;font-size:.6rem}body.busy .file-label{pointer-events:none;opacity:.6}body.busy #status:before{content:"";display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;margin-right:7px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){body.busy #status:before{animation:none}}@media(min-width:1000px){.input-panel{position:sticky;top:20px}}@media(max-width:820px){.workspace{grid-template-columns:290px minmax(0,1fr);gap:15px}.panel{padding:18px}.topbar{padding:20px 22px}main{padding:26px 22px}.sample-button{font-size:.8rem;padding:15px 11px}.stats>div{padding:10px 12px}.result-tools{flex-wrap:wrap}}@media(max-width:680px){.topbar{padding:16px 18px}.brand{font-size:.93rem}.local-tag{font-size:.65rem}.brand img{width:32px;height:32px}.brand small{font-size:.5rem}main{padding:24px 16px}.intro{padding:0 2px 24px}.mobile-break{display:block}.lead{font-size:.8rem;max-width:300px;line-height:1.9}.workspace{grid-template-columns:minmax(0,1fr);gap:18px}.panel{padding:20px;border-radius:14px}.input-panel{position:static}.sample-button{font-size:.9rem;padding:16px}.sample-button small{font-size:.73rem}.file-label{min-height:120px}h1{font-size:1.68rem}.results-panel{min-height:350px}.result-tools select{font-size:16px}.empty-state{padding:25px 4px}.empty-state h3{font-size:.88rem}.results-header .text-button{font-size:.66rem}.stats strong{font-size:1.5rem}.export-actions .button{width:100%}.issue-card{padding:13px}.issue-card p{font-size:.82rem}.issue-top{align-items:start}.guide{margin-top:15px}.guide summary{font-size:.8rem}footer{padding:18px 18px calc(24px + env(safe-area-inset-bottom));align-items:start;flex-direction:column;gap:6px}}@media(max-width:360px){.local-tag{font-size:.6rem}.panel{padding:16px}.stats>div{padding:10px}.stats span{font-size:.7rem}.stats strong{font-size:1.3rem}}
