*,:before,:after{box-sizing:border-box}:root{--bg:#f5f6f8;--surface:#fff;--ink:#1a2333;--ink-soft:#5b6472;--line:#e3e6eb;--accent:#d97706;--accent-dark:#b45309;--navy:#16233b;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}body{background:var(--bg);min-height:100vh;margin:0}#root{min-height:100vh}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy);color:#fff}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:16px 24px;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand em{color:var(--accent);font-style:normal}.brand-icon{width:26px;height:26px;color:var(--accent)}.tagline{color:#aab4c5;font-size:13px;font-weight:500}.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:48px 24px 64px}.footer{border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);padding:18px 24px;font-size:13px}.muted{color:var(--ink-soft)}.hero{text-align:center;max-width:660px;margin:0 auto}.hero h1{letter-spacing:-.5px;font-size:clamp(28px,4.5vw,40px);line-height:1.15}.hero-sub{color:var(--ink-soft);max-width:560px;margin:14px auto 32px;font-size:17px;line-height:1.55}.upload-card{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:14px;padding:24px;box-shadow:0 8px 28px #16233b12}.dropzone{text-align:center;color:var(--ink-soft);border:2px dashed #c6ccd6;border-radius:10px;padding:44px 24px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);cursor:pointer;background:#fffaf3}.dropzone.disabled{opacity:.6;pointer-events:none}.dropzone-icon{width:40px;height:40px;color:var(--accent);margin:0 auto 12px}.dropzone-title{color:var(--ink);font-size:16px;font-weight:600}.dropzone-sub{margin-top:6px;font-size:14px}.dropzone .link{color:var(--accent-dark);font-weight:600;text-decoration:underline}.preview-img{object-fit:contain;background:#0f1522;border-radius:10px;width:100%;max-height:340px}.preview-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.filename{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.btn-text{color:var(--accent-dark);white-space:nowrap;background:0 0;border:none;padding:4px;font-size:14px;font-weight:600}.btn-text:hover{text-decoration:underline}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:18px;padding:14px 20px;font-size:16px;font-weight:700;transition:background .15s;display:flex}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.analyzing-hint{text-align:center;color:var(--ink-soft);margin-top:10px;font-size:13px}.spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{color:#a33030;background:#fdf0f0;border:1px solid #f2c4c4;border-radius:8px;margin-top:16px;padding:12px 14px;font-size:14px}.trust-row{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:28px;font-size:14px;display:flex}.trust-row li:before{content:"✓";color:var(--accent);margin-right:8px;font-weight:700}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.results-header h2{letter-spacing:-.3px;font-size:26px}.results-header .muted{margin-top:4px;font-size:15px}.btn-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-dark)}.results-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}@media (width<=900px){.results-grid{grid-template-columns:1fr}}.annotated-wrap{border:1px solid var(--line);background:#0f1522;border-radius:12px;position:relative;overflow:hidden}.annotated-img{width:100%;display:block}.annotated-overlay{width:100%;height:100%;position:absolute;inset:0}.damage-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 4px 16px #16233b0d}.damage-list h3{align-items:center;gap:10px;margin-bottom:14px;font-size:16px;display:flex}.count-badge{background:var(--navy);color:#fff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.damage-item{border:1.5px solid #0000;border-radius:10px;gap:12px;padding:12px;transition:background .12s,border-color .12s;display:flex}.damage-item:not(.unclear){cursor:pointer}.damage-item:not(.unclear):hover,.damage-item.active{background:color-mix(in srgb, var(--item-color) 7%, white);border-color:var(--item-color)}.damage-item.unclear{opacity:.75}.swatch{background:var(--item-color);color:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;font-size:13px;font-weight:700;display:flex}.damage-info{flex-direction:column;gap:3px;min-width:0;display:flex}.damage-type{text-transform:capitalize;font-size:15px;font-weight:600}.severity{border-radius:999px;width:fit-content;padding:1px 8px;font-size:12px;font-weight:600}.severity-high{color:#b42323;background:#fdeaea}.severity-medium{color:#a05c07;background:#fef3e0}.severity-low{color:#1e7c3a;background:#e9f6ec}.coords{color:var(--ink-soft);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.list-footnote{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:14px;padding-top:14px;font-size:12.5px;line-height:1.5}.all-clear{text-align:center;padding:18px 8px}.all-clear-icon{color:#1e7c3a;background:#e9f6ec;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:10px;font-size:20px;font-weight:700;display:inline-flex}.all-clear p{font-size:14.5px;line-height:1.5}.all-clear .muted{margin-top:6px;font-size:13px}.disclaimer{color:var(--ink-soft);text-align:center;margin-top:20px;font-size:12.5px}.results-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-compare{width:auto;margin-top:0;padding:10px 18px;font-size:14px}.results .error-banner{margin:0 0 16px}.results .analyzing-hint{text-align:left;margin:-6px 0 16px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);background:#0f15228c;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:16px;width:min(960px,100%);max-height:calc(100vh - 48px);padding:22px;animation:.22s ease-out modal-in;overflow:auto;box-shadow:0 24px 64px #080c1673}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.modal-head h3{letter-spacing:-.2px;font-size:19px}.modal-head .muted{margin-top:4px;font-size:14px}.modal-close{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink-soft);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:border-color .15s,color .15s;display:flex}.modal-close:hover{border-color:var(--accent);color:var(--accent-dark)}.compare-wrap{background:#0f1522;border-radius:12px;position:relative;overflow:hidden}.compare-wrap [data-rcs=root]{max-height:68vh}.compare-wrap img{object-fit:contain}.compare-tag{z-index:5;letter-spacing:.4px;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(4px);pointer-events:none;background:#0f1522a6;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;position:absolute;top:12px}.compare-tag-before{left:12px}.compare-tag-after{background:#d97706d9;right:12px}.modal-footnote{color:var(--ink-soft);text-align:center;margin-top:14px;font-size:12.5px}
