:root{--accent:#2f7de1;--accent-dark:#1c5cb0;--bg:#f6f8fb;--card:#fff;--ink:#22272e;--sub:#5c6570;--line:#e3e9f0;--green:#1e9e5a;--yellow:#c78f00;--red:#d64545}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;line-height:1.7}.wrap{max-width:720px;margin:0 auto;padding:0 16px 64px}header.site{background:var(--card);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}header.site .brand{color:var(--ink);font-size:16px;font-weight:700;text-decoration:none}header.site nav{align-items:center;gap:12px;display:flex}header.site nav a{color:var(--sub);font-size:13px;text-decoration:none}header.site nav a:hover{color:var(--accent)}.gear-btn{cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px}.hero{text-align:center;padding:40px 0 24px}.hero h1{margin-bottom:8px;font-size:26px}.hero p{color:var(--sub)}.hero .demo{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:20px 0;display:flex}.hero .demo .shot{background:var(--card);border:1px solid var(--line);color:var(--sub);border-radius:12px;min-width:130px;padding:12px 16px;font-size:13px}.hero .demo .arrow{color:var(--accent);font-size:20px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:14px 0;padding:20px;box-shadow:0 1px 3px #0000000a}.btn{cursor:pointer;text-align:center;border:none;border-radius:10px;padding:14px 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{cursor:default;background:#b8c4d4}.btn-secondary{color:var(--accent-dark);background:#eef3f9}.btn-secondary:hover{background:#e0eaf6}.btn-danger{color:var(--red);background:#fdecec}.step-label{margin-bottom:8px;font-weight:700;display:block}.hint{color:var(--sub);margin-top:6px;font-size:13px}.hint a{color:var(--accent)}input[type=text],input[type=password]{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px;font-size:16px}input[type=text]:focus,input[type=password]:focus{outline:2px solid var(--accent);border-color:#0000}.file-drop{border:2px dashed var(--line);text-align:center;cursor:pointer;background:#fff;border-radius:14px;padding:28px 16px;transition:border-color .15s}.file-drop:hover,.file-drop.dragover{border-color:var(--accent)}.file-drop .icon{font-size:32px}.preview-img{border-radius:10px;max-width:100%;margin-top:12px}.loading{text-align:center;padding:32px 0}.spinner{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#8f2626;background:#fdecec;border:1px solid #f0c4c4;border-radius:12px;margin:14px 0;padding:14px 16px}.error-box a{color:var(--red)}.result-count{text-align:center;margin-bottom:8px;font-size:22px}.result-count b{color:var(--accent-dark);font-size:40px}.badge{color:#fff;border-radius:999px;padding:4px 16px;font-size:14px;font-weight:700;display:inline-block}.badge-high{background:var(--green)}.badge-medium{background:var(--yellow)}.badge-low{background:var(--red)}.badge-agree{background:var(--green)}.notes{background:#fffbe8;border:1px solid #f0e2a0;border-radius:10px;margin:12px 0;padding:12px 16px;font-size:14px}.notes ul{padding-left:18px}.result-canvas-box{border:1px solid var(--line);border-radius:10px;margin:12px 0;overflow:auto}.result-canvas-box canvas{max-width:100%;height:auto;display:block}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.result-actions .btn{flex:1;min-width:140px}.legend{color:var(--sub);margin-top:4px;font-size:13px}.legend .dot{border-radius:50%;width:10px;height:10px;margin:0 4px 0 10px;display:inline-block}.wizard-progress{gap:6px;margin:20px 0;display:flex}.wizard-progress .seg{background:var(--line);border-radius:3px;flex:1;height:6px}.wizard-progress .seg.done{background:var(--accent)}.wizard-step h2{margin-bottom:12px;font-size:20px}.wizard-nav{gap:10px;margin-top:20px;display:flex}.wizard-nav .btn{flex:1}.trouble{margin-top:16px}.trouble summary{cursor:pointer;color:var(--sub);font-size:14px}.trouble div{color:var(--sub);padding:8px 0 0 12px;font-size:14px}.shot-guide{background:#eef3f9;border-radius:10px;margin:10px 0;padding:14px 16px;font-size:14px}.shot-guide .num{color:var(--accent-dark);font-weight:700}.ok-mark{color:var(--green);font-weight:700}dialog.modal{border:none;border-radius:14px;width:calc(100% - 32px);max-width:420px;padding:24px}dialog.modal::backdrop{background:#0006}dialog.modal h2{margin-bottom:12px;font-size:18px}dialog.modal .row{margin:12px 0}.page-title{margin:28px 0 8px;font-size:22px}.guide-item{align-items:flex-start;gap:12px;display:flex}.guide-item .mark{font-size:22px;line-height:1.4}.good{border-left:4px solid var(--green)}.bad{border-left:4px solid var(--red)}.faq-q{margin-bottom:6px;font-weight:700}.faq-a{color:var(--sub);font-size:15px}footer.site{text-align:center;color:var(--sub);border-top:1px solid var(--line);margin-top:40px;padding:24px 0;font-size:12px}
