#rayan-ai-root {
  --rai-neon: #58ff72;
  --rai-light: #d9ffe0;
  --rai-dark: #020a04;
  --rai-panel: rgba(1, 13, 5, .91);
  --rai-border: rgba(116, 255, 137, .72);
  position: relative;
  width: 100vw;
  min-height: 100svh;
  margin-left: calc(50% - 50vw);
  display: grid;
  place-items: center;
  overflow: visible;
  padding: clamp(24px, 5vw, 64px);
  background-image: linear-gradient(rgba(0, 8, 2, .33), rgba(0, 8, 2, .62)), var(--rai-matrix-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--rai-light);
  font-family: "Courier New", ui-monospace, monospace;
  box-sizing: border-box;
}
#rayan-ai-root *, #rayan-ai-root *::before, #rayan-ai-root *::after { box-sizing: border-box; }
#rayan-ai-root::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(circle at 50% 42%, rgba(27,255,72,.14), transparent 48%), repeating-linear-gradient(to bottom, transparent 0 4px, rgba(91,255,116,.025) 5px); }

#rayan-ai-root .rayan-ai-vignette {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  padding: clamp(22px, 4vw, 50px);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 3px double rgba(139,255,156,.82);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(0,13,4,.82), rgba(0,5,2,.94));
  box-shadow: inset 0 0 55px rgba(38,255,74,.08), 0 0 10px rgba(108,255,133,.68), 0 0 42px rgba(32,255,67,.25), 0 28px 90px rgba(0,0,0,.7);
  backdrop-filter: blur(7px);
}
#rayan-ai-root .rayan-ai-vignette::before { content:""; position:absolute; inset:8px; pointer-events:none; border:1px solid rgba(132,255,151,.20); border-radius:14px; }

#rayan-ai-root .rayan-ai-logo-frame { width: 100%; display:flex; justify-content:center; padding:4px 0 24px; border-bottom:1px solid rgba(97,255,121,.17); }
#rayan-ai-root .rayan-ai-logo {
  display: block;
  width: min(430px, 50%);
  height: auto;
  max-height: 128px;
  object-fit: contain;
  filter: drop-shadow(0 0 7px rgba(213,255,220,.85)) drop-shadow(0 0 24px rgba(44,255,78,.48));
}

#rayan-ai-root .rayan-ai-information-grid { width:100%; margin:26px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); align-items:stretch; gap:24px; }
#rayan-ai-root .rayan-ai-intro { min-height:86px; margin:0; padding:18px 20px; display:flex; align-items:center; border-left:2px solid var(--rai-neon); background:linear-gradient(90deg,rgba(27,255,66,.09),transparent); color:#ecfff0; font-size:clamp(15px,1.7vw,19px); line-height:1.55; text-shadow:0 0 9px rgba(87,255,112,.52); }
#rayan-ai-root .rayan-ai-intro > span { margin-right:9px; color:var(--rai-neon); font-weight:900; }
#rayan-ai-root .rayan-ai-intro > i { flex:0 0 8px; width:8px; height:1.05em; margin-left:6px; background:var(--rai-neon); box-shadow:0 0 12px var(--rai-neon); animation:rai-blink 1s steps(1) infinite; }

#rayan-ai-root .rayan-ai-connection { min-height:86px; padding:14px 17px; display:flex; align-items:center; gap:13px; border:3px double var(--rai-border); border-radius:10px; background:rgba(1,19,6,.88); box-shadow:inset 0 0 24px rgba(51,255,83,.08),0 0 9px rgba(104,255,128,.54),0 0 25px rgba(37,255,70,.19); }
#rayan-ai-root .rayan-ai-connection b { flex:0 0 12px; width:12px; height:12px; border-radius:50%; }
#rayan-ai-root .rayan-ai-connection > span { display:flex; flex-direction:column; gap:5px; }
#rayan-ai-root .rayan-ai-connection strong { color:#eaffee; font-size:12px; letter-spacing:.1em; }
#rayan-ai-root .rayan-ai-connection small { color:rgba(218,255,225,.76); font-size:12px; line-height:1.35; }
#rayan-ai-root .rayan-ai-connection.is-online b { background:var(--rai-neon); box-shadow:0 0 8px var(--rai-neon),0 0 20px rgba(60,255,92,.7); animation:rai-pulse 1.8s ease-in-out infinite; }
#rayan-ai-root .rayan-ai-connection.is-offline { border-color:rgba(255,94,112,.75); box-shadow:inset 0 0 24px rgba(255,40,65,.08),0 0 15px rgba(255,55,78,.3); }
#rayan-ai-root .rayan-ai-connection.is-offline b { background:#ff5269; box-shadow:0 0 15px rgba(255,82,105,.85); }

