/* KoraPlus site. Colors come only from tokens.css. Logical properties throughout (RTL first). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--kp-bg-app);
  color: var(--kp-text-primary);
  font: 400 14px/1.5 -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Arabic", "Segoe UI", "Noto Sans Arabic", "Noto Sans", Tahoma, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1; }
a { color: var(--kp-accent-text); }
:focus-visible { outline: 2px solid var(--kp-accent-default); outline-offset: 2px; border-radius: var(--kp-radius-sm); }
.wrap { max-width: 1200px; margin-inline: auto; padding-inline: var(--kp-space-lg); }
.sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; inset-inline-start: var(--kp-space-lg); inset-block-start: -48px; background: var(--kp-accent-default); color: var(--kp-text-on-accent); padding: var(--kp-space-sm) var(--kp-space-md); border-radius: var(--kp-radius-sm); z-index: 10; }
.skip:focus { inset-block-start: var(--kp-space-sm); }
.num, .score, .time, table, .tabular { font-variant-numeric: tabular-nums; }

/* Header and footer */
.nav { background: var(--kp-bg-nav); border-block-end: 1px solid var(--kp-border-default); position: sticky; inset-block-start: 0; z-index: 5; }
.nav .wrap { display: flex; align-items: center; gap: var(--kp-space-lg); min-block-size: 60px; flex-wrap: wrap; }
.brand { font-weight: 700; font-size: 22px; color: var(--kp-text-primary); text-decoration: none; }
.brand span { color: var(--kp-accent-text); }
.links { display: flex; gap: var(--kp-space-lg); flex-wrap: wrap; }
.links a, .langs a { color: var(--kp-text-secondary); text-decoration: none; font-weight: 600; padding-block: var(--kp-space-xs); }
.links a:hover, .langs a:hover { color: var(--kp-text-primary); }
.links a[aria-current="page"] { color: var(--kp-accent-text); }
.tools { margin-inline-start: auto; display: flex; align-items: center; gap: var(--kp-space-md); }
.langs { display: flex; gap: var(--kp-space-md); }
.theme select { background: var(--kp-bg-surface); color: var(--kp-text-primary); border: 1px solid var(--kp-border-default); border-radius: var(--kp-radius-sm); padding: 6px var(--kp-space-sm); font: inherit; }
footer { border-block-start: 1px solid var(--kp-border-default); margin-block-start: var(--kp-space-2xl); }
footer .wrap { padding-block: var(--kp-space-xl); color: var(--kp-text-secondary); font-size: 13px; }
.foot-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--kp-space-xl) var(--kp-space-lg); }
.foot-cols h2 { font-size: 13px; color: var(--kp-text-primary); margin: 0 0 var(--kp-space-sm); }
.foot-cols ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kp-space-xs); }
.foot-cols a { color: var(--kp-text-secondary); text-decoration: none; }
.foot-cols a:hover { color: var(--kp-text-primary); text-decoration: underline; }
.foot-bottom { display: flex; flex-wrap: wrap; gap: var(--kp-space-lg); justify-content: space-between; align-items: center; margin-block-start: var(--kp-space-xl); padding-block-start: var(--kp-space-lg); border-block-start: 1px solid var(--kp-border-default); font-size: 12px; }
@media (max-width: 640px) {
  .nav .wrap { padding-block: var(--kp-space-sm); gap: var(--kp-space-sm) var(--kp-space-lg); }
  .nav .links { order: 3; inline-size: 100%; gap: var(--kp-space-md); overflow-x: auto; }
}

