.archon-chatbot{
  position:fixed;
  right:18px;
  bottom:96px;
  z-index:220;
  width:min(316px, calc(100vw - 20px));
  max-width:calc(100vw - 20px);
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#f4f6ef;
}
.archon-chatbot *{box-sizing:border-box}
.archon-chatbot-toggle{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:52px;
  padding:0 16px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, #C9A227 0%, #E8C85A 100%);
  color:#1A0E00;
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  box-shadow:0 22px 46px rgba(0,0,0,0.28);
  cursor:pointer;
}
.archon-chatbot-toggle::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#3a2200;
  box-shadow:0 0 0 6px rgba(201,162,39,0.18);
}
.archon-chatbot-panel{
  margin-top:12px;
  display:none;
  overflow:hidden;
  border:1px solid rgba(201,162,39,0.22);
  border-radius:20px;
  max-height:min(calc(100dvh - 170px), 640px);
  background:
    radial-gradient(circle at top left, rgba(201,162,39,0.10), transparent 26%),
    linear-gradient(180deg, rgba(12,12,10,0.98), rgba(6,6,4,0.98));
  box-shadow:0 30px 80px rgba(0,0,0,0.42);
  backdrop-filter:blur(14px);
}
.archon-chatbot.is-open .archon-chatbot-panel{display:flex;flex-direction:column}
.archon-chatbot-header{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px;
  border-bottom:1px solid rgba(255,255,255,0.07);
  cursor:grab;
}
.archon-chatbot.is-dragging .archon-chatbot-header{cursor:grabbing}
.archon-chatbot.is-positioned{
  right:auto;
  bottom:auto;
}
.archon-chatbot.is-draggable .archon-chatbot-panel{
  box-shadow:0 34px 92px rgba(0,0,0,0.48);
}
.archon-chatbot.is-draggable .archon-chatbot-toggle{
  cursor:grab;
}
.archon-chatbot.is-dragging .archon-chatbot-toggle{
  cursor:grabbing;
}
.archon-chatbot.is-mobile-sheet{
  left:10px;
  right:10px;
  bottom:max(10px, env(safe-area-inset-bottom));
  width:auto;
  max-width:none;
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-header{
  cursor:default;
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-panel{
  border-radius:22px;
  max-height:min(calc(100dvh - 108px), 78dvh);
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-body{
  max-height:min(44dvh, 340px);
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-form{
  grid-template-columns:1fr;
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-voice-fallback-row{
  grid-template-columns:1fr;
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-toggle,
.archon-chatbot.is-mobile-sheet .archon-chatbot-send,
.archon-chatbot.is-mobile-sheet .archon-chatbot-gate,
.archon-chatbot.is-mobile-sheet .archon-chatbot-voice-trigger,
.archon-chatbot.is-mobile-sheet .archon-chatbot-voice-submit{
  width:100%;
  justify-content:center;
}
.archon-chatbot.is-mobile-sheet .archon-chatbot-gate{
  text-align:center;
}
.archon-chatbot.is-tablet-sheet{
  right:14px;
  bottom:18px;
  width:min(380px, calc(100vw - 28px));
}
.archon-chatbot.is-tablet-sheet .archon-chatbot-header{
  cursor:default;
}
.archon-chatbot.is-tablet-sheet .archon-chatbot-panel{
  border-radius:24px;
  max-height:min(calc(100dvh - 120px), 72dvh);
}
.archon-chatbot.is-tablet-sheet .archon-chatbot-body{
  max-height:min(40dvh, 340px);
}
.archon-chatbot-header > div:first-child{
  min-width:0;
  flex:1 1 100%;
  padding-right:38px;
}
.archon-chatbot-header strong{
  display:block;
  font-family:"Fraunces",serif;
  font-weight:700;
  font-size:18px;
}
.archon-chatbot-header span{
  display:block;
  margin-top:4px;
  color:#bfc8bb;
  font-size:10px;
  line-height:1.45;
}
.archon-chatbot-gate{
  align-self:flex-start;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.04);
  color:#aeb7aa;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.archon-chatbot-close{
  position:absolute;
  top:10px;
  right:10px;
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;
  background:rgba(255,255,255,0.04);
  color:#f4f6ef;
  font-size:18px;
  cursor:pointer;
}
.archon-chatbot-body{
  display:grid;
  align-content:start;
  gap:10px;
  flex:1 1 auto;
  min-height:0;
  max-height:min(38dvh, 300px);
  overflow:auto;
  padding:10px 10px 6px;
}
.archon-chatbot-puzzle-shell{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(201,162,39,0.12);
  border-radius:18px;
  background:rgba(201,162,39,0.035);
}
.archon-chatbot-puzzle-header{
  display:grid;
  gap:6px;
}
.archon-chatbot-puzzle-kicker{
  color:#E8C85A;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.archon-chatbot-puzzle-note{
  margin:0;
  color:#bfc8bb;
  font-size:11px;
  line-height:1.55;
}
#puzzle-container{
  display:grid;
  gap:8px;
}
.archon-chatbot-puzzle-item{
  display:grid;
  gap:8px;
  padding:10px 10px 11px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  background:rgba(255,255,255,0.03);
}
.archon-chatbot-puzzle-item[data-state="active"]{
  border-color:rgba(201,162,39,0.28);
  box-shadow:0 0 0 1px rgba(201,162,39,0.08);
}
.archon-chatbot-puzzle-item[data-state="complete"]{
  opacity:.92;
}
.archon-chatbot-puzzle-item h3{
  margin:0;
  font-family:"Fraunces",serif;
  font-size:14px;
  line-height:1.15;
}
.archon-chatbot-puzzle-item p{
  margin:0;
  font-size:11px;
  line-height:1.6;
}
.archon-chatbot-puzzle-item code,
.archon-chatbot-puzzle-item pre{
  margin:0;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.06);
  background:rgba(0,0,0,0.22);
  color:#f4f6ef;
  font:inherit;
  font-size:11px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.archon-chatbot-puzzle-item code{
  font-family:"IBM Plex Mono","SFMono-Regular","SF Mono",monospace;
}
.archon-chatbot-voice-trigger,
.archon-chatbot-voice-submit{
  min-height:42px;
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg, #C9A227 0%, #E8C85A 100%);
  color:#1A0E00;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.archon-chatbot-voice-trigger:disabled{
  opacity:.72;
  cursor:progress;
}
.archon-chatbot-voice-fallback{
  display:grid;
  gap:8px;
}
.archon-chatbot-voice-fallback label{
  color:#bfc8bb;
  font-size:10px;
  line-height:1.5;
}
.archon-chatbot-voice-fallback-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.archon-chatbot-voice-input{
  min-height:42px;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  background:rgba(255,255,255,0.05);
  color:#f4f6ef;
  padding:0 10px;
  font-size:12px;
  outline:none;
}
.archon-chatbot-messages{
  display:grid;
  gap:8px;
}
.archon-chatbot-message{
  max-width:92%;
  padding:10px 10px 9px;
  border-radius:14px;
  font-size:12px;
  line-height:1.55;
  border:1px solid rgba(255,255,255,0.08);
  white-space:pre-line;
}
.archon-chatbot-message strong{
  font-family:"Fraunces",serif;
  font-weight:700;
}
.archon-chatbot-message p + p{margin-top:10px}
.archon-chatbot-message ul{
  margin:8px 0 0 16px;
  display:grid;
  gap:6px;
}
.archon-chatbot-message--bot{
  justify-self:start;
  background:rgba(255,255,255,0.045);
}
.archon-chatbot-message--user{
  justify-self:end;
  background:rgba(201,162,39,0.13);
  border-color:rgba(201,162,39,0.18);
}
.archon-chatbot-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}
.archon-chatbot-option{
  border:1px solid rgba(201,162,39,0.22);
  border-radius:999px;
  background:rgba(201,162,39,0.06);
  color:#eff7eb;
  padding:7px 10px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
}
.archon-chatbot-option:hover{background:rgba(201,162,39,0.14)}
.archon-chatbot-footer{
  padding:10px 10px 12px;
  border-top:1px solid rgba(255,255,255,0.07);
}
.archon-chatbot-status{
  margin-bottom:8px;
  color:#aeb7aa;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archon-chatbot-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.archon-chatbot-input{
  min-height:42px;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  background:rgba(255,255,255,0.05);
  color:#f4f6ef;
  padding:0 10px;
  font-size:12px;
  outline:none;
}
.archon-chatbot-input::placeholder{color:rgba(244,246,239,0.54)}
.archon-chatbot-send{
  min-width:94px;
  min-height:42px;
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg, #C9A227 0%, #E8C85A 100%);
  color:#1A0E00;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
}
.archon-chatbot-summary{
  display:grid;
  gap:6px;
  margin-top:8px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(201,162,39,0.14);
  background:rgba(201,162,39,0.05);
}
.archon-chatbot-summary strong{
  font-family:"Fraunces",serif;
  font-weight:700;
  font-size:14px;
}
.archon-chatbot-status[data-state="live"]{color:#9eff88}
.archon-chatbot-status[data-state="fallback"]{color:#ddd09e}
.archon-chatbot-status[data-state="thinking"]{color:#e2eadc}
.archon-chatbot-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}
.archon-chatbot-citations{
  margin-top:8px;
  margin-bottom:2px;
}
.archon-chatbot-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.1);
  text-decoration:none;
  color:#f4f6ef;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:rgba(255,255,255,0.04);
  cursor:pointer;
}
.archon-chatbot-link--primary{
  background:rgba(201,162,39,0.18);
  border-color:rgba(201,162,39,0.24);
  color:#eff7eb;
}
.archon-chatbot.is-occult .archon-chatbot-panel{
  border-color:rgba(173,99,255,0.34);
  background:
    radial-gradient(circle at top left, rgba(173,99,255,0.16), transparent 24%),
    linear-gradient(180deg, rgba(16,8,26,0.98), rgba(7,4,13,0.98));
}
.archon-chatbot.is-occult .archon-chatbot-puzzle-shell{
  border-color:rgba(173,99,255,0.18);
  background:rgba(173,99,255,0.05);
}
.archon-chatbot.is-occult .archon-chatbot-puzzle-item[data-state="active"]{
  border-color:rgba(173,99,255,0.34);
  box-shadow:0 0 0 1px rgba(173,99,255,0.12);
}
.archon-chatbot.is-occult .archon-chatbot-puzzle-kicker{
  color:#ddb9ff;
}
.archon-chatbot.is-occult .archon-chatbot-voice-trigger,
.archon-chatbot.is-occult .archon-chatbot-voice-submit{
  background:linear-gradient(135deg, #9d37ff 0%, #d26dff 100%);
  color:#fbf6ff;
}
.archon-chatbot.is-occult .archon-chatbot-toggle{
  background:linear-gradient(135deg, #9d37ff 0%, #d26dff 100%);
  color:#f9f1ff;
}
.archon-chatbot.is-occult .archon-chatbot-gate{
  color:#d7b1ff;
  border-color:rgba(173,99,255,0.28);
  background:rgba(173,99,255,0.1);
}
.archon-chatbot.is-occult .archon-chatbot-message--user{
  background:rgba(173,99,255,0.14);
  border-color:rgba(173,99,255,0.22);
}
.archon-chatbot.is-occult .archon-chatbot-option{
  border-color:rgba(173,99,255,0.22);
  background:rgba(173,99,255,0.08);
}
.archon-chatbot.is-occult .archon-chatbot-option:hover{
  background:rgba(173,99,255,0.16);
}
.archon-chatbot.is-occult .archon-chatbot-link--primary{
  background:rgba(173,99,255,0.22);
  border-color:rgba(173,99,255,0.3);
}
.archon-chatbot.is-occult-archived .archon-chatbot-panel{
  box-shadow:0 34px 96px rgba(0,0,0,0.58), 0 0 0 1px rgba(179,111,255,0.12), 0 0 42px rgba(117,41,212,0.16);
}
body.archon-occult-archive-open{
  overflow:hidden;
}
.archon-occult-archive{
  position:fixed;
  inset:0;
  z-index:180;
  display:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:
    radial-gradient(circle at 14% 10%, rgba(173,99,255,0.12), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(82,16,154,0.22), transparent 26%),
    linear-gradient(180deg, rgba(3,3,5,0.98), rgba(9,4,16,0.985));
  backdrop-filter:blur(18px);
}
.archon-occult-archive.is-visible{
  display:block;
}
.archon-occult-archive-shell{
  width:min(1380px, calc(100vw - 48px));
  min-height:min(calc(100vh - 40px), 980px);
  height:auto;
  margin:20px auto;
  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr);
  gap:20px;
}
.archon-occult-archive-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border:1px solid rgba(196,142,255,0.16);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(179,111,255,0.06));
  box-shadow:0 30px 100px rgba(0,0,0,0.48);
}
.archon-occult-archive-toolbar{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 340px) minmax(240px, 320px);
  gap:16px;
  align-items:start;
}
.archon-occult-archive-brand{
  display:grid;
  gap:10px;
  max-width:760px;
}
.archon-occult-archive-kicker{
  color:#ddb9ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.archon-occult-archive-brand strong{
  font-family:"Fraunces",serif;
  font-size:clamp(34px, 5vw, 68px);
  line-height:.95;
  color:#f7eeff;
}
.archon-occult-archive-brand p{
  color:rgba(247,238,255,0.74);
  font-size:15px;
  line-height:1.7;
  max-width:66ch;
}
.archon-occult-archive-close{
  flex:0 0 auto;
  min-height:52px;
  padding:0 18px;
  border:1px solid rgba(214,138,255,0.24);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(111,35,188,0.9), rgba(174,94,255,0.88));
  color:#fbf6ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
}
.archon-occult-archive-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.archon-occult-archive-filter{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(214,138,255,0.16);
  border-radius:999px;
  background:rgba(173,99,255,0.06);
  color:#f7eeff;
  cursor:pointer;
}
.archon-occult-archive-filter span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.archon-occult-archive-filter strong{
  color:#d26dff;
  font-size:11px;
}
.archon-occult-archive-filter.is-active{
  border-color:rgba(214,138,255,0.34);
  background:linear-gradient(135deg, rgba(107,22,190,0.8), rgba(173,99,255,0.3));
}
.archon-occult-archive-summary{
  display:grid;
  gap:4px;
  min-width:min(320px, 100%);
  padding:14px 16px;
  border:1px solid rgba(214,138,255,0.14);
  border-radius:18px;
  background:rgba(255,255,255,0.03);
}
.archon-occult-archive-summary strong{
  color:#f8f1ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.archon-occult-archive-summary span{
  color:rgba(247,238,255,0.7);
  font-size:12px;
  line-height:1.6;
}
.archon-occult-archive-search{
  display:grid;
  gap:8px;
}
.archon-occult-archive-search span{
  color:#ddb9ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.archon-occult-archive-search-input{
  min-height:48px;
  border:1px solid rgba(214,138,255,0.18);
  border-radius:16px;
  background:rgba(255,255,255,0.04);
  color:#f8f1ff;
  padding:0 14px;
  font-size:13px;
  outline:none;
}
.archon-occult-archive-search-input::placeholder{
  color:rgba(247,238,255,0.42);
}
.archon-occult-archive-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(340px, 1.15fr) minmax(0, 1.85fr);
  gap:20px;
}
.archon-occult-archive-feature,
.archon-occult-archive-grid{
  min-height:0;
  border:1px solid rgba(196,142,255,0.16);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(179,111,255,0.05));
  box-shadow:0 30px 100px rgba(0,0,0,0.48);
}
.archon-occult-archive-feature{
  padding:22px;
  display:grid;
  align-content:start;
  gap:14px;
  overflow:auto;
}
.archon-occult-archive-feature-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.archon-occult-archive-feature-meta span,
.archon-occult-archive-feature-eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(214,138,255,0.18);
  background:rgba(173,99,255,0.08);
  color:#ddb9ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.archon-occult-archive-feature h2{
  font-family:"Fraunces",serif;
  font-size:clamp(30px, 3vw, 48px);
  line-height:.98;
  color:#f8f1ff;
}
.archon-occult-archive-feature-theme{
  color:#d26dff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.archon-occult-archive-feature p{
  color:rgba(247,238,255,0.8);
  font-size:14px;
  line-height:1.78;
}
.archon-occult-archive-feature ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:rgba(247,238,255,0.78);
  font-size:13px;
  line-height:1.72;
}
.archon-occult-archive-feature-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.archon-occult-archive-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, #8d2dff 0%, #d26dff 100%);
  color:#fbf6ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
}
.archon-occult-archive-link--ghost{
  border:1px solid rgba(214,138,255,0.22);
  background:rgba(173,99,255,0.08);
  color:#f8f1ff;
}
.archon-occult-archive-link--button{
  appearance:none;
}
.archon-occult-archive-grid{
  padding:18px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  overflow:auto;
}
.archon-occult-archive-card{
  appearance:none;
  width:100%;
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border:1px solid rgba(214,138,255,0.14);
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(173,99,255,0.05));
  text-align:left;
  color:#f8f1ff;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.archon-occult-archive-card:hover,
