.scan-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px}.scan-layout{grid-template-columns:minmax(0,320px) 1fr;align-items:start;gap:28px;display:grid}.dropzone{text-align:center;cursor:pointer;border:2px dashed var(--line);background:var(--bg-alt);min-height:220px;color:var(--ink-soft);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.dragging,.dropzone:focus-within{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--bg-alt))}.dropzone strong{color:var(--ink);font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:500}.dropzone small{color:var(--ink-faint)}.dropzone input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scan-preview{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--bg-alt);border-radius:20px;width:100%}.scan-panel{flex-direction:column;gap:16px;min-width:0;display:flex}.scan-panel h3{font-size:1.35rem}.scan-reasoning{color:var(--ink-soft);font-size:.96rem}.scan-status{color:var(--ink-soft);align-items:center;gap:12px;display:flex}.scan-spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.scan-spinner{animation-duration:2.4s}}.scan-error{color:var(--ink);background:color-mix(in srgb, var(--mood-aggressive) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--mood-aggressive) 40%, var(--line));border-radius:14px;padding:12px 16px;font-size:.94rem}.scan-button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-self:flex-start;padding:10px 18px;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:500}.scan-button:hover{border-color:var(--primary)}.scan-note{color:var(--ink-faint);margin-top:18px;font-size:.82rem}@media (max-width:820px){.scan-card{padding:20px}.scan-layout{grid-template-columns:1fr}}
.prob-bars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.prob-bar{grid-template-columns:1fr auto;align-items:center;gap:2px 12px;font-size:.9rem;display:grid}.prob-bar-label{font-family:Fredoka,sans-serif;font-weight:500}.prob-bar-pct{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.prob-bar-track{background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;grid-column:1/-1;height:10px;overflow:hidden}.prob-bar-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .5s}@media (prefers-reduced-motion:reduce){.prob-bar-fill{transition:none}}