/* Page heads, chips, status */
.page-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--kp-space-md); margin-block: var(--kp-space-xl) var(--kp-space-md); }
h1 { font-size: 24px; line-height: 1.3; margin: 0; }
h2 { font-size: 16px; font-weight: 600; line-height: 1.4; margin: var(--kp-space-xl) 0 var(--kp-space-sm); }
.updated { color: var(--kp-text-secondary); font-size: 11px; margin: 0 0 var(--kp-space-md); min-block-size: 16px; }
.live-count { color: var(--kp-live-default); font-weight: 600; font-size: 12px; margin: 0; }
.chips { display: flex; gap: var(--kp-space-sm); overflow-x: auto; padding-block-end: var(--kp-space-sm); scrollbar-width: none; }
.chip { flex: none; border: 0; border-radius: var(--kp-radius-full); background: var(--kp-bg-surface); color: var(--kp-text-secondary); font: 600 12px/1.4 inherit; font-family: inherit; padding: var(--kp-space-sm) var(--kp-space-lg); cursor: pointer; text-decoration: none; }
.chip[aria-selected="true"], .chip[aria-current="page"] { background: var(--kp-accent-default); color: var(--kp-text-on-accent); }
.status { display: inline-block; font-size: 11px; font-weight: 600; color: var(--kp-text-secondary); }
.status.live { color: var(--kp-live-default); }
.pill { display: inline-block; border-radius: var(--kp-radius-full); padding: 2px var(--kp-space-md); font-size: 12px; font-weight: 600; background: var(--kp-bg-raised); color: var(--kp-text-secondary); }
.pill.official { background: var(--kp-accent-subtle); color: var(--kp-accent-text); }

/* Today layout: matches, plus a standings panel on wide screens */
.today { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--kp-space-xl); }
.today-main { min-inline-size: 0; }
@media (max-width: 959px) { .side { display: none; } }
@media (min-width: 960px) { .today { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; } .side { position: sticky; inset-block-start: 84px; margin-block-start: 76px; } }
.side { background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-lg); }
.side h2 { margin-block-start: 0; }
.group-title { color: var(--kp-text-secondary); font-size: 12px; font-weight: 600; margin: var(--kp-space-lg) 0 var(--kp-space-sm); }
.group-title a { color: inherit; text-decoration: none; }
.group-title a:hover { color: var(--kp-text-primary); }

/* Match card: home at inline-start (right in RTL), score in explicit positions */
.matches { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kp-space-sm); }
.match { display: grid; grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr); align-items: center; gap: var(--kp-space-sm); background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-md); color: inherit; text-decoration: none; }
a.match:hover { background: var(--kp-bg-raised); }
.team { display: flex; align-items: center; gap: var(--kp-space-sm); min-inline-size: 0; }
.team.away { flex-direction: row-reverse; }
.team .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.mid { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.score { display: flex; gap: var(--kp-space-sm); align-items: center; font-weight: 700; font-size: 22px; line-height: 1.2; }
.score .sep { inline-size: 8px; block-size: 2px; background: var(--kp-text-secondary); border-radius: 1px; }
.time { font-weight: 700; font-size: 18px; }
.na { color: var(--kp-text-secondary); font-size: 12px; }
.crest { flex: none; inline-size: 32px; block-size: 32px; border-radius: var(--kp-radius-full); background: var(--kp-bg-raised); color: var(--kp-text-primary); display: grid; place-items: center; font-size: 12px; font-weight: 600; }
@media (max-width: 480px) { .match { grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr); } .crest { display: none; } .score { font-size: 20px; } }

/* States */
.skeletons { display: grid; gap: var(--kp-space-sm); }
.skel { block-size: 58px; border-radius: var(--kp-radius-lg); background: var(--kp-bg-surface); animation: pulse 1.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .55; } }
.empty { text-align: center; padding: var(--kp-space-2xl) var(--kp-space-lg); background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); color: var(--kp-text-secondary); }
.empty h2 { color: var(--kp-text-primary); margin-block-start: 0; }
.banner { border-radius: var(--kp-radius-md); padding: var(--kp-space-md) var(--kp-space-lg); background: var(--kp-bg-raised); color: var(--kp-text-primary); margin-block-end: var(--kp-space-md); font-size: 13px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: 44px; padding: var(--kp-space-md) var(--kp-space-lg); border-radius: var(--kp-radius-md); font: 700 14px/1.4 inherit; font-family: inherit; border: 0; text-decoration: none; cursor: pointer; }
.btn.primary { background: var(--kp-accent-default); color: var(--kp-text-on-accent); }
.btn.secondary { background: var(--kp-bg-raised); color: var(--kp-text-primary); }
.btn[aria-disabled="true"] { cursor: default; opacity: .75; }

