/* Embeddable Tesla part finder (/embed/oe-lookup) — what/why: src/lib/oeWidget.ts.
   Plain CSS on purpose: the frame loads on other people's sites, so it carries no app bundle.
   Red (#c1152c = --accent 352 80% 42%) is the identity colour for OE numbers, as on the site. */
* { box-sizing: border-box; }
html, body { margin: 0; background: #fff; color: #141414; font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.w { display: flex; flex-direction: column; height: 100vh; padding: 12px 14px 8px; }
.hd { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.brand { font-weight: 800; font-size: 16px; letter-spacing: -0.01em; color: #141414; text-decoration: none; }
.tt { color: #5e5e5e; font-size: 13px; }
.pick { display: flex; gap: 8px; margin-bottom: 8px; }
.pick label { flex: 1; min-width: 0; }
select, #q { width: 100%; font: inherit; color: #141414; background: #fff; border: 2px solid #e5e5e5; border-radius: 10px; outline: none; }
select { padding: 9px 8px; font-size: 16px; } /* 16px: under that iOS Safari zooms the page on focus */
#q { padding: 10px 12px; font-size: 16px; }
select:focus, #q:focus { border-color: #c1152c; }
.st { margin: 8px 2px 4px; color: #5e5e5e; font-size: 12.5px; }
.r { list-style: none; margin: 0; padding: 0; flex: 1; min-height: 0; overflow: auto; }
.it { display: flex; gap: 10px; padding: 8px 2px; border-top: 1px solid #eee; }
.it:first-child { border-top: 0; }
.tl { flex: none; }
.th { display: block; width: 48px; height: 48px; object-fit: cover; border-radius: 8px; background: #f4f4f4; }
.bd { min-width: 0; flex: 1; }
.nm { color: #141414; font-weight: 600; text-decoration: none; }
.nm:hover { text-decoration: underline; }
.mt { margin-top: 2px; color: #5e5e5e; font-size: 12.5px; }
.oes { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 4px; }
.oe { padding: 0 6px; border-radius: 5px; background: #fbeaec; color: #c1152c; font: 600 12px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.oe.hit { background: #c1152c; color: #fff; }
.go, .more { display: inline-block; margin-top: 6px; color: #c1152c; font-weight: 600; text-decoration: none; }
.more { display: block; padding: 10px 2px; margin: 0; border-top: 1px solid #eee; }
.go:hover, .more:hover { text-decoration: underline; }
.pr { margin: 0 0 0 auto; padding-left: 6px; white-space: nowrap; font-size: 13px; }
.cv { padding: 8px 2px 0; color: #8a8a8a; font-size: 11.5px; }
.ft { margin: 8px 2px 0; color: #8a8a8a; font-size: 11.5px; }
.ft a { color: #141414; font-weight: 700; text-decoration: none; }
/* ⭐ 2026-10-02 — install bar (one tap to keep the finder as an app). */
/* `[hidden]` must win over the flex display — the bar ships hidden and only the client shows it. */
.inst[hidden], .inst-go[hidden] { display: none; }
.inst { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 8px 10px; border: 1px solid #f3c7cd; border-radius: 10px; background: #fff5f6; font-size: 12.5px; line-height: 1.35; }
.inst-b { flex: 1; min-width: 0; color: #141414; }
.inst-b strong { display: block; }
.inst-go { flex: none; padding: 7px 12px; border: 0; border-radius: 8px; background: #c1152c; color: #fff; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; }
.inst-go:hover { background: #a81226; }
.inst-no { flex: none; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #8a8a8a; font-family: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.inst-no:hover { background: #f4e0e3; color: #141414; }
@media (max-width: 440px) { .pick { flex-direction: column; } }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* 2026-10-03 — phone tells (mobile-native): no grey tap flash, no double-tap wait, press feedback on the buttons. */
html { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; }
button, a, select, input { touch-action: manipulation; }
button { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.inst-go:active, .inst-no:active { transform: scale(0.97); transition: transform 120ms cubic-bezier(0.22, 1, 0.36, 1); }