#rayan-ai-root #rayan-ai-launcher, #rayan-ai-root .rayan-ai-locked {
  appearance: none !important;
  position: relative;
  width: min(430px, 100%);
  min-height: 64px;
  margin: 2px 0 0 !important;
  padding: 17px 26px !important;
  overflow: hidden;
  border: 1px solid #8aff9b !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #063d13, #0d7426 50%, #052e0f) !important;
  background-size: 220% 100% !important;
  color: #effff2 !important;
  box-shadow: inset 0 0 23px rgba(77,255,105,.17),0 0 8px rgba(130,255,149,.7),0 0 30px rgba(31,255,66,.26) !important;
  font: 700 clamp(13px,1.7vw,16px)/1.2 "Courier New",monospace !important;
  letter-spacing:.13em !important;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease;
}
#rayan-ai-root #rayan-ai-launcher::before { content:""; position:absolute; top:-130%; bottom:-130%; left:-32%; width:22%; transform:rotate(18deg); background:linear-gradient(90deg,transparent,rgba(234,255,238,.9),transparent); animation:rai-shine 3.6s ease-in-out infinite; }
#rayan-ai-root #rayan-ai-launcher:hover { transform:translateY(-3px); background:linear-gradient(135deg,#0b6b24,#15933a 50%,#074c19) !important; box-shadow:inset 0 0 28px rgba(109,255,132,.25),0 0 13px #75ff8a,0 0 42px rgba(34,255,68,.42) !important; }
#rayan-ai-root .rayan-ai-launcher-code { position:absolute; inset:0; display:grid; place-items:center; color:rgba(184,255,196,.08); font-size:36px; letter-spacing:.25em; }
#rayan-ai-root .rayan-ai-launcher-text { position:relative; z-index:2; text-shadow:0 0 8px rgba(99,255,123,.9); }
#rayan-ai-root .rayan-ai-locked { opacity:.62; cursor:not-allowed; filter:grayscale(.3); }
#rayan-ai-root .rayan-ai-access { margin-top:16px; color:rgba(203,255,212,.7); font-size:11px; letter-spacing:.11em; text-align:center; }
#rayan-ai-root .rayan-ai-access i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--rai-neon); box-shadow:0 0 12px var(--rai-neon); }
#rayan-ai-root .rayan-ai-access.is-denied { color:rgba(255,185,194,.76); }
#rayan-ai-root .rayan-ai-access.is-denied i { background:#ff5269; box-shadow:0 0 12px #ff5269; }

