/* ============================================================
   مكتبة النور — نظام التصميم الإسلامي
   الخطوط: IBM Plex Sans Arabic (الواجهة) + Amiri (الآيات والعناوين)
   ============================================================ */

@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:300; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-arabic-300-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+0691,U+0697,U+FE70-FEFF; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; }
@font-face { font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/ibm-plex-sans-arabic-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; }
@font-face { font-family:'Amiri'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/amiri-arabic-400-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'Amiri'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/amiri-arabic-700-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family:'Amiri'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/amiri-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; }
@font-face { font-family:'Amiri'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/amiri-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; }

:root {
  --bg:#f6f4ec; --surface:#ffffff; --surface-2:#faf7ee; --border:#e6dfc8;
  --text:#1c241c; --muted:#6b7263;
  --primary:#0b6e4f; --primary-strong:#08553d; --primary-soft:#e5f2ea;
  --gold:#b8860b; --gold-soft:#faf0d7;
  --rose:#a3272e; --rose-soft:#f9e8e9;
  --sky:#1d6f8f; --sky-soft:#e3f0f5;
  --radius:14px; --radius-lg:20px;
  --shadow-sm:0 1px 2px rgba(28,36,28,.05);
  --shadow:0 1px 2px rgba(28,36,28,.06),0 10px 28px -14px rgba(28,36,28,.16);
  --shadow-lg:0 24px 60px -24px rgba(28,36,28,.28);
  --nav-h:68px;
}
html[data-theme="dark"] {
  --bg:#101512; --surface:#181f1a; --surface-2:#1d2620; --border:#2a352d;
  --text:#eef2ec; --muted:#9aa894;
  --primary:#4cb98b; --primary-strong:#5fce9e; --primary-soft:#14301f;
  --gold:#e8c56a; --gold-soft:#33290f;
  --rose:#e08a90; --rose-soft:#33151a;
  --sky:#7cc0dc; --sky-soft:#10242e;
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.5);
  --shadow-lg:0 24px 60px -24px rgba(0,0,0,.65);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body, button, input, textarea, select { font-family:'IBM Plex Sans Arabic','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif; }
body { margin:0; background:var(--bg); color:var(--text); line-height:1.75; font-size:16px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img, svg { display:block; }
::selection { background:var(--primary); color:#fff; }
.container { max-width:1180px; margin:0 auto; padding:0 20px; }

.font-quran { font-family:'Amiri','IBM Plex Sans Arabic',serif; }

.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:12px; border:1px solid transparent; font-size:15px; font-weight:600; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,background .15s ease; white-space:nowrap; }
.btn:active { transform:translateY(1px); }
.btn-primary { background:linear-gradient(135deg,var(--primary),var(--primary-strong)); color:#fff; box-shadow:0 6px 18px -8px rgba(11,110,79,.55); }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 10px 24px -8px rgba(11,110,79,.65); }
.btn-gold { background:linear-gradient(135deg,var(--gold),#9a6f00); color:#fff; }
.btn-ghost { background:var(--surface); border-color:var(--border); color:var(--text); }
.btn-ghost:hover { border-color:var(--primary); color:var(--primary); }
.btn-sm { padding:7px 14px; font-size:13.5px; border-radius:10px; }
.btn-icon { width:40px; height:40px; padding:0; justify-content:center; border-radius:12px; }

.badge { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; background:var(--surface-2); color:var(--muted); border:1px solid var(--border); }
.badge-ok { background:var(--primary-soft); color:var(--primary); border-color:transparent; }
.badge-gold { background:var(--gold-soft); color:var(--gold); border-color:transparent; }
.badge-rose { background:var(--rose-soft); color:var(--rose); border-color:transparent; }
.badge-sky { background:var(--sky-soft); color:var(--sky); border-color:transparent; }

.nav { position:sticky; top:0; z-index:60; height:var(--nav-h); background:color-mix(in srgb,var(--surface) 88%,transparent); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); }
.nav-inner { display:flex; align-items:center; gap:14px; height:var(--nav-h); }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; font-size:19px; }
.brand-logo { width:38px; height:38px; border-radius:12px; flex:none; background:linear-gradient(135deg,var(--primary),#0a8a63); display:flex; align-items:center; justify-content:center; color:#fff; }
.brand small { display:block; font-size:11px; font-weight:500; color:var(--muted); line-height:1.2; }
.nav-links { display:flex; align-items:center; gap:4px; margin-inline-start:8px; }
.nav-links a { padding:8px 13px; border-radius:10px; font-size:14.5px; font-weight:600; color:var(--muted); transition:background .15s ease,color .15s ease; }
.nav-links a:hover, .nav-links a.active { background:var(--primary-soft); color:var(--primary); }
.nav-search { flex:1; max-width:320px; margin-inline-start:auto; position:relative; }
.nav-search input { width:100%; padding:9px 38px 9px 14px; border-radius:12px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-size:14px; outline:none; transition:border-color .15s ease,box-shadow .15s ease; }
.nav-search input:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
.nav-search svg { position:absolute; inset-inline-start:12px; top:50%; transform:translateY(-50%); color:var(--muted); }
.nav-mobile-btn { display:none; }

/* هيرو */
.hero { position:relative; overflow:hidden; background:radial-gradient(900px 460px at 85% -10%,rgba(232,197,106,.35),transparent 60%),radial-gradient(700px 400px at 8% 110%,rgba(11,110,79,.5),transparent 55%),linear-gradient(150deg,#07160f 0%,#0b2a1d 48%,#123019 100%); color:#fff; padding:70px 0 90px; }
.hero::after { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px); background-size:26px 26px; opacity:.5; pointer-events:none; }
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:center; }
.hero h1 { font-size:clamp(30px,4.4vw,48px); line-height:1.35; margin:0 0 14px; font-weight:700; }
.hero h1 .hl { background:linear-gradient(90deg,#e8c56a,#f4e3ae); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p.sub { color:#c9d8c8; font-size:17px; max-width:560px; margin:0 0 26px; }
.hero-search { display:flex; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:16px; padding:8px; max-width:560px; }
.hero-search input { flex:1; background:transparent; border:0; outline:none; color:#fff; font-size:15.5px; padding:8px 12px; }
.hero-search input::placeholder { color:#a9bda5; }
.hero-search .btn { background:var(--gold); color:#231a02; }
.hero-stats { display:flex; gap:28px; margin-top:30px; flex-wrap:wrap; }
.hero-stat b { display:block; font-size:24px; }
.hero-stat span { color:#b9c8b2; font-size:13px; }

/* بطاقة البسملة */
.basmala-card { background:rgba(255,255,255,.06); border:1px solid rgba(232,197,106,.35); border-radius:var(--radius-lg); padding:26px 24px; text-align:center; }
.basmala-card .basmala { font-family:'Amiri',serif; font-size:30px; color:#f4e3ae; line-height:1.9; }
.basmala-card .ayah { font-family:'Amiri',serif; font-size:21px; color:#dcebdc; line-height:2.1; margin-top:10px; }
.basmala-card .ref { font-size:12.5px; color:#9db49a; margin-top:8px; }

.section { padding:60px 0; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:26px; flex-wrap:wrap; }
.section-head h2 { font-size:clamp(22px,3vw,30px); margin:0; font-weight:700; }
.section-head p { margin:4px 0 0; color:var(--muted); font-size:15px; }
.sec-tag { display:inline-block; font-size:13px; font-weight:700; color:var(--primary); background:var(--primary-soft); padding:4px 12px; border-radius:999px; margin-bottom:8px; }

/* شبكات */
.pill-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:14px; }
.pill-card { display:flex; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:16px 18px; cursor:pointer; box-shadow:var(--shadow-sm); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.pill-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--primary); }
.pill-card .ic { width:46px; height:46px; border-radius:13px; background:var(--primary-soft); display:flex; align-items:center; justify-content:center; font-size:22px; flex:none; }
.pill-card b { font-size:15.5px; display:block; }
.pill-card span { font-size:12.5px; color:var(--muted); }

.reciter-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.reciter-card { display:flex; gap:14px; align-items:flex-start; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }
.reciter-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.reciter-card .av { width:48px; height:48px; border-radius:999px; flex:none; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:18px; background:linear-gradient(135deg,#0b6e4f,#0a8a63); font-family:'Amiri',serif; }
.reciter-card b { font-size:15.5px; display:block; }
.reciter-card span { font-size:13px; color:var(--muted); }

.item-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.item-card { display:flex; flex-direction:column; gap:10px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); transition:transform .16s ease,box-shadow .16s ease; }
.item-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.item-card .t { font-weight:600; font-size:15px; line-height:1.6; flex:1; }
.item-card .meta { display:flex; flex-wrap:wrap; gap:6px; }
.item-card .actions { display:flex; gap:8px; margin-top:2px; }
.item-card .actions .btn { flex:1; justify-content:center; }
.card-star,.card-share { flex:none !important; width:42px; padding:7px 0; font-size:15px; }

/* صفحات الكتب */
.book-hero { display:flex; gap:18px; flex-wrap:wrap; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px 26px; box-shadow:var(--shadow-sm); margin-bottom:8px; }
.book-hero .ic { width:62px; height:62px; border-radius:18px; font-size:28px; flex:none; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--gold-soft),#f6e7bd); }
.book-hero h1 { margin:0; font-size:24px; }
.book-hero p { margin:2px 0 0; color:var(--muted); font-size:14px; }

.crumbs { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); padding:20px 0 4px; flex-wrap:wrap; }
.crumbs a { color:var(--primary); font-weight:600; }
.crumbs a:hover { text-decoration:underline; }

.tabs { display:flex; gap:8px; flex-wrap:wrap; margin:22px 0 14px; }
.tab { padding:8px 18px; border-radius:999px; font-size:14px; font-weight:600; cursor:pointer; background:var(--surface); border:1px solid var(--border); color:var(--muted); transition:all .15s ease; }
.tab:hover { border-color:var(--primary); color:var(--primary); }
.tab.active { background:var(--primary); border-color:var(--primary); color:#fff; }
.tab i { font-style:normal; font-size:11.5px; background:var(--primary-soft); color:var(--primary); border-radius:999px; padding:1px 7px; margin-inline-start:4px; }
.tab.active i { background:rgba(255,255,255,.25); color:#fff; }

.filter-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }

/* مشغل السور */
.surah-player { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow-sm); }
.surah-player audio { width:100%; margin-top:10px; }
.surah-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:16px; }
.surah-btn { display:flex; flex-direction:column; align-items:center; gap:4px; padding:12px 8px; border-radius:12px; border:1px solid var(--border); background:var(--surface-2); cursor:pointer; transition:all .15s ease; }
.surah-btn:hover { border-color:var(--primary); background:var(--primary-soft); }
.surah-btn b { font-family:'Amiri',serif; font-size:15px; color:var(--text); }
.surah-btn span { font-size:11.5px; color:var(--muted); }

/* إذاعات */
.radio-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.radio-card { display:flex; flex-direction:column; gap:10px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); border-inline-start:4px solid var(--primary); }
.radio-card b { font-size:15.5px; }
.radio-card .actions { display:flex; gap:8px; }

/* الحديث */
.hadith-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-sm); border-inline-start:4px solid var(--gold); }
.hadith-text { font-family:'Amiri',serif; font-size:21px; line-height:2.1; }
.hadith-meta { margin-top:12px; font-size:14px; color:var(--muted); }

/* حالة فارغة وتحميل */
.search-empty { text-align:center; padding:60px 20px; color:var(--muted); }
.search-empty .big { font-size:42px; }
.loading { text-align:center; padding:80px 20px; color:var(--muted); font-size:15px; }
.spinner { width:34px; height:34px; margin:0 auto 14px; border-radius:999px; border:3px solid var(--border); border-top-color:var(--primary); animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.group-h { margin:18px 0 12px; font-size:17px; font-weight:700; display:flex; align-items:center; gap:8px; }
.group-h span { font-size:12.5px; font-weight:600; color:var(--muted); background:var(--surface-2); border:1px solid var(--border); border-radius:999px; padding:1px 10px; }

/* فوتر */
footer { border-top:1px solid var(--border); background:var(--surface); padding:44px 0 30px; margin-top:40px; color:var(--muted); font-size:14px; }
footer .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; }
footer h4 { color:var(--text); margin:0 0 10px; font-size:15px; }
footer a { display:block; padding:3px 0; }
footer a:hover { color:var(--primary); }
footer .legal { border-top:1px solid var(--border); margin-top:30px; padding-top:18px; font-size:12.5px; }

/* بوت */
.bot-fab { position:fixed; bottom:22px; inset-inline-start:22px; z-index:80; width:58px; height:58px; border-radius:999px; border:0; cursor:pointer; background:linear-gradient(135deg,#0b6e4f,#0a8a63); color:#fff; box-shadow:0 12px 30px -8px rgba(11,110,79,.6); display:flex; align-items:center; justify-content:center; transition:transform .18s ease; }
.bot-fab:hover { transform:scale(1.07); }
.bot-panel { position:fixed; bottom:94px; inset-inline-start:22px; z-index:80; width:min(390px,calc(100vw - 44px)); height:min(600px,calc(100vh - 130px)); background:var(--surface); border:1px solid var(--border); border-radius:22px; box-shadow:var(--shadow-lg); display:none; flex-direction:column; overflow:hidden; }
.bot-panel.open { display:flex; animation:pop .22s ease; }
@keyframes pop { from { transform:translateY(14px); opacity:0; } to { transform:none; opacity:1; } }
.bot-head { background:linear-gradient(135deg,#0b6e4f,#0a8a63); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px; }
.bot-head .bh-ic { width:40px; height:40px; border-radius:12px; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.bot-head b { font-size:15.5px; display:block; }
.bot-head span { font-size:12px; opacity:.85; }
.bot-head .close { margin-inline-start:auto; background:rgba(255,255,255,.14); border:0; color:#fff; width:34px; height:34px; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.bot-msgs { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; }
.bmsg { max-width:82%; padding:10px 14px; border-radius:16px; font-size:14.5px; line-height:1.65; white-space:pre-wrap; word-break:break-word; }
.bmsg.user { align-self:flex-end; background:var(--primary); color:#fff; border-end-end-radius:6px; }
.bmsg.bot { align-self:flex-start; background:var(--surface-2); border:1px solid var(--border); border-end-start-radius:6px; }
.bmsg.bot a { color:var(--primary); text-decoration:underline; }
.bmsg.err { background:var(--rose-soft); color:var(--rose); border-color:transparent; }
.bot-typing { display:inline-flex; gap:5px; align-items:center; }
.bot-typing i { width:7px; height:7px; border-radius:999px; background:var(--muted); animation:blink 1.2s infinite; }
.bot-typing i:nth-child(2) { animation-delay:.2s; }
.bot-typing i:nth-child(3) { animation-delay:.4s; }
@keyframes blink { 0%,70%,100% { opacity:.25; } 35% { opacity:1; } }
.bot-input { display:flex; gap:8px; padding:12px; border-top:1px solid var(--border); }
.bot-input input { flex:1; border:1px solid var(--border); border-radius:12px; padding:10px 14px; font-size:14.5px; background:var(--surface-2); color:var(--text); outline:none; }
.bot-input input:focus { border-color:var(--primary); }
.bot-input button { width:44px; height:44px; border:0; border-radius:12px; cursor:pointer; flex:none; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; }
.bot-input button:disabled { opacity:.5; cursor:default; }

/* Toast + زر الصعود */
#toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); background:#1c241c; color:#fff; padding:11px 22px; border-radius:999px; font-size:14px; font-weight:600; z-index:200; opacity:0; pointer-events:none; transition:all .25s ease; box-shadow:0 12px 30px -8px rgba(0,0,0,.4); }
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
#scrollTop { position:fixed; bottom:24px; inset-inline-end:24px; z-index:70; width:46px; height:46px; border-radius:14px; border:1px solid var(--border); background:var(--surface); color:var(--primary); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:all .2s ease; box-shadow:var(--shadow); }
#scrollTop.show { opacity:1; pointer-events:auto; }
#scrollTop:hover { transform:translateY(-3px); }

@media (max-width:980px) {
  .hero-inner { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .nav-mobile-btn { display:flex; }
  footer .cols { grid-template-columns:1fr 1fr; }
}
.mobile-menu { display:none; position:fixed; inset:var(--nav-h) 0 auto 0; z-index:59; background:var(--surface); border-bottom:1px solid var(--border); padding:14px 20px; flex-direction:column; gap:4px; box-shadow:var(--shadow-lg); }
.mobile-menu.open { display:flex; }
.mobile-menu a { padding:12px 14px; border-radius:12px; font-weight:600; }
.mobile-menu a:hover { background:var(--primary-soft); color:var(--primary); }

/* شرائح المصادر */
.src-pill { display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:8px 16px; font-weight:700; font-size:14px; box-shadow:var(--shadow-sm); transition:transform .15s ease,border-color .15s ease; }
.src-pill:hover { transform:translateY(-2px); border-color:var(--primary); }
.src-pill .dot { width:9px; height:9px; border-radius:999px; background:var(--primary); }
