/* Agora Prestige — interface institutionnelle, palette ardoise marine, ivoire et laiton. */
:root { --agora-navy:#0b1d33; --agora-navy-2:#102945; --agora-ivory:#f5f0e4; --agora-gold:#c3a15b; --agora-gold-soft:rgba(195,161,91,.2); }
body.agora-prestige { background:#071629 !important; color:#f5f0e4 !important; }
body.agora-prestige .cyber-grid { background-image:linear-gradient(rgba(195,161,91,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(195,161,91,.025) 1px,transparent 1px) !important; background-size:32px 32px !important; }
body.agora-prestige .bg-slate-950, body.agora-prestige .bg-slate-950\/90, body.agora-prestige .bg-slate-950\/95 { background-color:#08182c !important; }
body.agora-prestige .bg-slate-900, body.agora-prestige .bg-slate-900\/80, body.agora-prestige .bg-slate-900\/90 { background-color:#102945 !important; }
body.agora-prestige .bg-slate-800 { background-color:#183653 !important; }
body.agora-prestige .border-slate-800, body.agora-prestige .border-slate-900 { border-color:rgba(195,161,91,.25) !important; }
body.agora-prestige .text-cyan-300, body.agora-prestige .text-cyan-400, body.agora-prestige .text-indigo-300, body.agora-prestige .text-indigo-400 { color:#e4c985 !important; }
body.agora-prestige .text-purple-300, body.agora-prestige .text-purple-400 { color:#d7bb83 !important; }
body.agora-prestige .bg-cyan-500, body.agora-prestige .bg-indigo-600, body.agora-prestige .bg-purple-600 { background-color:#9a783b !important; }
body.agora-prestige .from-cyan-500, body.agora-prestige .from-indigo-600, body.agora-prestige .via-indigo-600, body.agora-prestige .to-purple-600 { --tw-gradient-from:#9a783b var(--tw-gradient-from-position) !important; --tw-gradient-to:rgb(154 120 59 / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to) !important; }
body.agora-prestige .hover\:text-cyan-400:hover, body.agora-prestige .hover\:text-indigo-300:hover { color:#f3dca6 !important; }
body.agora-prestige .glass-panel { background:rgba(8,24,44,.92) !important; border-color:rgba(195,161,91,.22) !important; }
body.agora-prestige h1, body.agora-prestige h2, body.agora-prestige h3, body.agora-prestige h4 { letter-spacing:.015em; }
body.agora-prestige h1, body.agora-prestige h2 { font-family:'Cinzel', Georgia, serif !important; }
body.agora-prestige input, body.agora-prestige textarea, body.agora-prestige select { accent-color:#c3a15b; }
.agora-flash { background:#102945; color:#f5f0e4; }
.agora-flash-success { border-color:#477e66; }
.agora-flash-error { border-color:#ae6556; }
body.agora-auth-page { min-height:100vh; margin:0; background:radial-gradient(circle at 20% 10%,#183858 0,#0b1d33 48%,#071629 100%); color:#f5f0e4; font:16px/1.5 Inter,system-ui,sans-serif; }
.auth-shell { width:min(1120px,calc(100% - 32px)); min-height:100vh; margin:auto; display:flex; align-items:center; justify-content:center; padding:32px 0; }
.auth-panel { width:100%; padding:clamp(24px,5vw,56px); border:1px solid rgba(195,161,91,.32); border-radius:24px; background:rgba(8,24,44,.94); box-shadow:0 30px 100px rgba(0,0,0,.35); }
.auth-brand { text-align:center; margin-bottom:36px; }
.auth-mark { width:64px;height:64px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid #c3a15b;border-radius:18px;color:#e4c985;font:600 34px Georgia,serif; }
.auth-kicker { margin:0; color:#e4c985; font-size:11px; font-weight:800; letter-spacing:.24em; }
.auth-brand h1 { margin:8px 0; font:600 clamp(34px,4vw,48px) 'Cinzel',Georgia,serif; }
.auth-lead,.auth-hint,.auth-footer { color:#b9c5d3; font-size:13px; }
.auth-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.auth-form { display:flex; flex-direction:column; gap:16px; }
.auth-form h2 { margin:0; font:600 22px 'Cinzel',Georgia,serif; color:#f4e6c4; }
.auth-form label { display:flex; flex-direction:column; gap:7px; font-size:12px; color:#c4ced9; font-weight:700; }
.auth-form input { width:100%; box-sizing:border-box; border:1px solid #28435f; border-radius:10px; padding:12px 13px; background:#071629; color:#fff; outline:none; }
.auth-form input:focus { border-color:#c3a15b; box-shadow:0 0 0 3px rgba(195,161,91,.12); }
.auth-primary { border:1px solid #c3a15b; border-radius:10px; padding:13px 16px; background:linear-gradient(135deg,#9a783b,#c3a15b); color:#08182c; font-weight:800; cursor:pointer; }
.auth-primary:hover { filter:brightness(1.08); }
.auth-notice,.auth-error { margin:12px 0; padding:12px 14px; border:1px solid rgba(195,161,91,.3); border-radius:10px; background:#102945; font-size:13px; }
.auth-error { border-color:#ae6556; }
.auth-footer { margin:32px 0 0; text-align:center; }
@media(max-width:760px) { .auth-columns { grid-template-columns:1fr; } .auth-panel { padding:24px; } }


/* Agora V5 Prestige — navigation, overlays and conversation flow */
:root {
  --agora-surface: #0d2036;
  --agora-surface-raised: #132b45;
  --agora-border: rgba(190, 166, 111, .22);
  --agora-text-muted: #aebccc;
  --agora-focus: rgba(211, 181, 115, .42);
}
html { color-scheme: dark; }
body.agora-prestige {
  background:
    radial-gradient(ellipse at 12% 0%, rgba(37, 71, 103, .34), transparent 40%),
    linear-gradient(145deg, #071629 0%, #0a1a2d 52%, #081629 100%) !important;
  color: #f4f0e8 !important;
}
body.agora-prestige ::selection { background: rgba(195,161,91,.32); color: #fffaf0; }
body.agora-prestige :focus-visible {
  outline: 2px solid #d8bc7c;
  outline-offset: 2px;
}
body.agora-prestige button,
body.agora-prestige a,
body.agora-prestige input,
body.agora-prestige select,
body.agora-prestige textarea {
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
}
body.agora-prestige button { -webkit-tap-highlight-color: transparent; }
body.agora-prestige button:active { transform: translateY(1px); }
body.agora-prestige input:not([type="checkbox"]):not([type="radio"]),
body.agora-prestige textarea,
body.agora-prestige select {
  border-color: rgba(157, 178, 198, .22);
}
body.agora-prestige input:not([type="checkbox"]):not([type="radio"]):focus,
body.agora-prestige textarea:focus,
body.agora-prestige select:focus {
  border-color: #c3a15b;
  box-shadow: 0 0 0 3px rgba(195,161,91,.12);
}
body.agora-prestige .glass-panel {
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
}
body.agora-prestige nav a,
body.agora-prestige aside a,
body.agora-prestige [role="navigation"] a {
  text-decoration: none;
}
body.agora-prestige nav a:hover,
body.agora-prestige aside a:hover,
body.agora-prestige [role="navigation"] a:hover {
  filter: brightness(1.12);
}
body.agora-prestige .rounded-2xl,
body.agora-prestige .rounded-3xl {
  border-radius: 14px;
}
body.agora-prestige .agora-modal {
  z-index: 1000;
  overscroll-behavior: contain;
}
body.agora-prestige .agora-modal:not(.hidden) {
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  padding: clamp(12px, 3vw, 32px) !important;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: rgba(3, 10, 20, .78) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.agora-prestige .agora-modal:not(.hidden) > div {
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: auto;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
  border-color: rgba(195,161,91,.28) !important;
  animation: agora-modal-enter 160ms ease-out both;
}
body.agora-prestige .agora-modal:not(.hidden) > div > header,
body.agora-prestige .agora-modal:not(.hidden) > div > .sticky {
  position: sticky;
  top: 0;
  z-index: 3;
}
@keyframes agora-modal-enter {
  from { opacity: 0; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.agora-latest-message-anchor {
  display: block;
  width: 100%;
  height: 1px;
  min-height: 1px;
  scroll-margin-block-end: 16px;
  pointer-events: none;
}
body.agora-prestige #latest-message { scroll-snap-align: end; }
body.agora-prestige .overflow-y-auto {
  scrollbar-gutter: stable;
  overscroll-behavior-y: contain;
}
body.agora-prestige .overflow-y-auto::-webkit-scrollbar { width: 8px; }
body.agora-prestige .overflow-y-auto::-webkit-scrollbar-thumb {
  background: rgba(195,161,91,.25);
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 999px;
}
body.agora-prestige .overflow-y-auto::-webkit-scrollbar-thumb:hover {
  background: rgba(195,161,91,.48);
  background-clip: padding-box;
}
@media (max-width: 700px) {
  body.agora-prestige .agora-modal:not(.hidden) { padding: 10px !important; }
  body.agora-prestige .agora-modal:not(.hidden) > div {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 20px);
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.agora-prestige *, body.agora-prestige *::before, body.agora-prestige *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

body.agora-prestige > nav,
body.agora-prestige nav {
  background: rgba(5, 17, 31, .96) !important;
  border-color: rgba(195,161,91,.16) !important;
}
body.agora-prestige aside {
  background-color: rgba(10, 27, 46, .94) !important;
  border-color: rgba(195,161,91,.16) !important;
}
body.agora-prestige main > header {
  background: rgba(8, 24, 44, .82) !important;
  border-color: rgba(195,161,91,.18) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.08);
}
body.agora-prestige nav a,
body.agora-prestige aside a {
  border-radius: 10px;
}
body.agora-prestige nav a:hover,
body.agora-prestige aside a:hover {
  background-color: rgba(195,161,91,.09) !important;
}
body.agora-prestige aside .border-t,
body.agora-prestige aside .border-b,
body.agora-prestige nav .border-t,
body.agora-prestige nav .border-b {
  border-color: rgba(195,161,91,.16) !important;
}
body.agora-prestige main .border-slate-800,
body.agora-prestige main .border-slate-900 {
  border-color: rgba(160,179,198,.14) !important;
}
body.agora-prestige main form:focus-within {
  border-color: rgba(195,161,91,.56) !important;
  box-shadow: 0 0 0 3px rgba(195,161,91,.055);
}
body.agora-prestige .agora-flash {
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(0,0,0,.22);
}