/* Match details */
[data-page="match"] main .wrap, [data-page="league"] main .wrap, [data-page="leagues"] main .wrap, [data-page="players"] main .wrap { max-inline-size: 840px; }
.header { background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-xl) var(--kp-space-lg); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--kp-space-md); align-items: center; text-align: center; }
.header .side-team { display: flex; flex-direction: column; align-items: center; gap: var(--kp-space-sm); font-weight: 600; font-size: 16px; }
.header .crest { inline-size: 56px; block-size: 56px; font-size: 18px; }
.header .score { font-size: 32px; }
.header .time { font-size: 24px; }
.header .meta { color: var(--kp-text-secondary); font-size: 12px; grid-column: 1 / -1; }
.back { display: inline-flex; align-items: center; gap: var(--kp-space-xs); color: var(--kp-text-secondary); text-decoration: none; margin-block-start: var(--kp-space-lg); }
.back .icon { inline-size: 17px; block-size: 17px; background: currentColor; -webkit-mask: url(/icons/back.svg) center / contain no-repeat; mask: url(/icons/back.svg) center / contain no-repeat; }
[dir="ltr"] .back .icon { transform: scaleX(-1); }
.tabs { display: flex; border-block-end: 1px solid var(--kp-border-default); margin-block: var(--kp-space-lg); }
.tab { flex: 1; background: none; border: 0; border-block-end: 2px solid transparent; color: var(--kp-text-secondary); font: 600 14px/1.5 inherit; font-family: inherit; padding: var(--kp-space-md); cursor: pointer; text-decoration: none; text-align: center; }
.tab[aria-selected="true"] { color: var(--kp-accent-text); border-block-end-color: var(--kp-accent-default); }
.events { list-style: none; margin: 0; padding: 0; }
.event { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: var(--kp-space-md); padding: var(--kp-space-md) 0; border-block-end: 1px solid var(--kp-border-default); }
.event.away { grid-template-columns: minmax(0, 1fr) 52px; text-align: end; }
.event.away .minute { order: 2; }
.event .minute { color: var(--kp-text-secondary); font-weight: 600; }
.event .who { font-weight: 600; }
.event .what { color: var(--kp-text-secondary); font-size: 12px; }
.event .what .ecard, .plain .ecard { display: inline-block; inline-size: 9px; block-size: 12px; border-radius: 2px; margin-inline-end: var(--kp-space-xs); vertical-align: -1px; }
.ecard.yellow { background: var(--kp-event-yellow-card); }
.ecard.red { background: var(--kp-event-red-card); }
.lineup-head { display: flex; justify-content: space-between; align-items: center; margin-block-end: var(--kp-space-sm); color: var(--kp-text-secondary); }
.pitch { position: relative; aspect-ratio: 68 / 100; max-inline-size: 420px; margin-inline: auto; background: var(--kp-pitch-field); border-radius: var(--kp-radius-lg); overflow: hidden; }
.pitch::before { content: ""; position: absolute; inset: 3%; border: 1px solid var(--kp-pitch-line); }
.pitch::after { content: ""; position: absolute; inset-inline: 3%; inset-block-start: 50%; border-block-start: 1px solid var(--kp-pitch-line); }
.pitch .circle { position: absolute; inline-size: 26%; aspect-ratio: 1; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); background: var(--kp-pitch-line); -webkit-mask: url(/icons/center-circle.svg) center / contain no-repeat; mask: url(/icons/center-circle.svg) center / contain no-repeat; }
[dir="rtl"] .pitch .circle { transform: translate(50%, -50%); }
.pitch .box { position: absolute; inset-inline: 27%; block-size: 13%; border: 1px solid var(--kp-pitch-line); }
.pitch .box.top { inset-block-start: 3%; } .pitch .box.bottom { inset-block-end: 3%; }
.player { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 2px; inline-size: 22%; text-align: center; }
.player .dot { inline-size: 28px; block-size: 28px; border-radius: var(--kp-radius-full); background: var(--kp-pitch-player); color: var(--kp-pitch-player-text); display: grid; place-items: center; font-size: 12px; font-weight: 600; }
.player .pname { font-size: 11px; color: var(--kp-pitch-player); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-inline-size: 100%; }
.subs { list-style: none; padding: 0; margin: 0; columns: 2 220px; }
.subs li { padding-block: var(--kp-space-xs); break-inside: avoid; }
.subs .n { display: inline-block; min-inline-size: 28px; color: var(--kp-text-secondary); }
.stats { display: grid; gap: var(--kp-space-md); }
.stat .row { display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; text-align: center; font-size: 13px; }
.stat .row .label { color: var(--kp-text-secondary); }
.stat .bar { display: flex; gap: 4px; block-size: 6px; margin-block-start: var(--kp-space-xs); }
.stat .bar span { border-radius: 3px; background: var(--kp-bg-raised); }
.stat .bar .home { background: var(--kp-accent-default); }

