:root { color-scheme: light; font-family: Inter, "Noto Sans SC", system-ui, sans-serif; color: #1d1b1a; background: #f5f1ed; }
* { box-sizing: border-box; }
body { margin: 0; }
.shell { width: min(720px, calc(100% - 32px)); margin: 0 auto; padding: 52px 0 80px; }
.eyebrow { color: #9d7150; font-weight: 800; font-size: 11px; letter-spacing: .13em; }
h1 { font-size: clamp(36px, 8vw, 52px); margin: 8px 0; letter-spacing: -.06em; }
.intro { max-width: 560px; color: #625b56; line-height: 1.7; }
.card, .note { background: #fff; border: 1px solid #e6ddd6; border-radius: 20px; padding: 18px; margin-top: 20px; box-shadow: 0 8px 28px rgba(70, 45, 30, .05); }
.upload { display: flex; cursor: pointer; min-height: 116px; border: 1.5px dashed #c6a58b; border-radius: 14px; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #714b30; font-weight: 700; }
.upload small, #status, .color-readout small, .section-heading span { color: #756d67; font-weight: 400; }
input { position: absolute; width: 1px; height: 1px; opacity: 0; }
#status { min-height: 22px; margin: 13px 2px 0; font-size: 14px; }
.paste-hint { margin: 11px 2px -3px; color: #756d67; font-size: 13px; }
#preview { display: block; max-height: 420px; max-width: 100%; border-radius: 14px; margin: 0 auto; }
.color-readout { display: flex; align-items: center; gap: 10px; margin: 14px 3px 0; }
.color-readout small { display: block; margin-top: 3px; }
.dot { width: 30px; height: 30px; border-radius: 8px; border: 1px solid #ded6d0; background: #eee; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 28px 4px 12px; }
h2 { margin: 0; font-size: 21px; }.section-heading span { font-size: 13px; }
.results { display: grid; gap: 10px; }
.result { display: flex; align-items: center; gap: 14px; padding: 13px; border-radius: 15px; background: #fff; border: 1px solid #e9e1dc; }
.swatch { width: 52px; height: 52px; border-radius: 12px; flex: none; border: 1px solid rgba(0,0,0,.08); }
.avatar { width: 74px; height: 74px; object-fit: cover; border-radius: 12px; flex: none; border: 1px solid rgba(0,0,0,.08); background: #eee; }
.result b { display: block; font-size: 17px; }.result small { color: #716963; display: block; margin-top: 4px; }.distance { margin-left: auto; text-align: right; color: #9d7150; font-weight: 700; font-size: 13px; }
.note { color: #625b56; line-height: 1.65; font-size: 13px; }.hidden { display: none; }
