/* Skedadel Support: sits on top of the developers portal stylesheet (Skedadel Technology brand). */
.hp-c-rider { --sys: #19b3a6; } .hp-c-seller { --sys: #3fb5e8; } .hp-c-eater { --sys: #a4d233; } .hp-c-gate { --sys: #f6a723; } .hp-c-label { --sys: #ffd23f; }

/* Search */
.hp-search { position: relative; max-width: 640px; margin-top: 24px; }
.hp-search input { width: 100%; font: 17px var(--body); padding: 15px 22px; border-radius: 999px; border: 0; box-shadow: none; background: #fff; color: #000; -webkit-appearance: none; appearance: none; }
.hp-search input:focus { box-shadow: inset 0 0 0 2px var(--red); }
.hp-results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 8px); background: #fff; color: #000; border-radius: 20px; padding: 6px; box-shadow: 0 18px 50px rgba(0,0,0,.25); max-height: 70vh; overflow: auto; }
.hp-results a { display: block; padding: 10px 14px; border-radius: 14px; text-decoration: none; }
.hp-results a:hover, .hp-results a:focus { background: var(--ground); }
.hp-results small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-subtle); }
.hp-results b { display: block; font-size: 15px; margin: 2px 0; }
.hp-results span { display: block; font-size: 13px; color: var(--ink-subtle); }
.hp-results__none { margin: 0; padding: 12px 14px; font-size: 14px; color: var(--ink-subtle); }

/* Home */
.hp-systems { margin-bottom: 22px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .hp-systems { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
.hp-system { position: relative; overflow: hidden; }
.hp-system::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--sys, #000); }
.hp-section { margin-top: 4px; }
.hp-flow { margin: 6px 0 0; padding-left: 22px; display: grid; gap: 8px; }
.hp-flow b { display: inline; }
.hp-glossary { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px 22px; margin: 6px 0 0; }
.hp-glossary dt { font-weight: 700; }
.hp-glossary dd { margin: 2px 0 0; color: var(--ink-subtle); font-size: 15px; }
.hp-rules { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 6px; }

/* System page */
.hp-hero { box-shadow: inset 0 -6px 0 var(--sys, #000); }
.hp-eyebrow { background: var(--sys, #232323); color: #000; }
.hp-intro { max-width: 70ch; color: #d8d8d8; font-size: 17px; }
.hp-intro p { margin: 0 0 8px; }
.hp-hero__row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.hp-btn--ghost { background: #232323; }
.hp-who { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.dv-side small { color: var(--ink-subtle); font-size: 12px; margin-left: 4px; }
.dv-side a.is-on small { color: #bbb; }

.hp-shots { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin-top: 12px; }
.hp-shot { margin: 0; background: var(--ground); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; scroll-margin-top: 16px; }
.hp-shot__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #fff; border-bottom: 1px solid var(--line); }
.hp-shot__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; transition: transform .2s; }
.hp-shot__img:hover img { transform: scale(1.02); }
@media (prefers-reduced-motion: reduce) { .hp-shot__img img { transition: none; } .hp-shot__img:hover img { transform: none; } }
.hp-shot figcaption { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.hp-shot figcaption b { font-size: 15px; }
.hp-shot figcaption code { align-self: flex-start; font-size: 12px; background: #fff; }
.hp-shot figcaption small { color: var(--ink-subtle); font-size: 12px; }

.hp-topic h2 { margin-bottom: 10px; }
.hp-faq { border-top: 1px solid var(--line); scroll-margin-top: 16px; }
.hp-faq:first-of-type { border-top: 0; }
.hp-faq summary { cursor: pointer; list-style: none; padding: 14px 36px 14px 0; font-weight: 600; font-size: 16px; position: relative; }
.hp-faq summary::-webkit-details-marker { display: none; }
.hp-faq summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font: 400 24px/1 var(--body); color: var(--ink-subtle); }
.hp-faq[open] summary::after { content: "–"; }
.hp-faq summary:hover { color: var(--red-deep); }
.hp-faq.is-target { background: linear-gradient(90deg, var(--red-tint), transparent 60%); border-radius: 12px; padding: 0 12px; margin: 0 -12px; }
.hp-faq__a { padding: 0 0 16px; font-size: 15px; }
.hp-faq__a p { margin: 0 0 10px; }
.hp-faq__a ol, .hp-faq__a ul { margin: 0 0 10px; padding-left: 22px; }
.hp-faq__a li { margin: 3px 0; }
.hp-where { background: var(--ground); border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.hp-anchor { font-size: 12px; color: var(--ink-subtle); }
.hp-tip { background: var(--red-tint); border-radius: 12px; padding: 10px 12px; font-size: 14px; }

@media (max-width: 900px) {
  .hp-shots { grid-template-columns: 1fr; }
  .hp-side { display: flex; flex-wrap: wrap; gap: 6px; }
  .hp-side p { width: 100%; margin: 6px 0 0; }
  .hp-side a { background: var(--paper); }
  .dv-top__nav { margin-left: 0; }
}

.hp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 14px; color: var(--ink-subtle); font-size: 14px; }
@media print { .dv-top, .dv-side, .hp-search, .hp-toolbar, .dv-foot, .hp-anchor { display: none !important; } .hp-faq { break-inside: avoid; } }
