:root{font-family:'Segoe UI','Yu Gothic','Meiryo',sans-serif;color:#1b2e43;background:#eef3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.55}.topbar{max-width:1460px;margin:auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;font-size:28px;color:#fff;background:#1569c9;width:44px;height:44px;border-radius:13px}.brand strong{display:block;font-size:22px;letter-spacing:-.5px}.brand small{display:block;color:#6e839a;font-size:12px}.topbadge{border-radius:999px;color:#24623e;background:#e1f5e8;padding:6px 12px;font-size:12px;font-weight:700}.warning{max-width:1412px;margin:0 auto 14px;background:#fff8e7;border:1px solid #eddaac;color:#735522;padding:11px 15px;border-radius:11px;font-size:13px}.layout{max-width:1460px;margin:auto;padding:0 24px 30px;display:grid;grid-template-columns:minmax(0,1fr) 355px;align-items:start;gap:18px}.card{border:1px solid #dce6ef;border-radius:16px;background:white;box-shadow:0 5px 18px #1e48710a;padding:19px}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{color:#1765bc;font-size:11px;font-weight:800;letter-spacing:1px}h1{font-size:20px;margin:2px 0 14px}h2{font-size:18px;margin:1px 0 13px}.tag{background:#f0f6fa;border-radius:99px;font-size:12px;color:#688199;padding:5px 9px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar,.export{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}button,.button{appearance:none;border:1px solid #d1dfec;border-radius:9px;background:#edf4fa;color:#28577d;padding:10px 14px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;text-align:center;display:inline-flex;justify-content:center;align-items:center;transition:background .1s;user-select:none}button:hover,.button:hover{background:#dfebf6}button:disabled{opacity:.45;cursor:not-allowed}.primary{border-color:#1e6bd0!important;background:#1e6bd0!important;color:white!important}.primary:hover{background:#0d55aa!important}.secondary{background:#eaf2fb}.outline{border-color:#99badc;background:white}.wide{width:100%;margin-top:10px}.dropzone{border:2px dashed #c9d9e8;background:#f8fbff;border-radius:12px;min-height:380px;display:grid;place-items:center;overflow:hidden}.dropzone.over{border-color:#1e6bd0;background:#eff6ff}.empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}.illustration{font-size:44px;color:#8eb3d5;letter-spacing:9px}.empty strong{font-size:17px}.empty span,.empty small{color:#7d92a6}.empty small{line-height:1.8}.canvaswrap{width:100%;min-width:0}.canvashead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:11px;color:#637b90;flex-wrap:wrap}.canvas-scroll{max-height:68vh;overflow:auto;text-align:center;background:#d7e2e9;touch-action:auto}canvas{display:block;max-width:none;margin:0 auto;background:#dbe4ec;cursor:crosshair}.imagecontrols{margin-top:15px}.optline{display:flex;align-items:center;gap:14px;margin-top:12px}.optline>label{white-space:nowrap;color:#5e7285;font-size:13px;font-weight:700}.seg{display:flex;flex-wrap:wrap;gap:4px}.seg button{padding:8px 10px}.seg .selected{background:#dcecff;border-color:#2c74c4;color:#1055a4}.sliders{align-items:center;gap:18px;flex-wrap:wrap}.sliders>div{min-width:140px;flex:1}.sliders label{display:block;font-size:12px;font-weight:600}.sliders input[type=range]{width:100%;accent-color:#1f6bc8}.inlinecheck{white-space:nowrap}.subhelp{font-size:12px;color:#788d9d;margin-top:8px}.aside{display:grid;gap:18px}.resultcard>label:not(.confirm){display:block;font-weight:700;color:#576f82;font-size:12px;margin:14px 0 5px}.resultcard input[type=text]{display:block;width:100%;border:1px solid #cbd8e6;border-radius:9px;padding:11px;font:inherit;font-size:13px}.numberbox{display:flex;gap:17px;justify-content:space-between;align-items:center;background:#f2f7fe;border-radius:13px;padding:15px}.minor{display:block;color:#5d7992;font-size:11px}.hero{display:flex;align-items:baseline;gap:4px}.hero span:first-child{font-size:47px;line-height:1.25;font-weight:800;color:#125bbb;letter-spacing:-2px}.hero span:last-child{font-size:14px;font-weight:800}.dividerV{width:1px;background:#d3dfec;align-self:stretch}.stat{font-size:17px;font-weight:800;color:#34566f}.status{margin:13px 0;padding:10px 12px;border-radius:8px;font-weight:700;font-size:12px}.status.neutral{background:#f3f5f7;color:#60778e}.status.ok{background:#eaf6ef;color:#227247}.status.warn{background:#fff3dc;color:#916119}.status.error{background:#ffebeb;color:#a12c36}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.info-grid>div{padding:10px;border:1px solid #e1e9ef;border-radius:9px}.info-grid small{font-size:11px;color:#7890a1;display:block}.info-grid b{font-size:18px}.issues{font-size:12px;color:#806123}.issues p{margin:5px 0}.confirm{display:flex;gap:10px;align-items:start;margin:15px 0 5px;padding:10px;border-radius:10px;background:#eff7f2;font-size:12px}.confirm input{width:17px;height:17px;accent-color:#1c7d4a;margin-top:2px}.confirm strong{display:block}.confirm small{display:block;color:#667b6c;font-size:11px}.totalnum{text-align:center;padding:7px 0 5px;color:#1761b8}.totalnum strong{font-size:43px;font-variant-numeric:tabular-nums}.totalnum span{font-weight:800}.substats{display:flex;justify-content:space-around;color:#5c7489;font-size:12px;border-bottom:1px solid #e7eef6;padding-bottom:12px;margin-bottom:15px}.totalcard .export{gap:6px}.export button,.export .button{font-size:12px;flex:1;padding:9px 8px}.linkdanger{display:block;background:transparent;border:0;color:#aa4b50;font-size:11px;margin:5px auto 0}.historycard{grid-column:1/-1}.historycard h2{margin:1px 0 8px}.muted{font-size:11px;color:#738da0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;min-width:720px}th{text-align:left;background:#f4f8fc;color:#637f93;font-size:11px;white-space:nowrap}td,th{border-bottom:1px solid #e3ebf1;padding:9px}td{font-variant-numeric:tabular-nums}.empty-row{text-align:center;color:#8091a0;padding:20px}td button{padding:4px 8px;font-size:11px}.badcount{color:#9f6a19;font-weight:700}footer{text-align:center;padding:6px 20px 28px;color:#8194a5;font-size:11px;line-height:1.9}@media(max-width:950px){.layout{grid-template-columns:1fr}.aside{grid-template-columns:1fr 1fr}.warning{margin:0 16px 12px}.historycard{grid-column:auto}}@media(max-width:650px){.topbar{padding:10px 12px}.layout{padding:0 10px 18px;gap:10px}.card{padding:13px}.topbadge{font-size:10px;padding:5px 8px}.brand strong{font-size:17px}.brand small{font-size:10px}.warning{margin:0 10px 10px;font-size:11px}.aside{grid-template-columns:1fr;gap:10px}.heading h1{font-size:18px}.toolbar button,.toolbar .button{flex:1;padding:10px 8px}.dropzone{min-height:300px}.canvas-scroll{max-height:60vh}.optline{display:block}.optline>.seg{margin-top:6px}.seg button{font-size:12px}.minor{font-size:11px}.hero span:first-child{font-size:43px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}
/* 履歴表や拡大画像の幅で、スマホのカード全体を押し広げない。 */
.card,.aside{min-width:0}

.captureopt{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 10px;font-size:13px;color:#4d6478;font-weight:700}.captureopt select{font-family:inherit;border:1px solid #bccddd;border-radius:8px;background:#fff;color:#254361;padding:8px;max-width:100%;font-size:13px}.uploadfeedback{font-size:12px;background:#eef6ff;color:#215a91;border:1px solid #cee1f5;border-radius:9px;padding:9px 12px;margin-bottom:10px;line-height:1.55}.uploadfeedback.error{background:#ffeaea;color:#a82d35;border-color:#f0b8b8}.uploadfeedback.ok{background:#e9f7f0;color:#1c724b;border-color:#bfe0cb}.globaldrag{position:fixed;inset:10px;z-index:9999;pointer-events:none;border:5px dashed #1c68c8;border-radius:19px;background:#e4f0ffed;color:#1253a4;font-size:clamp(20px,3vw,34px);font-weight:800;display:flex;justify-content:center;align-items:center;text-align:center;padding:20px;box-shadow:0 0 0 10px #fff8}.globaldrag[hidden]{display:none}.dropzone:focus-visible{outline:3px solid #1c68c8;outline-offset:3px}

/* Mobile camera-first layout */
.camera-actions{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;margin:8px 0 8px}
.camera-actions .button{min-height:52px;font-size:15px;display:flex;align-items:center;justify-content:center}
.camera-primary{box-shadow:0 4px 8px #1e6bd022}
.mobile-note{font-size:12px;color:#496782;margin:7px 0 8px;line-height:1.7}
.auto-switch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#3a607f;margin:7px 0 12px;cursor:pointer}
.auto-switch input{width:18px;height:18px;accent-color:#1e6bd0}
@media(max-width:650px){
 .camera-actions{grid-template-columns:1fr}
 .camera-actions .button{font-size:16px;min-height:58px;width:100%;border-radius:12px}
 .camera-secondary{min-height:50px!important}
 .topbadge{display:none}
 .logo{height:40px;width:40px}
 .canvas-scroll{max-height:55vh}
 .imagecontrols .seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .seg button{min-height:43px}
 .toolbar button{min-height:45px}
 .confirm{padding:14px}
 .confirm input{width:23px;height:23px}
 .wide{min-height:50px;font-size:14px}
 .export button,.export .button{min-height:45px}
}