#rayan-ai-root .rayan-ai-visitor-panel { width:100%; margin:26px 0 8px; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.82fr); align-items:stretch; gap:24px; }
#rayan-ai-root .rayan-ai-visitor-panel .rayan-ai-intro { min-height:100%; }
#rayan-ai-root .rayan-ai-login-box { padding:20px; border:3px double rgba(118,255,139,.76); border-radius:12px; background:rgba(0,18,5,.89); box-shadow:inset 0 0 28px rgba(57,255,87,.08),0 0 10px rgba(102,255,125,.48),0 0 30px rgba(35,255,67,.16); }
#rayan-ai-root .rayan-ai-login-title { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
#rayan-ai-root .rayan-ai-login-title>i { flex:0 0 11px; width:11px; height:11px; border-radius:50%; background:#ff5269; box-shadow:0 0 15px rgba(255,82,105,.85); }
#rayan-ai-root .rayan-ai-login-title>span { display:flex; flex-direction:column; gap:4px; }
#rayan-ai-root .rayan-ai-login-title strong { color:#edfff0; font-size:12px; letter-spacing:.12em; text-shadow:0 0 8px rgba(80,255,108,.54); }
#rayan-ai-root .rayan-ai-login-title small { color:rgba(205,255,214,.68); font-size:12px; line-height:1.35; }
#rayan-ai-root .rayan-ai-login-error { margin-bottom:14px; padding:10px 12px; border:1px solid rgba(255,94,112,.72); border-radius:7px; background:rgba(89,5,17,.52); color:#ffdce1; font-size:12px; line-height:1.4; box-shadow:0 0 15px rgba(255,64,89,.17); }
#rayan-ai-root .rayan-ai-login-form { display:grid; gap:12px; margin:0; }
#rayan-ai-root .rayan-ai-login-form label:not(.rayan-ai-remember) { display:grid; gap:6px; margin:0; }
#rayan-ai-root .rayan-ai-login-form label>span { color:rgba(214,255,221,.72); font-size:10px; letter-spacing:.12em; }
#rayan-ai-root .rayan-ai-login-form input[type="text"],#rayan-ai-root .rayan-ai-login-form input[type="password"] { appearance:none !important; width:100% !important; min-height:44px !important; margin:0 !important; padding:10px 12px !important; border:1px solid rgba(109,255,132,.4) !important; border-radius:7px !important; outline:none; background:#010b03 !important; color:#eefff1 !important; box-shadow:inset 0 0 17px rgba(0,0,0,.45) !important; font:14px/1.3 "Courier New",monospace !important; }
#rayan-ai-root .rayan-ai-login-form input[type="text"]:focus,#rayan-ai-root .rayan-ai-login-form input[type="password"]:focus { border-color:#83ff96 !important; box-shadow:0 0 0 3px rgba(69,255,98,.09),inset 0 0 17px rgba(0,0,0,.45) !important; }
#rayan-ai-root .rayan-ai-remember { display:flex; align-items:center; gap:8px; margin:0; cursor:pointer; }
#rayan-ai-root .rayan-ai-remember input { accent-color:#45ff62; }
#rayan-ai-root .rayan-ai-remember span { font-size:11px; letter-spacing:0; color:rgba(208,255,216,.7); }
#rayan-ai-root .rayan-ai-login-submit { appearance:none !important; width:100% !important; min-height:48px !important; margin:2px 0 0 !important; padding:12px 16px !important; border:1px solid #83ff96 !important; border-radius:7px !important; background:linear-gradient(135deg,#063d13,#0d7426 50%,#052e0f) !important; color:#effff2 !important; box-shadow:inset 0 0 20px rgba(77,255,105,.15),0 0 17px rgba(48,255,81,.22) !important; font:700 12px/1.2 "Courier New",monospace !important; letter-spacing:.12em !important; cursor:pointer; }
#rayan-ai-root .rayan-ai-login-submit:hover { background:linear-gradient(135deg,#0b6b24,#15933a 50%,#074c19) !important; box-shadow:0 0 10px rgba(123,255,144,.7),0 0 30px rgba(40,255,73,.28) !important; }
#rayan-ai-root .rayan-ai-lost-password { display:block; margin-top:13px; color:#8fff9f !important; font-size:11px; text-align:center; text-decoration:none !important; text-shadow:0 0 7px rgba(82,255,109,.55); }
#rayan-ai-root .rayan-ai-lost-password:hover { color:#eaffee !important; }

