.spot-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--duration-moderate) var(--ease-out);text-decoration:none;display:block;overflow:hidden}.spot-preview:hover{border-color:var(--brand-strong)}.spot-preview:hover .spot-preview__title{color:var(--brand-strong);text-decoration:underline}.spot-preview:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.spot-preview__media{aspect-ratio:10/7;border-bottom:3px solid #0000;position:relative;overflow:hidden}.spot-preview__media--good{border-bottom-color:var(--color-success)}.spot-preview__media--bad{border-bottom-color:var(--color-error)}.spot-preview__media--fixed{border-bottom-color:var(--color-border-strong)}.spot-preview__media--archived{border-bottom-color:var(--brand-soft)}.spot-preview__media--archived .spot-preview__image{filter:grayscale(.6)}.spot-preview__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.spot-preview__badge{border-radius:var(--radius-full);background:var(--color-surface);border:2px solid;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;top:12px;left:12px}.spot-preview__badge--good{color:var(--color-success)}.spot-preview__badge--bad{color:var(--color-error)}.spot-preview__badge--muted{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-surface) 92%, transparent)}.spot-preview__badge-check{border-radius:var(--radius-full);border:2px solid var(--color-surface);background:var(--color-success);width:18px;height:18px;color:var(--color-surface);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;bottom:-5px;right:-5px}.spot-preview__fixed{align-items:center;gap:var(--spacing-0-5);border-radius:var(--radius-full);font-size:var(--font-size-sm);padding:2px var(--spacing-1);background:var(--color-success);color:var(--color-surface);font-weight:600;line-height:1.2;display:inline-flex;position:absolute;top:18px;left:54px}.spot-preview__official{border-radius:var(--radius-full);background:var(--brand-accent);width:30px;height:30px;color:var(--color-surface);justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.spot-preview__stats{gap:var(--spacing-1);display:flex;position:absolute;bottom:.5rem;right:.5rem}.spot-preview__stat{align-items:center;gap:var(--spacing-1);padding:var(--spacing-0-5) var(--spacing-1);border-radius:var(--radius-full);background:var(--color-text-strong);color:var(--color-surface);font-size:var(--font-size-sm);font-weight:600;line-height:1;display:flex}.spot-preview__archived-banner{justify-content:center;align-items:center;gap:var(--spacing-0-5);padding:var(--spacing-0-5);border-radius:var(--radius-md);background:var(--color-surface);color:var(--brand-strong);text-align:center;display:flex;position:absolute;top:10px;left:10px;right:10px}.spot-preview__archived-text{font-size:var(--font-size-sm);margin:0}.spot-preview__content{padding:var(--spacing-1-5) var(--spacing-1-5) var(--spacing-1-5);flex-direction:column;display:flex}.spot-preview__title{color:var(--brand-strong);font-weight:600;font-size:var(--font-size-lg);transition:color var(--duration-base) var(--ease-out);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.spot-preview__author{align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);min-width:0;display:flex}.spot-preview__avatar{border-radius:var(--radius-full);flex:none;width:24px;height:24px;min-height:0;overflow:hidden}.spot-preview__avatar :deep(.user-image){border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%}.spot-preview__author-name{font-size:var(--font-size-md);color:var(--brand-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.spot-preview__date{font-size:var(--font-size-sm);color:var(--color-text-muted);flex:none;font-weight:300}.spot-preview__address{align-items:center;gap:var(--spacing-0-5);margin:var(--spacing-1) 0 0;color:var(--color-text-muted);font-weight:300;font-size:var(--font-size-md);display:flex}.spot-preview__address span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-preview__address-icon{flex:none}.spot-preview--archived .spot-preview__title,.spot-preview--archived .spot-preview__author-name{color:var(--color-text-muted)}
