@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/static/fonts/ReadexPro-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/static/fonts/ReadexPro-400-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('/static/fonts/Newsreader-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/static/fonts/Newsreader-400-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --lamh-black: #0a0a0a;
  --lamh-black-soft: #121212;
  --lamh-black-elevated: #191919;
  --lamh-gray-800: #2e2e2e;
  --lamh-gray-700: #3d3d3d;
  --lamh-gray-600: #525252;
  --lamh-gray-500: #6b6b6b;
  --lamh-gray-400: #8a8a8a;
  --lamh-gray-300: #a3a3a3;
  --lamh-gray-200: #d4d4d4;
  --lamh-white: #f7f5f0;
  --lamh-white-pure: #ffffff;
  --lamh-champagne: #d4c5a9;
  --lamh-champagne-light: #e8dcc6;
  --lamh-warm-silver: #c9c5bc;
  --lamh-ring: rgba(212, 197, 169, 0.35);
}

* {
  box-sizing: border-box;
}

html, body {
  min-height: 100%;
}

body {
  margin: 0;
  font-family: 'Readex Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: radial-gradient(circle at top, rgba(212, 197, 169, 0.08), transparent 45%),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.04), transparent 40%),
    var(--lamh-black);
  color: var(--lamh-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .font-display {
  font-family: 'Newsreader', 'Readex Pro', serif;
  letter-spacing: -0.02em;
}

a {
  color: inherit;
}

a:hover {
  color: var(--lamh-champagne-light);
}

summary::-webkit-details-marker {
  display: none;
}

summary::marker {
  display: none;
}

.lamh-grain {
  pointer-events: none;
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0.035;
  z-index: 0;
}

.text-champagne { color: var(--lamh-champagne); }
.text-warm { color: var(--lamh-warm-silver); }
.bg-champagne { background-color: var(--lamh-champagne); color: #151515; }
.bg-obsidian { background-color: var(--lamh-black-soft); }
.border-champagne { border-color: var(--lamh-champagne); }

.lamh-card {
  background: rgba(18, 18, 18, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.lamh-pill {
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.lamh-divider {
  border-color: rgba(255, 255, 255, 0.08);
}

.lamh-input {
  background: rgba(15, 15, 15, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--lamh-white);
}

.lamh-input:focus {
  outline: 2px solid var(--lamh-ring);
  border-color: var(--lamh-champagne);
}

.lamh-btn {
  border-radius: 8px;
  padding: 0.55rem 1.2rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

/* Activity indicators - horizontal bars for engagement levels */
.lamh-activity-hot {
  width: 20px;
  height: 3px;
  background: var(--lamh-champagne);
  border-radius: 2px;
}

.lamh-activity-warm {
  width: 20px;
  height: 3px;
  background: var(--lamh-champagne);
  opacity: 0.35;
  border-radius: 2px;
}

/* Status utility classes - champagne + grays only */
.lamh-status-on {
  background: rgba(212, 197, 169, 0.15);
  color: var(--lamh-champagne);
}

.lamh-status-off {
  background: rgba(255, 255, 255, 0.05);
  color: var(--lamh-gray-400);
}

.lamh-status-warning {
  background: rgba(212, 197, 169, 0.1);
  color: var(--lamh-champagne-light);
}

.lamh-status-error {
  background: rgba(255, 255, 255, 0.08);
  color: var(--lamh-gray-300);
}

.lamh-btn-primary {
  background: var(--lamh-champagne);
  color: #151515;
}

.lamh-btn-secondary {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--lamh-white);
}

.lamh-badge {
  border-radius: 999px;
  padding: 0.2rem 0.6rem;
  font-size: 0.7rem;
  background: rgba(255, 255, 255, 0.08);
  color: var(--lamh-gray-200);
}

.lamh-grid {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .lamh-grid {
    grid-template-columns: 1.1fr 1.4fr;
  }
}

.lamh-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 2.25rem;
  height: 1.25rem;
  background: var(--lamh-gray-700);
  border-radius: 9999px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s ease;
  flex-shrink: 0;
}
.lamh-toggle::after {
  content: '';
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  width: 1rem;
  height: 1rem;
  background: var(--lamh-gray-300);
  border-radius: 9999px;
  transition: transform 0.2s ease, background 0.2s ease;
}
.lamh-toggle:checked {
  background: var(--lamh-champagne);
}
.lamh-toggle:checked::after {
  transform: translateX(1rem);
  background: var(--lamh-black);
}
.lamh-toggle:focus-visible {
  outline: 2px solid var(--lamh-ring);
  outline-offset: 2px;
}