#rayan-ai-root #rayan-ai-overlay { position:fixed !important; inset:0 !important; z-index:2147483000 !important; display:block !important; width:auto !important; max-width:none !important; height:auto !important; max-height:none !important; margin:0 !important; padding:0 !important; overflow:hidden !important; background:rgba(0,5,2,.96) !important; }
#rayan-ai-root #rayan-ai-overlay.rayan-ai-hidden { display:none !important; }
#rayan-ai-root #rayan-ai-modal { position:absolute !important; inset:0 !important; width:auto !important; max-width:none !important; height:auto !important; max-height:none !important; margin:0 !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; border:0 !important; border-radius:0 !important; background:linear-gradient(155deg,rgba(3,22,8,.995),rgba(0,7,2,1)) !important; color:#eaffee !important; box-shadow:inset 0 0 80px rgba(30,255,64,.07) !important; animation:rai-modal-in .25s ease-out; }
#rayan-ai-root .rayan-ai-header { flex:0 0 auto; min-height:82px; padding:max(15px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 15px max(18px,env(safe-area-inset-left)); display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(92,255,117,.28); background:linear-gradient(90deg,rgba(11,75,25,.68),rgba(2,19,7,.9)); }
#rayan-ai-root .rayan-ai-header strong { display:block; color:#f0fff3; font-size:15px; letter-spacing:.06em; text-shadow:0 0 8px rgba(96,255,120,.64); }
#rayan-ai-root .rayan-ai-status { margin-top:6px; display:flex; align-items:center; gap:7px; color:rgba(201,255,211,.68); font-size:11px; letter-spacing:.08em; }
#rayan-ai-root .rayan-ai-status i { width:7px; height:7px; border-radius:50%; background:var(--rai-neon); box-shadow:0 0 12px var(--rai-neon); }
#rayan-ai-root #rayan-ai-close { appearance:none !important; flex:0 0 42px; width:42px !important; height:42px !important; min-width:42px !important; margin:0 !important; padding:0 !important; border:1px solid rgba(128,255,148,.45) !important; border-radius:8px !important; background:rgba(9,68,22,.45) !important; color:#caffd2 !important; font:300 28px/1 monospace !important; cursor:pointer; box-shadow:none !important; }
#rayan-ai-root #rayan-ai-close:hover { border-color:#a4ffb2 !important; background:#0a5e20 !important; color:#fff !important; box-shadow:0 0 18px rgba(70,255,98,.35) !important; }
#rayan-ai-root .rayan-ai-messages { flex:1; min-height:0; overflow-y:auto; padding:22px; background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(90,255,112,.018) 5px); scrollbar-color:rgba(68,255,98,.48) rgba(0,0,0,.3); }
#rayan-ai-root .rayan-ai-message-row { margin-bottom:16px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
#rayan-ai-root .rayan-ai-message-row.user { align-items:flex-end; }
#rayan-ai-root .rayan-ai-bubble { max-width:min(88%,920px); padding:12px 15px; overflow-wrap:anywhere; word-break:break-word; white-space:normal; border:1px solid rgba(100,255,124,.25); border-radius:4px 15px 15px 15px; background:rgba(7,43,15,.72); color:#e2ffe8; box-shadow:0 7px 22px rgba(0,0,0,.2); font-size:14px; line-height:1.58; }
#rayan-ai-root .rayan-ai-message-row.user .rayan-ai-bubble { border-color:rgba(132,255,151,.55); border-radius:15px 4px 15px 15px; background:linear-gradient(135deg,#0b6121,#073b14); color:#f1fff4; }
#rayan-ai-root .rayan-ai-bubble p { margin:0 0 9px; }
#rayan-ai-root .rayan-ai-bubble p:last-child { margin-bottom:0; }
#rayan-ai-root .rayan-ai-waiting .rayan-ai-bubble { color:#aaffb8; animation:rai-pulse 1.3s infinite; }
#rayan-ai-root .rayan-ai-sources { width:min(88%,920px); max-width:100%; padding:11px 13px; overflow-wrap:anywhere; border:1px solid rgba(94,255,119,.2); border-radius:8px; background:rgba(0,14,4,.8); }
#rayan-ai-root .rayan-ai-sources-title { margin-bottom:7px; color:#75ff8b; font-size:10px; font-weight:800; letter-spacing:.12em; }
#rayan-ai-root .rayan-ai-source-item { padding:7px 0; border-top:1px solid rgba(99,255,123,.1); }
#rayan-ai-root .rayan-ai-source-item strong { display:block; color:#ddffe3; font-size:12px; }
#rayan-ai-root .rayan-ai-source-item span { display:block; margin-top:2px; color:rgba(200,255,210,.58); font-size:11px; }
#rayan-ai-root .rayan-ai-form { flex:0 0 auto; padding:13px max(13px,env(safe-area-inset-right)) max(13px,env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left)); display:flex; align-items:flex-end; gap:9px; border-top:1px solid rgba(92,255,117,.28); background:rgba(1,17,5,.98); }
#rayan-ai-root #rayan-ai-input { appearance:none !important; flex:1; min-height:50px; max-height:140px; resize:none; margin:0 !important; padding:12px 14px !important; border:1px solid rgba(107,255,130,.37) !important; border-radius:9px !important; outline:none; background:#020c04 !important; color:#edfff0 !important; caret-color:var(--rai-neon); box-shadow:inset 0 0 18px rgba(0,0,0,.4) !important; font:14px/1.45 "Courier New",monospace !important; }
#rayan-ai-root #rayan-ai-input::placeholder { color:rgba(187,255,199,.42); }
#rayan-ai-root #rayan-ai-input:focus { border-color:#78ff8d !important; box-shadow:0 0 0 3px rgba(75,255,104,.09),inset 0 0 18px rgba(0,0,0,.4) !important; }
#rayan-ai-root #rayan-ai-send { appearance:none !important; flex:0 0 50px; width:50px !important; height:50px !important; min-width:50px !important; margin:0 !important; padding:0 !important; border:1px solid #86ff99 !important; border-radius:9px !important; background:linear-gradient(145deg,#10742a,#074619) !important; color:#f1fff3 !important; box-shadow:0 0 17px rgba(50,255,82,.24) !important; font-size:19px !important; cursor:pointer; }
#rayan-ai-root #rayan-ai-send:hover { background:#159337 !important; box-shadow:0 0 23px rgba(65,255,96,.4) !important; }
#rayan-ai-root #rayan-ai-send:disabled, #rayan-ai-root #rayan-ai-input:disabled { opacity:.55; cursor:wait; }
.rayan-ai-modal-open { overflow:hidden !important; }