/* Tables */
.table-wrap { overflow-x: auto; background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); }
table { inline-size: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 10px var(--kp-space-md); text-align: start; border-block-end: 1px solid var(--kp-border-default); white-space: nowrap; }
th { color: var(--kp-text-secondary); font-weight: 600; font-size: 12px; }
td.c, th.c { text-align: center; }
td.pts { font-weight: 700; }
tr:last-child td { border-block-end: 0; }
.side .table-wrap { background: none; }
.side th, .side td { padding: 6px var(--kp-space-sm); }

/* Lists */
.list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kp-space-sm); }
.row-link { display: flex; align-items: center; gap: var(--kp-space-md); background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-md) var(--kp-space-lg); color: inherit; text-decoration: none; }
a.row-link:hover { background: var(--kp-bg-raised); }
.row-link .grow { flex: 1; min-inline-size: 0; }
.row-link .grow > * { display: block; }
.row-link .sub { color: var(--kp-text-secondary); font-size: 12px; }

/* App page (Figma: Website) */
.hero { display: grid; gap: var(--kp-space-2xl); align-items: center; padding-block: var(--kp-space-2xl); }
@media (min-width: 960px) { .hero { grid-template-columns: minmax(0, 1fr) auto; } }
.hero-text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--kp-space-lg); }
.badge { background: var(--kp-accent-subtle); color: var(--kp-accent-text); border-radius: var(--kp-radius-full); padding: var(--kp-space-xs) var(--kp-space-md); font-size: 12px; font-weight: 600; }
.hero h1 { font-size: clamp(34px, 6vw, 56px); line-height: 1.2; }
.lead { font-size: 18px; line-height: 1.6; color: var(--kp-text-secondary); margin: 0; }
.buttons { display: flex; flex-wrap: wrap; gap: var(--kp-space-md); }
.fine { color: var(--kp-text-secondary); font-size: 11px; margin: 0; }
.fine.note { margin-block-start: var(--kp-space-lg); }
.intro { color: var(--kp-text-secondary); margin: 0 0 var(--kp-space-md); }
.score.small { font-size: inherit; display: inline-flex; }
.fine.center { text-align: center; margin-block-start: var(--kp-space-md); }
.hero-shots { display: flex; gap: var(--kp-space-xl); justify-content: center; }
.phone { margin: 0; border: 1px solid var(--kp-border-dashed); border-radius: var(--kp-radius-xl); overflow: hidden; inline-size: 240px; max-inline-size: 42vw; background: var(--kp-bg-app); }
.phone img { display: block; inline-size: 100%; block-size: auto; }
.phone figcaption { text-align: center; color: var(--kp-text-secondary); font-size: 12px; padding: var(--kp-space-sm); }
.section { padding-block: var(--kp-space-xl); }
.section > h2 { font-size: 32px; font-weight: 700; line-height: 1.2; text-align: center; margin-block-end: var(--kp-space-2xl); }
.cards, .steps { display: grid; gap: var(--kp-space-xl); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); list-style: none; padding: 0; margin: 0; }
.card { background: var(--kp-bg-surface); border: 1px solid var(--kp-border-default); border-radius: var(--kp-radius-lg); padding: var(--kp-space-xl); }
.card h3 { margin: 0 0 var(--kp-space-md); font-size: 16px; color: var(--kp-accent-text); }
.steps .card h3 { color: var(--kp-text-primary); }
.card p { margin: 0; color: var(--kp-text-secondary); }
.steps .num { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: var(--kp-radius-full); background: var(--kp-accent-default); color: var(--kp-text-on-accent); font-weight: 600; margin-block-end: var(--kp-space-md); }
.split { display: grid; gap: var(--kp-space-2xl); align-items: center; }
@media (min-width: 800px) { .split { grid-template-columns: auto minmax(0, 1fr); } }
.split h2 { font-size: 32px; font-weight: 700; line-height: 1.2; margin-block-start: 0; }
.split ul, .plan ul { list-style: none; padding: 0; margin: var(--kp-space-lg) 0 0; display: grid; gap: var(--kp-space-md); }
.benefit { display: flex; align-items: center; gap: var(--kp-space-md); }
.check { flex: none; inline-size: 24px; block-size: 24px; border-radius: var(--kp-radius-full); background: var(--kp-accent-subtle); display: grid; place-items: center; }
.check::before { content: ""; inline-size: 14px; block-size: 14px; background: var(--kp-accent-text); -webkit-mask: url(/icons/check.svg) center / contain no-repeat; mask: url(/icons/check.svg) center / contain no-repeat; }
.shots { display: flex; gap: var(--kp-space-lg); overflow-x: auto; padding-block-end: var(--kp-space-sm); }
.shots .phone { flex: none; inline-size: 200px; }
.plans { display: grid; gap: var(--kp-space-xl); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.plan { background: var(--kp-bg-surface); border: 1px solid var(--kp-border-default); border-radius: var(--kp-radius-lg); padding: var(--kp-space-xl); }
.plan h3 { margin: 0; font-size: 24px; }
.plan .sub { color: var(--kp-text-secondary); margin: var(--kp-space-sm) 0 0; }
.plan.plus { background: var(--kp-premium-surface); border: 2px solid var(--kp-premium-default); }
.plan.plus h3 { color: var(--kp-premium-text); }
.trust { background: var(--kp-accent-subtle); color: var(--kp-accent-text); border-radius: var(--kp-radius-lg); padding: var(--kp-space-xl); text-align: center; font-weight: 600; font-size: 16px; margin: 0; }

/* Legal pages */
.doc { max-inline-size: 760px; padding-block: var(--kp-space-xl); }
.doc h1 { margin-block-end: var(--kp-space-md); }
.doc p, .doc li { line-height: 1.8; color: var(--kp-text-primary); }
.doc .updated, .draft { color: var(--kp-text-secondary); }
.email { direction: ltr; unicode-bidi: isolate; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Match and league preview (server-rendered, below the data) */
.preview { margin-block-start: var(--kp-space-xl); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--kp-space-sm); }
.lead-text { font-size: 16px; line-height: 1.7; margin: 0; padding: var(--kp-space-lg); background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); }
.block h2 { margin-block-start: var(--kp-space-lg); }
.sub-head { display: flex; align-items: center; gap: var(--kp-space-sm); flex-wrap: wrap; font-size: 14px; font-weight: 600; margin: var(--kp-space-lg) 0 var(--kp-space-sm); }
.zones th { font-weight: 600; text-align: start; }
.form { display: inline-flex; gap: 2px; vertical-align: middle; }
.form .f { position: relative; inline-size: 20px; block-size: 20px; border-radius: var(--kp-radius-sm); display: inline-grid; place-items: center; font-size: 11px; font-weight: 700; background: var(--kp-bg-raised); color: var(--kp-text-secondary); }
.form .f.W { background: var(--kp-accent-subtle); color: var(--kp-accent-text); }
.form .f.L { background: var(--kp-bg-raised); color: var(--kp-text-primary); box-shadow: inset 0 0 0 1px var(--kp-border-dashed); }
.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kp-space-md); background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-md) var(--kp-space-lg); }
.team-label { font-weight: 600; margin: 0 0 var(--kp-space-xs); }
.plain { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kp-space-xs); }
.plain .minute { color: var(--kp-text-secondary); font-weight: 600; display: inline-block; min-inline-size: 3.5em; }
.app-card { margin-block-start: var(--kp-space-lg); padding: var(--kp-space-lg); border-radius: var(--kp-radius-lg); background: var(--kp-accent-subtle); display: flex; gap: var(--kp-space-md); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.app-card p { margin: 0; flex: 1 1 260px; }
.block > .plain { background: var(--kp-bg-surface); border-radius: var(--kp-radius-lg); padding: var(--kp-space-md) var(--kp-space-lg); }
.day-nav { display: flex; gap: var(--kp-space-sm); flex-wrap: wrap; justify-content: space-between; margin-block-start: var(--kp-space-lg); }
.team-link { color: inherit; text-decoration: none; }
.team-link:hover { color: var(--kp-accent-text); text-decoration: underline; }

/* Breadcrumb */
.crumbs { margin-block-start: var(--kp-space-lg); font-size: 12px; color: var(--kp-text-secondary); }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--kp-space-xs); }
.crumbs li + li::before { content: "›"; margin-inline-end: var(--kp-space-xs); }
[dir="rtl"] .crumbs li + li::before { content: "‹"; }
.crumbs a { color: var(--kp-text-secondary); }
.crumbs [aria-current] { color: var(--kp-text-primary); }