.archon-occult-archive-card.is-active{
  transform:translateY(-2px);
  border-color:rgba(214,138,255,0.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(173,99,255,0.1));
}
.archon-occult-archive-card-eyebrow{
  color:#ddb9ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.archon-occult-archive-card strong{
  font-family:"Fraunces",serif;
  font-size:28px;
  line-height:1.02;
}
.archon-occult-archive-card-theme{
  color:#d26dff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archon-occult-archive-card p{
  color:rgba(247,238,255,0.78);
  font-size:13px;
  line-height:1.7;
}
.archon-occult-archive-empty{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:220px;
  padding:22px;
  border:1px dashed rgba(214,138,255,0.18);
  border-radius:20px;
  background:rgba(255,255,255,0.02);
}
.archon-occult-archive-empty strong{
  color:#f8f1ff;
  font-family:"Fraunces",serif;
  font-size:24px;
}
.archon-occult-archive-empty p{
  color:rgba(247,238,255,0.74);
  font-size:14px;
  line-height:1.72;
}
.archon-occult-archive-empty--feature{
  min-height:100%;
}
.archon-occult-theme body,
body.archon-occult-theme{
  --bg:#05030a;
  --panel:#0b0813;
  --panel-soft:#131021;
  --line:rgba(179,111,255,0.18);
  --line-strong:rgba(179,111,255,0.34);
  --green:#b34fff;
  --gold:#edc6ff;
  --white:#f7eeff;
  --muted:#ccbde6;
  --soft:#9a87bb;
  --shadow:0 34px 96px rgba(0,0,0,0.56);
  background:
    radial-gradient(circle at 12% 10%, rgba(173,99,255,0.16), transparent 18%),
    radial-gradient(circle at 88% 12%, rgba(83,10,168,0.24), transparent 24%),
    linear-gradient(180deg, #030305 0%, #07020c 48%, #0a0611 100%) !important;
  color:var(--white) !important;
  transition:background .4s ease,color .4s ease;
}
.archon-occult-theme body::before,
body.archon-occult-theme::before{
  background-image:
    linear-gradient(rgba(196,142,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,142,255,0.045) 1px, transparent 1px) !important;
  background-size:56px 56px !important;
}
.archon-occult-theme body::after,
body.archon-occult-theme::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 50% -10%, rgba(190,126,255,0.14), transparent 36%),
    radial-gradient(circle at 50% 120%, rgba(73,0,146,0.22), transparent 42%);
}
.archon-occult-theme nav,
.archon-occult-theme footer,
.archon-occult-theme .hero,
.archon-occult-theme .section,
.archon-occult-theme .cta,
.archon-occult-theme .essay,
.archon-occult-theme .hero-copy,
.archon-occult-theme .hero-panel,
.archon-occult-theme .signature,
.archon-occult-theme .story-card,
.archon-occult-theme .problem-card,
.archon-occult-theme .system-card,
.archon-occult-theme .local-card,
.archon-occult-theme .fit-card,
.archon-occult-theme .faq-card,
.archon-occult-theme .card,
.archon-occult-theme .quote,
.archon-occult-theme .sticky-cta,
.archon-occult-theme .meta span,
.archon-occult-theme .hero-pills .pill{
  border-color:var(--line) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(179,111,255,0.06)) !important;
  box-shadow:var(--shadow) !important;
}
.archon-occult-theme nav{
  background:rgba(7,4,14,0.86) !important;
  backdrop-filter:blur(20px);
}
.archon-occult-theme .brand span,
.archon-occult-theme .eyebrow,
.archon-occult-theme .section-label,
.archon-occult-theme .tag,
.archon-occult-theme .meta span,
.archon-occult-theme .panel-status,
.archon-occult-theme .price-note a,
.archon-occult-theme .author-line a{
  color:#ddb9ff !important;
}
.archon-occult-theme .navlinks a,
.archon-occult-theme .nav-links a,
.archon-occult-theme .foot-links a,
.archon-occult-theme .foot-social a,
.archon-occult-theme .panel-copy,
.archon-occult-theme .hero-sub,
.archon-occult-theme .lead,
.archon-occult-theme .card p,
.archon-occult-theme .quote p,
.archon-occult-theme .local-copy p,
.archon-occult-theme .fit-list div,
.archon-occult-theme .faq-card p{
  color:rgba(247,238,255,0.8) !important;
}
.archon-occult-theme h1 span,
.archon-occult-theme h2 span,
.archon-occult-theme .accent{
  color:#d26dff !important;
  text-shadow:0 0 22px rgba(173,99,255,0.22);
}
.archon-occult-theme .navcta,
.archon-occult-theme .btn.primary,
.archon-occult-theme .btn-primary,
.archon-occult-theme .form button,
.archon-occult-theme .sticky-cta a,
.archon-occult-theme .btn-cta,
.archon-occult-theme .mob-cta,
.archon-occult-theme .archon-chatbot-send{
  background:linear-gradient(135deg, #8d2dff 0%, #d26dff 100%) !important;
  color:#fbf6ff !important;
  box-shadow:0 20px 44px rgba(141,45,255,0.24) !important;
}
.archon-occult-theme .btn.secondary,
.archon-occult-theme .btn-secondary,
.archon-occult-theme .card-link,
.archon-occult-theme .archon-chatbot-link{
  border-color:var(--line-strong) !important;
  background:rgba(173,99,255,0.09) !important;
  color:var(--white) !important;
}
.archon-occult-theme input,
.archon-occult-theme textarea,
.archon-occult-theme select{
  border-color:rgba(179,111,255,0.2) !important;
  background:rgba(255,255,255,0.04) !important;
  color:var(--white) !important;
}
.archon-occult-theme .sticky-cta{
  background:
    linear-gradient(180deg, rgba(12,8,18,0.95), rgba(7,4,13,0.95)) !important;
}
.archon-occult-theme .sticky-copy span,
.archon-occult-theme .sticky-copy strong{
  color:var(--white) !important;
}
.archon-occult-theme .hero-copy::after,
.archon-occult-theme .hero::after{
  opacity:0.16 !important;
  filter:hue-rotate(42deg) saturate(1.2);
}
.archon-occult-theme--granted body,
body.archon-occult-theme--granted{
  --line:rgba(214,138,255,0.22);
  --line-strong:rgba(214,138,255,0.4);
  --green:#d56fff;
  --gold:#f0d7ff;
}
.archon-occult-theme--granted nav,
.archon-occult-theme--granted .hero,
.archon-occult-theme--granted .section,
.archon-occult-theme--granted .cta,
.archon-occult-theme--granted .essay{
  box-shadow:0 34px 100px rgba(0,0,0,0.62), 0 0 36px rgba(128,32,224,0.08) !important;
}
.archon-chatbot-toggle:focus-visible,
.archon-chatbot-close:focus-visible,
.archon-chatbot-option:focus-visible,
.archon-chatbot-input:focus-visible,
.archon-chatbot-send:focus-visible,
.archon-chatbot-link:focus-visible{
  outline:2px solid #C9A227;
  outline-offset:3px;
}
@media (max-width: 720px){
  .archon-occult-archive-shell{
    width:min(calc(100vw - 20px), 100%);
    height:calc(100vh - 20px);
    margin:10px auto;
    gap:12px;
  }
  .archon-occult-archive-header{
    padding:16px;
    border-radius:20px;
    grid-auto-flow:row;
  }
  .archon-occult-archive-toolbar{
    grid-template-columns:1fr;
    gap:12px;
  }
  .archon-occult-archive-layout{
    grid-template-columns:1fr;
    gap:12px;
  }
  .archon-occult-archive-grid{
    grid-template-columns:1fr;
    padding:14px;
  }
  .archon-occult-archive-feature{
    padding:16px;
  }
  .archon-occult-archive-close{
    width:100%;
    justify-content:center;
  }
  .archon-occult-archive-summary{
    min-width:0;
  }
  .archon-chatbot{
    right:14px;
    left:14px;
    bottom:max(14px, env(safe-area-inset-bottom));
    width:auto;
  }
  .archon-chatbot-header{
    flex-wrap:wrap;
  }
  .archon-chatbot-toggle{
    width:100%;
    justify-content:center;
  }
  .archon-chatbot-panel{
    border-radius:22px;
    max-height:min(calc(100dvh - 120px), 74dvh);
  }
  .archon-chatbot-form{
    grid-template-columns:1fr;
  }
  .archon-chatbot-send{width:100%}
  .archon-chatbot-gate{
    width:100%;
    text-align:center;
  }
  .archon-chatbot-header{
    cursor:default;
  }
}
@media (max-width: 560px){
  .archon-occult-archive-brand strong{
    font-size:30px;
  }
  .archon-occult-archive-feature h2{
    font-size:28px;
  }
  .archon-occult-archive-filter{
    width:100%;
    justify-content:space-between;
  }
  .archon-chatbot{
    right:10px;
    left:10px;
    bottom:max(10px, env(safe-area-inset-bottom));
  }
  .archon-chatbot-body{
    max-height:min(42dvh, 300px);
  }
  .archon-chatbot-footer{
    padding:8px 8px 10px;
  }
}
@media (min-width: 721px) and (max-width: 1120px){
  .archon-occult-archive-toolbar{
    grid-template-columns:1fr;
  }
  .archon-chatbot{
    right:14px;
    bottom:18px;
    width:min(360px, calc(100vw - 28px));
  }
}
@media (prefers-reduced-motion: reduce){
  .archon-chatbot *{
    animation:none !important;
    transition:none !important;
  }
}