@keyframes rai-blink { 0%,45%{opacity:1} 46%,100%{opacity:0} }
@keyframes rai-pulse { 50%{opacity:.48;transform:scale(.82)} }
@keyframes rai-shine { 0%,55%{left:-32%} 82%,100%{left:128%} }
@keyframes rai-modal-in { from{opacity:0;transform:translateY(14px) scale(.98)} to{opacity:1;transform:none} }

@media (max-width: 760px) {
  #rayan-ai-root { min-height:100svh; padding:18px 12px; background-attachment:scroll; }
  #rayan-ai-root .rayan-ai-vignette { padding:25px 18px; border-radius:16px; }
  #rayan-ai-root .rayan-ai-logo { width:min(340px,72%); max-height:105px; }
  #rayan-ai-root .rayan-ai-logo-frame { padding-bottom:19px; }
  #rayan-ai-root .rayan-ai-information-grid { margin:20px 0; grid-template-columns:1fr; gap:14px; }
  #rayan-ai-root .rayan-ai-visitor-panel { margin:20px 0 8px; grid-template-columns:1fr; gap:14px; }
  #rayan-ai-root .rayan-ai-intro { min-height:auto; padding:14px 15px; }
  #rayan-ai-root .rayan-ai-connection { min-height:auto; }
  #rayan-ai-root #rayan-ai-overlay { inset:0 !important; width:auto !important; height:auto !important; padding:0 !important; }
  #rayan-ai-root #rayan-ai-modal { inset:0 !important; width:auto !important; height:auto !important; border-radius:0 !important; }
  #rayan-ai-root .rayan-ai-header { min-height:72px; padding:12px 13px; }
  #rayan-ai-root .rayan-ai-messages { padding:15px 12px; }
  #rayan-ai-root .rayan-ai-bubble { max-width:94%; }
  #rayan-ai-root .rayan-ai-form { padding:9px; }
}

@media (prefers-reduced-motion: reduce) {
  #rayan-ai-root * { animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* ========================================================================== */
/* Rayan AI Connector 0.9.0 — citations et sources enrichies V2/V2.1          */
/* ========================================================================== */

#rayan-ai-root .rayan-ai-bubble strong {
  color:#f4fff6;
  font-weight:800;
  text-shadow:0 0 7px rgba(104,255,128,.24);
}

#rayan-ai-root .rayan-ai-citation {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  margin:0 2px 0 3px;
  padding:0 5px;
  vertical-align:super;
  border:1px solid rgba(112,255,134,.6);
  border-radius:999px;
  background:rgba(23,100,39,.5);
  color:#caffd2 !important;
  box-shadow:0 0 10px rgba(59,255,89,.2);
  font:800 9px/1 "Courier New",monospace !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

#rayan-ai-root .rayan-ai-citation:hover,
#rayan-ai-root .rayan-ai-citation:focus {
  transform:translateY(-1px);
  border-color:#9affaa;
  background:#0c6e25;
  color:#fff !important;
  box-shadow:0 0 16px rgba(67,255,97,.38);
  outline:none;
}

#rayan-ai-root .rayan-ai-sources {
  width:min(88%,920px);
  max-width:100%;
  padding:12px;
  overflow-wrap:anywhere;
  border:1px solid rgba(94,255,119,.22);
  border-radius:12px;
  background:linear-gradient(155deg,rgba(0,19,5,.88),rgba(0,9,3,.94));
  box-shadow:inset 0 0 28px rgba(48,255,79,.035),0 8px 24px rgba(0,0,0,.18);
}

#rayan-ai-root .rayan-ai-sources-title {
  margin:0 0 10px;
  color:#79ff8f;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 0 8px rgba(81,255,108,.34);
}

