/* Shared high-fidelity tool page layout for static tool surfaces. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --twb-bg-0: #0d1310;
  --twb-bg-1: #121b16;
  --twb-bg-2: #19241d;
  --twb-card: rgba(255, 255, 255, 0.04);
  --twb-card-soft: rgba(255, 255, 255, 0.02);
  --twb-line: rgba(239, 233, 223, 0.14);
  --twb-line-strong: rgba(239, 233, 223, 0.24);
  --twb-text: rgba(239, 233, 223, 0.93);
  --twb-text-soft: rgba(239, 233, 223, 0.68);
  --twb-text-muted: rgba(239, 233, 223, 0.42);
  --twb-good: #4ade80;
  --twb-warn: #f4a41e;
  --twb-risk: #f87171;

  --tool-primary: #7fd3d8;
  --tool-secondary: #f4a41e;
  --tool-tertiary: #b99f7e;
}

body[data-signature*='tool-'] {
  font-family: 'IBM Plex Sans', 'DM Sans', system-ui, sans-serif;
  line-height: 1.64;
  color: var(--twb-text-soft);
  background:
    radial-gradient(ellipse 74% 52% at 6% -10%, color-mix(in srgb, var(--tool-primary) 20%, transparent), transparent 58%),
    radial-gradient(ellipse 54% 34% at 94% 0%, color-mix(in srgb, var(--tool-secondary) 18%, transparent), transparent 62%),
    radial-gradient(ellipse 46% 34% at 50% 100%, color-mix(in srgb, var(--tool-tertiary) 14%, transparent), transparent 64%),
    linear-gradient(160deg, var(--twb-bg-0), var(--twb-bg-1) 48%, var(--twb-bg-0));
}

.twb-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding-top: clamp(88px, 10vh, 116px);
  padding-bottom: 34px;
}

.twb-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--twb-text-muted);
  text-decoration: none;
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.twb-back:hover {
  color: var(--twb-text);
}

.twb-hero {
  display: grid;
  gap: 16px;
  margin-bottom: 22px;
}

.twb-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--twb-line);
  background: var(--twb-card-soft);
  border-radius: 999px;
  padding: 5px 11px;
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.twb-kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--tool-primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tool-primary) 24%, transparent);
}

.twb-title-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  align-items: center;
}

.twb-icon {
  display: inline-grid;
  place-items: center;
  color: var(--twb-text);
}

.twb-icon svg {
  width: 38px;
  height: 38px;
  stroke-width: 1.55;
}

.twb-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--twb-text);
  letter-spacing: -0.03em;
  line-height: 0.94;
  font-size: clamp(2.3rem, 5vw, 3.8rem);
}

.twb-subtitle {
  max-width: 880px;
  color: var(--twb-text-soft);
  font-size: 1.03rem;
}

.twb-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.twb-feature {
  border: 1px solid color-mix(in srgb, var(--tool-primary) 30%, var(--twb-line));
  background: color-mix(in srgb, var(--tool-primary) 12%, transparent);
  border-radius: 999px;
  padding: 5px 10px;
  color: color-mix(in srgb, var(--tool-primary) 78%, #ffffff 22%);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.twb-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 12px;
}

.twb-panel {
  border: 1px solid var(--twb-line);
  border-radius: 16px;
  background: var(--twb-card);
  overflow: hidden;
  box-shadow: 0 26px 52px rgba(0, 0, 0, 0.34);
}

.twb-panel-head {
  border-bottom: 1px solid var(--twb-line);
  background: rgba(255, 255, 255, 0.02);
  padding: 13px 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.twb-panel-title {
  color: var(--twb-text);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.58rem;
  letter-spacing: -0.03em;
  line-height: 0.94;
}

.twb-panel-sub {
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.twb-panel-body {
  padding: 14px;
  display: grid;
  gap: 12px;
}

.twb-label {
  color: var(--twb-text-soft);
  font-size: 0.84rem;
  font-weight: 500;
}

.twb-input {
  width: 100%;
  min-height: 194px;
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--twb-text);
  padding: 12px;
  resize: vertical;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 0.95rem;
}

.twb-input::placeholder {
  color: var(--twb-text-muted);
}

.twb-input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--tool-primary) 44%, var(--twb-line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tool-primary) 18%, transparent);
}

.twb-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.twb-chip {
  border: 1px solid var(--twb-line);
  background: var(--twb-card-soft);
  color: var(--twb-text-muted);
  border-radius: 999px;
  padding: 6px 10px;
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease;
}

.twb-chip:hover {
  border-color: color-mix(in srgb, var(--tool-primary) 36%, var(--twb-line));
  color: var(--twb-text);
}

.twb-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.twb-btn {
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 9px 13px;
  font-size: 0.84rem;
  color: var(--twb-text);
  background: var(--twb-card-soft);
  cursor: pointer;
  transition: transform 170ms ease, border-color 220ms ease, background-color 220ms ease;
}

.twb-btn:hover {
  transform: translateY(-1px);
}

.twb-btn-primary {
  background: linear-gradient(135deg, color-mix(in srgb, var(--tool-primary) 24%, #1a231d), color-mix(in srgb, var(--tool-secondary) 16%, #1a231d));
  border-color: color-mix(in srgb, var(--tool-primary) 40%, var(--twb-line));
}

.twb-btn-ghost {
  border-color: var(--twb-line);
}

.twb-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.twb-status {
  margin-left: auto;
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.twb-empty {
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.18);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.twb-result {
  display: none;
  gap: 10px;
}

.twb-result.is-visible {
  display: grid;
}

.twb-score {
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
  padding: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.twb-ring {
  --score: 0;
  --ring-color: var(--twb-good);
  width: 80px;
  height: 80px;
  border-radius: 999px;
  background: conic-gradient(var(--ring-color) calc(var(--score) * 1%), rgba(255, 255, 255, 0.1) 0);
  display: grid;
  place-items: center;
}

.twb-ring::after {
  content: '';
  width: 64px;
  height: 64px;
  border-radius: 999px;
  border: 1px solid var(--twb-line);
  background: #121b16;
  grid-area: 1 / 1;
}

.twb-ring-num {
  grid-area: 1 / 1;
  z-index: 1;
  color: var(--twb-text);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.88rem;
}

.twb-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 4px 10px;
  margin-bottom: 8px;
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.twb-badge.good {
  color: var(--twb-good);
  background: rgba(74, 222, 128, 0.12);
  border-color: rgba(74, 222, 128, 0.28);
}

.twb-badge.warn {
  color: var(--twb-warn);
  background: rgba(244, 164, 30, 0.12);
  border-color: rgba(244, 164, 30, 0.28);
}

.twb-badge.risk {
  color: var(--twb-risk);
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.28);
}

.twb-summary {
  color: var(--twb-text-soft);
  font-size: 0.92rem;
}

.twb-meta {
  margin-top: 8px;
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.twb-stats {
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.16);
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
}

.twb-stat {
  border: 1px solid var(--twb-line);
  border-radius: 9px;
  background: var(--twb-card-soft);
  padding: 8px;
}

.twb-stat span {
  display: block;
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.twb-stat strong {
  color: var(--twb-text);
  font-size: 0.98rem;
  font-weight: 600;
}

.twb-intel {
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.16);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.twb-intel-head {
  color: var(--twb-text-muted);
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.twb-intel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.twb-intel-card {
  border: 1px solid var(--twb-line);
  border-radius: 9px;
  background: var(--twb-card-soft);
  padding: 8px;
  height: 100%;
}

.twb-intel-card h4 {
  color: var(--twb-text);
  font-size: 0.78rem;
  margin-bottom: 5px;
}

.twb-intel-list {
  list-style: none;
  display: grid;
  gap: 5px;
}

.twb-intel-list li {
  color: var(--twb-text-soft);
  font-size: 0.76rem;
  line-height: 1.45;
  padding-left: 8px;
  position: relative;
}

.twb-intel-list li::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--tool-primary);
  position: absolute;
  left: 0;
  top: 0.45rem;
}

.twb-list {
  border: 1px solid var(--twb-line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.18);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.twb-list-items {
  display: grid;
  gap: 8px;
}

.twb-item {
  border: 1px solid var(--twb-line);
  border-radius: 9px;
  background: var(--twb-card-soft);
  padding: 9px;
}

.twb-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.76rem;
  color: var(--twb-text);
}

.twb-sev {
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 2px 7px;
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.twb-sev-high {
  color: var(--twb-risk);
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.28);
}

.twb-sev-medium {
  color: var(--twb-warn);
  background: rgba(244, 164, 30, 0.12);
  border-color: rgba(244, 164, 30, 0.28);
}

.twb-sev-low {
  color: var(--twb-good);
  background: rgba(74, 222, 128, 0.12);
  border-color: rgba(74, 222, 128, 0.28);
}

.twb-item-detail {
  margin-top: 5px;
  font-size: 0.84rem;
  color: var(--twb-text-soft);
}

.twb-item-detail a {
  color: color-mix(in srgb, var(--tool-primary) 76%, #ffffff 24%);
}

.twb-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.twb-quick-btn {
  border: 1px solid var(--twb-line);
  background: var(--twb-card-soft);
  color: var(--twb-text-soft);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 0.74rem;
  cursor: pointer;
}

.twb-quick-btn:hover {
  border-color: var(--twb-line-strong);
}

.twb-quick-btn-primary {
  border-color: color-mix(in srgb, var(--tool-primary) 44%, var(--twb-line));
  background: color-mix(in srgb, var(--tool-primary) 18%, transparent);
  color: color-mix(in srgb, var(--tool-primary) 82%, #ffffff 18%);
}

.twb-quick-btn-primary:hover {
  border-color: color-mix(in srgb, var(--tool-primary) 66%, var(--twb-line-strong));
  color: var(--twb-text);
}

@keyframes twb-rise {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.twb-hero,
.twb-panel {
  animation: twb-rise 420ms ease both;
}

.twb-layout .twb-panel:nth-child(2) {
  animation-delay: 70ms;
}

@media (max-width: 980px) {
  .twb-layout {
    grid-template-columns: 1fr;
  }

  .twb-intel-grid {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  }
}

@media (max-width: 760px) {
  .twb-wrap {
    width: min(1180px, calc(100% - 24px));
    padding-top: 84px;
  }

  .twb-title-row {
    grid-template-columns: 1fr;
  }

  .twb-icon {
    justify-self: start;
  }

  .twb-score {
    grid-template-columns: 1fr;
  }

  .twb-stats,
  .twb-intel-grid {
    grid-template-columns: 1fr;
  }

  .twb-status {
    width: 100%;
    margin-left: 0;
  }
}

/* Solid visual cleanup */
.tool-workbench,
.twb-shell {
  background: var(--twb-bg-0) !important;
  background-image: none !important;
}