/* Search */
.search { position: relative; }
.search input { inline-size: 180px; max-inline-size: 42vw; background: var(--kp-bg-surface); color: var(--kp-text-primary); border: 1px solid var(--kp-border-default); border-radius: var(--kp-radius-full); padding: 6px var(--kp-space-md); font: inherit; }
.search input::placeholder { color: var(--kp-text-secondary); }
.search ul { position: absolute; inset-inline-start: 0; inset-block-start: calc(100% + 4px); z-index: 20; inline-size: min(320px, 90vw); list-style: none; margin: 0; padding: var(--kp-space-xs); background: var(--kp-bg-surface); border: 1px solid var(--kp-border-default); border-radius: var(--kp-radius-md); }
.search li a { display: flex; justify-content: space-between; gap: var(--kp-space-md); padding: var(--kp-space-sm) var(--kp-space-md); border-radius: var(--kp-radius-sm); color: var(--kp-text-primary); text-decoration: none; }
.search li[aria-selected="true"] a, .search li a:hover { background: var(--kp-bg-raised); }
.search .kind { color: var(--kp-text-secondary); font-size: 12px; }
.search .none { padding: var(--kp-space-sm) var(--kp-space-md); color: var(--kp-text-secondary); }
.tools { flex-wrap: wrap; min-inline-size: 0; }
@media (max-width: 640px) {
  .tools { inline-size: 100%; }
  .search { order: 3; flex: 1 1 100%; }
  .search input { inline-size: 100%; max-inline-size: none; }
  .search ul { inline-size: 100%; }
}