#rayan-ai-root .rayan-ai-source-card {
  position:relative;
  padding:13px 14px;
  margin-top:9px;
  scroll-margin-top:96px;
  border:1px solid rgba(102,255,126,.18);
  border-radius:10px;
  background:rgba(2,26,8,.72);
  box-shadow:inset 0 0 22px rgba(62,255,92,.025);
}

#rayan-ai-root .rayan-ai-source-card:first-of-type {
  margin-top:0;
}

#rayan-ai-root .rayan-ai-source-card:target {
  border-color:rgba(136,255,153,.78);
  box-shadow:0 0 0 2px rgba(84,255,111,.08),0 0 22px rgba(50,255,80,.22),inset 0 0 24px rgba(53,255,84,.055);
}

#rayan-ai-root .rayan-ai-source-topline {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}

#rayan-ai-root .rayan-ai-source-number {
  display:inline-grid;
  place-items:center;
  min-width:25px;
  height:25px;
  padding:0 7px;
  border:1px solid rgba(124,255,144,.62);
  border-radius:7px;
  background:linear-gradient(145deg,rgba(15,103,34,.78),rgba(5,49,16,.9));
  color:#effff2;
  box-shadow:0 0 11px rgba(60,255,91,.18);
  font-size:10px;
  font-weight:900;
}

#rayan-ai-root .rayan-ai-source-type,
#rayan-ai-root .rayan-ai-source-family {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#rayan-ai-root .rayan-ai-source-type {
  border:1px solid rgba(116,255,137,.26);
  background:rgba(26,94,40,.26);
  color:#bcffc6;
}

#rayan-ai-root .rayan-ai-source-family {
  border:1px solid rgba(180,255,191,.12);
  background:rgba(255,255,255,.025);
  color:rgba(210,255,218,.5);
}

#rayan-ai-root .rayan-ai-source-card-title {
  color:#effff2;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  text-shadow:0 0 7px rgba(86,255,111,.22);
}

#rayan-ai-root .rayan-ai-source-author,
#rayan-ai-root .rayan-ai-source-biblio {
  margin-top:4px;
  color:rgba(207,255,216,.64);
  font-size:10.5px;
  line-height:1.45;
}

#rayan-ai-root .rayan-ai-source-biblio {
  color:rgba(174,255,188,.54);
}

#rayan-ai-root .rayan-ai-source-tags {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px;
}

#rayan-ai-root .rayan-ai-source-tags span {
  display:inline-flex;
  padding:3px 7px;
  border:1px solid rgba(94,255,119,.16);
  border-radius:999px;
  background:rgba(38,118,52,.16);
  color:rgba(208,255,216,.68);
  font-size:9px;
  line-height:1.2;
}

#rayan-ai-root .rayan-ai-source-sections {
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid rgba(90,255,114,.08);
  color:rgba(201,255,211,.6);
  font-size:10px;
  line-height:1.52;
}

#rayan-ai-root .rayan-ai-source-sections strong {
  display:block;
  margin-bottom:4px;
  color:rgba(218,255,224,.76);
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#rayan-ai-root .rayan-ai-source-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin-top:11px;
  padding:6px 10px;
  border:1px solid rgba(122,255,142,.42);
  border-radius:7px;
  background:linear-gradient(145deg,rgba(12,91,29,.62),rgba(4,48,15,.78));
  color:#bfffc9 !important;
  box-shadow:0 0 10px rgba(58,255,88,.12);
  font-size:10px;
  font-weight:800;
  text-decoration:none !important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}

#rayan-ai-root .rayan-ai-source-link:hover,
#rayan-ai-root .rayan-ai-source-link:focus {
  border-color:#95ffa5;
  background:#0d7328;
  color:#fff !important;
  box-shadow:0 0 17px rgba(64,255,94,.3);
  outline:none;
}

#rayan-ai-root .rayan-ai-source-local {
  margin-top:10px;
  color:rgba(184,255,196,.38);
  font-size:9px;
  font-style:italic;
}

@media (max-width:760px) {
  #rayan-ai-root .rayan-ai-sources { width:94%; padding:10px; }
  #rayan-ai-root .rayan-ai-source-card { padding:12px; }
  #rayan-ai-root .rayan-ai-source-card-title { font-size:12px; }
  #rayan-ai-root .rayan-ai-source-link { width:100%; }
}