.twb-btn-primary {
  background: var(--twb-bg-1) !important;
  background-image: none !important;
}

.twb-hero,
.twb-panel,
.twb-card,
.twb-score-ring,
.twb-intel-card,
.twb-status {
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.twb-score-ring {
  background: var(--twb-bg-1) !important;
}

/* Verity solid visual standard: flat color, restrained shadow, no decorative texture. */
:root {
  --verity-gradient: var(--verity-cyan, #d4940a);
  --gradient-primary: #d4940a;
  --gradient-secondary: #b8740b;
  --gradient-glow: rgba(212, 148, 10, 0.10);
  --eden-gradient-primary: #d4940a;
  --eden-gradient-secondary: #b8740b;
  --eden-gradient-glow: rgba(212, 148, 10, 0.10);
  --eden-gradient-text: #d4940a;
  --eden-gradient-mesh: none;
  --eden-shadow-glow: none;
  --eden-shadow-glow-hover: none;
}

.gradient-orb,
[class*="orb-"],
.noise-overlay,
.eden-mesh-bg,
.eden-noise::before,
.ambient-glow,
.spotlight,
.mesh,
.grain,
.hero-glow,
.hero-grain,
.cursor-glow,
#cursorGlow {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}

.hero,
.hero-section,
.page-hero,
.sidebar,
.mobile-header,
.user-dropdown,
.modal,
.modal-overlay,
.toast,
.card,
.panel,
.stat-card,
.pricing-card,
.provider-card,
.security-warning,
.current-plan-card,
.sidebar-plan,
.empty-state-icon,
.stat-icon,
.verification-card,
.verify-card,
.eden-card,
.eden-glass,
.eden-glass-strong,
.eden-glass-ultra,
.icon-card,
.status-card,
.tool-workbench,
.tool-card,
.feature-card,
.education-card {
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

.btn-primary,
.verify-btn,
.cta-button,
.button-primary,
.plan-badge.enterprise,
.provider-type-premium,
.provider-type-ai,
.provider-type-search,
.provider-type-knowledge,
.provider-type-factchecker,
.provider-type-academic,
.provider-type-open,
.provider-type-community,
.provider-type-news,
.provider-type-government {
  background: #163020 !important;
  background-image: none !important;
  color: #f0eae0 !important;
  box-shadow: none !important;
}

.gradient-text,
.text-gradient,
.gradient-plus,
.eden-gradient-text {
  background: none !important;
  background-image: none !important;
  color: #d4940a !important;
  -webkit-text-fill-color: currentColor !important;
}

.usage-fill,
.evidence-bar-fill,
.progress-fill,
.score-fill,
.meter-fill,
.confidence-fill,
[class*="bar-fill"] {
  background: #d4940a !important;
  background-image: none !important;
  box-shadow: none !important;
}

*:focus-visible {
  box-shadow: none !important;
  outline: 2px solid rgba(212, 148, 10, 0.38) !important;
  outline-offset: 2px !important;
}
