SPB Git

spb/search-box Public

Agentic web research engine — hypotheses, verbatim evidence, contradictions, sourced answers streamed live. Claude Opus 5 + Firecrawl + PostgreSQL.

TypeScript 76.9% CSS 18.7% SQL 2.1% JavaScript 1.8% Shell 0.5%
24.3 KB · 1,182 lines css
Raw Blame History
1/*2 * Search-box.ai3 * Author: Simon-Pierre Boucher4 * Contact: contact@spboucher.ai5 * File: apps/web/app/globals.css6 * Description: Global styles — commercial-grade light theme, mobile-first, token-derived.7 */89@import "../styles/tokens.css";1011* {12  box-sizing: border-box;13  margin: 0;14  padding: 0;15}1617html {18  -webkit-text-size-adjust: 100%;19  scroll-behavior: smooth;20}2122body {23  background:24    radial-gradient(1200px 500px at 80% -10%, rgba(200, 67, 26, 0.045), transparent 60%),25    radial-gradient(900px 420px at 8% 0%, rgba(21, 112, 104, 0.04), transparent 55%),26    var(--paper);27  color: var(--ink);28  font-family: var(--font-body);29  font-size: var(--fs-md);30  line-height: 1.55;31  min-height: 100dvh;32  display: flex;33  flex-direction: column;34}3536::selection {37  background: var(--accent-soft);38  color: var(--accent-deep);39}4041a {42  color: inherit;43}4445button {46  font: inherit;47  cursor: pointer;48}4950:focus-visible {51  outline: 2px solid var(--accent);52  outline-offset: 2px;53  border-radius: 4px;54}5556/* ------------------------------- shell ---------------------------------- */5758.shell {59  width: 100%;60  max-width: 1320px;61  margin: 0 auto;62  padding: 0 var(--sp-4);63  flex: 1;64  display: flex;65  flex-direction: column;66}6768.topbar {69  display: flex;70  align-items: center;71  gap: var(--sp-3);72  padding: var(--sp-4) 0;73  border-bottom: 1px solid var(--hairline);74}7576.wordmark {77  display: inline-flex;78  align-items: center;79  gap: 10px;80  font-family: var(--font-display);81  font-weight: 600;82  font-size: 1.15rem;83  letter-spacing: -0.01em;84  text-decoration: none;85}8687.wordmark em {88  color: var(--accent);89  font-style: italic;90}9192.topbar .tagline {93  margin-left: auto;94  font-family: var(--font-mono);95  font-size: var(--fs-2xs);96  letter-spacing: 0.04em;97  color: var(--ink-faint);98  display: none;99}100101@media (min-width: 768px) {102  .topbar .tagline {103    display: block;104  }105}106107.footer {108  margin-top: var(--sp-16);109  padding: var(--sp-6) 0;110  border-top: 1px solid var(--hairline);111  font-family: var(--font-mono);112  font-size: var(--fs-2xs);113  color: var(--ink-faint);114  display: flex;115  justify-content: space-between;116  gap: var(--sp-4);117  flex-wrap: wrap;118}119120/* ------------------------------ pastilles -------------------------------- */121122.pastille {123  display: inline-grid;124  place-items: center;125  width: 30px;126  height: 30px;127  min-width: 30px;128  border-radius: 10px;129  border: 1px solid transparent;130  position: relative;131  transition: transform var(--t-fast) var(--ease-out);132}133134.pastille.ps-sm {135  width: 22px;136  height: 22px;137  min-width: 22px;138  border-radius: 7px;139}140141.pk-plan          { color: var(--accent); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 22%, transparent); }142.pk-search        { color: var(--ink); background: var(--paper-deep); border-color: var(--hairline-strong); }143.pk-fetch         { color: var(--ink); background: var(--paper-deep); border-color: var(--hairline-strong); }144.pk-read          { color: var(--ink); background: var(--paper-deep); border-color: var(--hairline-strong); }145.pk-claim         { color: var(--accent-deep); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 22%, transparent); }146.pk-belief        { color: var(--amber); background: var(--amber-soft); border-color: color-mix(in srgb, var(--amber) 25%, transparent); }147.pk-evidence      { color: var(--teal); background: var(--teal-soft); border-color: color-mix(in srgb, var(--teal) 25%, transparent); }148.pk-contradiction { color: #fff; background: var(--accent); border-color: var(--accent-deep); box-shadow: 0 2px 8px rgba(200, 67, 26, 0.35); }149.pk-thought       { color: var(--ink-soft); background: var(--surface); border-color: var(--hairline); }150.pk-synthesis     { color: var(--plum); background: var(--plum-soft); border-color: color-mix(in srgb, var(--plum) 25%, transparent); }151.pk-done          { color: var(--teal); background: var(--teal-soft); border-color: color-mix(in srgb, var(--teal) 25%, transparent); }152.pk-failed        { color: var(--red); background: var(--red-soft); border-color: color-mix(in srgb, var(--red) 25%, transparent); }153.pk-source        { color: var(--ink); background: var(--paper-deep); border-color: var(--hairline-strong); }154.pk-confidence    { color: var(--ink-soft); background: var(--paper-deep); border-color: var(--hairline-strong); }155156.pastille.spinning::after {157  content: "";158  position: absolute;159  inset: -4px;160  border-radius: 13px;161  border: 1.5px solid transparent;162  border-top-color: currentColor;163  animation: spin 0.9s linear infinite;164  opacity: 0.7;165}166167@keyframes spin {168  to { transform: rotate(360deg); }169}170171/* -------------------------------- buttons -------------------------------- */172173.btn {174  display: inline-flex;175  align-items: center;176  justify-content: center;177  gap: var(--sp-2);178  min-height: 46px;179  padding: 0 var(--sp-6);180  border-radius: var(--r-md);181  border: 1px solid var(--ink);182  background: var(--ink);183  color: var(--paper);184  font-weight: 600;185  letter-spacing: 0.01em;186  transition:187    background var(--t-fast) var(--ease-out),188    border-color var(--t-fast) var(--ease-out),189    transform var(--t-fast) var(--ease-out);190}191192.btn:hover:not(:disabled) {193  background: var(--accent);194  border-color: var(--accent);195}196197.btn:active:not(:disabled) {198  transform: translateY(1px);199}200201.btn:disabled {202  opacity: 0.45;203  cursor: not-allowed;204}205206.btn-ghost {207  display: inline-flex;208  align-items: center;209  gap: var(--sp-1);210  min-height: 32px;211  padding: 0 var(--sp-3);212  border-radius: var(--r-sm);213  border: 1px solid var(--hairline-strong);214  background: var(--surface);215  color: var(--ink-soft);216  font-family: var(--font-mono);217  font-size: var(--fs-2xs);218  transition: all var(--t-fast) var(--ease-out);219}220221.btn-ghost:hover {222  border-color: var(--ink);223  color: var(--ink);224}225226/* -------------------------------- home ---------------------------------- */227228.hero {229  display: grid;230  grid-template-columns: 1fr;231  gap: var(--sp-8);232  padding: var(--sp-12) 0 var(--sp-8);233  align-items: center;234}235236@media (min-width: 1024px) {237  .hero {238    grid-template-columns: 7fr 5fr;239    padding: var(--sp-16) 0 var(--sp-12);240  }241}242243.hero h1 {244  font-family: var(--font-display);245  font-size: var(--fs-hero);246  font-weight: 560;247  line-height: 1.06;248  letter-spacing: -0.022em;249}250251.hero h1 em {252  font-style: italic;253  color: var(--accent);254}255256.hero .sub {257  margin-top: var(--sp-5);258  color: var(--ink-soft);259  font-size: var(--fs-lg);260  max-width: 32em;261  text-wrap: pretty;262}263264.hero-art {265  display: none;266  justify-self: center;267}268269@media (min-width: 1024px) {270  .hero-art {271    display: block;272  }273}274275.ask {276  margin-top: var(--sp-8);277  display: flex;278  flex-direction: column;279  gap: var(--sp-3);280}281282.ask .box {283  position: relative;284  border: 1.5px solid var(--hairline-strong);285  border-radius: var(--r-xl);286  background: var(--surface);287  box-shadow: var(--e-2);288  transition: border-color var(--t-fast) var(--ease-out), box-shadow var(--t-med) var(--ease-out);289}290291.ask .box:focus-within {292  border-color: var(--ink);293  box-shadow: var(--e-3);294}295296.ask textarea {297  display: block;298  width: 100%;299  min-height: 108px;300  padding: var(--sp-5) var(--sp-5) var(--sp-2);301  font-family: var(--font-body);302  font-size: var(--fs-md);303  line-height: 1.6;304  color: var(--ink);305  background: transparent;306  border: none;307  resize: vertical;308  outline: none;309}310311.ask textarea::placeholder {312  color: var(--ink-faint);313}314315.ask .box-foot {316  display: flex;317  align-items: center;318  justify-content: space-between;319  gap: var(--sp-3);320  padding: var(--sp-2) var(--sp-3) var(--sp-3);321}322323.ask .hint {324  font-family: var(--font-mono);325  font-size: var(--fs-2xs);326  color: var(--ink-faint);327  padding-left: var(--sp-2);328}329330.chips {331  display: flex;332  flex-wrap: wrap;333  gap: var(--sp-2);334  margin-top: var(--sp-2);335}336337.chip {338  min-height: 36px;339  padding: var(--sp-1) var(--sp-4);340  border-radius: 999px;341  border: 1px solid var(--hairline-strong);342  background: transparent;343  color: var(--ink-soft);344  font-size: var(--fs-sm);345  text-align: left;346  transition: all var(--t-fast) var(--ease-out);347}348349.chip:hover {350  border-color: var(--accent);351  color: var(--accent-deep);352  background: var(--accent-soft);353}354355/* recent sessions */356357.recent {358  margin: var(--sp-8) 0;359}360361.recent h2,362.pane h2,363.board h2 {364  display: flex;365  align-items: center;366  gap: var(--sp-2);367  font-family: var(--font-mono);368  font-size: var(--fs-2xs);369  font-weight: 500;370  text-transform: uppercase;371  letter-spacing: 0.14em;372  color: var(--ink-faint);373  margin-bottom: var(--sp-4);374}375376.recent ul {377  list-style: none;378  border: 1px solid var(--hairline);379  border-radius: var(--r-lg);380  background: var(--surface);381  overflow: hidden;382}383384.recent li + li {385  border-top: 1px solid var(--hairline);386}387388.recent li a {389  display: flex;390  gap: var(--sp-4);391  align-items: center;392  padding: var(--sp-4) var(--sp-5);393  text-decoration: none;394  transition: background var(--t-fast) var(--ease-out);395}396397.recent li a:hover {398  background: var(--paper-deep);399}400401.recent .q {402  flex: 1;403  overflow: hidden;404  text-overflow: ellipsis;405  white-space: nowrap;406  font-size: var(--fs-sm);407}408409.recent .arrow {410  color: var(--ink-faint);411  transition: transform var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);412}413414.recent li a:hover .arrow {415  transform: translateX(3px);416  color: var(--accent);417}418419.badge {420  font-family: var(--font-mono);421  font-size: var(--fs-2xs);422  padding: 3px 10px;423  border-radius: 999px;424  border: 1px solid var(--hairline-strong);425  color: var(--ink-soft);426  white-space: nowrap;427  background: var(--surface);428}429430.badge.running,431.badge.synthesizing,432.badge.pending {433  color: var(--accent-deep);434  border-color: color-mix(in srgb, var(--accent) 40%, transparent);435  background: var(--accent-soft);436}437438.badge.completed {439  color: var(--teal);440  border-color: color-mix(in srgb, var(--teal) 40%, transparent);441  background: var(--teal-soft);442}443444.badge.failed {445  color: var(--red);446  border-color: color-mix(in srgb, var(--red) 35%, transparent);447  background: var(--red-soft);448}449450/* ----------------------------- session page ------------------------------ */451452.question-head {453  padding: var(--sp-6) 0 var(--sp-5);454}455456.question-head .kicker {457  font-family: var(--font-mono);458  font-size: var(--fs-2xs);459  text-transform: uppercase;460  letter-spacing: 0.14em;461  color: var(--accent);462  margin-bottom: var(--sp-2);463}464465.question-head h1 {466  font-family: var(--font-display);467  font-size: clamp(1.35rem, 3.6vw, 2.1rem);468  font-weight: 560;469  line-height: 1.18;470  letter-spacing: -0.015em;471  max-width: 30em;472  text-wrap: balance;473}474475/* stats bar */476477.statsbar {478  position: sticky;479  top: 0;480  z-index: 20;481  display: flex;482  gap: var(--sp-2);483  align-items: center;484  padding: var(--sp-2) 0;485  margin: 0 calc(-1 * var(--sp-4));486  padding-left: var(--sp-4);487  padding-right: var(--sp-4);488  background: color-mix(in srgb, var(--paper) 88%, transparent);489  backdrop-filter: blur(10px);490  border-bottom: 1px solid var(--hairline);491  overflow-x: auto;492  scrollbar-width: none;493}494495.statsbar::-webkit-scrollbar {496  display: none;497}498499.stat-seg {500  display: inline-flex;501  align-items: center;502  gap: var(--sp-2);503  padding: 5px 12px 5px 6px;504  border: 1px solid var(--hairline);505  border-radius: 999px;506  background: var(--surface);507  font-family: var(--font-mono);508  font-size: var(--fs-2xs);509  color: var(--ink-soft);510  white-space: nowrap;511}512513.stat-seg b {514  color: var(--ink);515  font-weight: 600;516  font-variant-numeric: tabular-nums;517}518519.stat-seg.phase {520  padding-left: 12px;521  border-color: color-mix(in srgb, var(--accent) 35%, transparent);522  background: var(--accent-soft);523  color: var(--accent-deep);524}525526.stat-seg.phase.done {527  border-color: color-mix(in srgb, var(--teal) 35%, transparent);528  background: var(--teal-soft);529  color: var(--teal);530}531532.stat-seg.phase.dead {533  border-color: color-mix(in srgb, var(--red) 30%, transparent);534  background: var(--red-soft);535  color: var(--red);536}537538.pulse {539  width: 8px;540  height: 8px;541  min-width: 8px;542  border-radius: 50%;543  background: currentColor;544  animation: pulse 1.4s ease-in-out infinite;545}546547.pulse.still {548  animation: none;549}550551@keyframes pulse {552  0%, 100% { opacity: 1; transform: scale(1); }553  50% { opacity: 0.35; transform: scale(0.72); }554}555556/* research graph (the bloom) */557558.bloom-wrap {559  margin-top: var(--sp-5);560  border: 1px solid var(--hairline);561  border-radius: var(--r-lg);562  background:563    radial-gradient(600px 200px at 12% 50%, rgba(200, 67, 26, 0.05), transparent 65%),564    var(--surface);565  box-shadow: var(--e-1);566  overflow: hidden;567}568569.bloom-wrap svg {570  display: block;571  width: 100%;572  height: auto;573}574575.rg-branch {576  fill: none;577  stroke: var(--hairline-strong);578  stroke-width: 1.5;579  stroke-dasharray: 900;580  stroke-dashoffset: 900;581  animation: grow 1.1s var(--ease-out) forwards;582}583584.rg-twig {585  fill: none;586  stroke: var(--hairline-strong);587  stroke-width: 1.2;588  stroke-dasharray: 500;589  stroke-dashoffset: 500;590  animation: grow 0.9s var(--ease-out) forwards;591}592593@keyframes grow {594  to { stroke-dashoffset: 0; }595}596597.rg-node {598  animation: pop 0.5s var(--ease-out) both;599  transform-box: fill-box;600  transform-origin: center;601}602603@keyframes pop {604  from { transform: scale(0); opacity: 0; }605  to { transform: scale(1); opacity: 1; }606}607608.rg-label {609  font-family: var(--font-mono);610  font-size: 10.5px;611  fill: var(--ink-soft);612}613614.rg-label.strong {615  fill: var(--ink);616  font-weight: 600;617}618619.rg-qring {620  fill: none;621  stroke: var(--accent);622  stroke-width: 1.2;623  opacity: 0.5;624}625626.rg-qring.live {627  animation: ripple 2.2s ease-out infinite;628  transform-box: fill-box;629  transform-origin: center;630}631632@keyframes ripple {633  0% { transform: scale(0.6); opacity: 0.7; }634  100% { transform: scale(1.8); opacity: 0; }635}636637/* tabs (mobile) / panes (desktop) */638639.tabbar {640  display: flex;641  gap: var(--sp-2);642  padding: var(--sp-4) 0 var(--sp-2);643}644645.tabbar button {646  flex: 1;647  min-height: 44px;648  display: inline-flex;649  align-items: center;650  justify-content: center;651  gap: var(--sp-2);652  border: 1px solid var(--hairline-strong);653  background: var(--surface);654  border-radius: var(--r-md);655  font-family: var(--font-mono);656  font-size: var(--fs-2xs);657  text-transform: uppercase;658  letter-spacing: 0.08em;659  color: var(--ink-soft);660  transition: all var(--t-fast) var(--ease-out);661}662663.tabbar button.active {664  border-color: var(--ink);665  background: var(--ink);666  color: var(--paper);667}668669.panes {670  display: grid;671  grid-template-columns: 1fr;672  gap: var(--sp-6);673  padding: var(--sp-4) 0 var(--sp-8);674}675676.pane {677  min-width: 0;678}679680@media (max-width: 1023px) {681  .pane { display: none; }682  .pane.visible { display: block; }683}684685@media (min-width: 1024px) {686  .tabbar { display: none; }687  .panes {688    grid-template-columns: minmax(360px, 5fr) 7fr;689    align-items: start;690  }691  .pane.evidence-pane { grid-column: 1 / -1; }692}693694/* ------------------------------- timeline -------------------------------- */695696.tl {697  position: relative;698  display: flex;699  flex-direction: column;700  gap: var(--sp-3);701}702703.tl::before {704  content: "";705  position: absolute;706  left: 14.5px;707  top: 10px;708  bottom: 10px;709  width: 1.5px;710  background: linear-gradient(to bottom, var(--accent), var(--hairline) 30%, var(--hairline));711}712713.tl-row {714  position: relative;715  display: flex;716  gap: var(--sp-3);717  align-items: flex-start;718  animation: rise 0.45s var(--ease-out) both;719}720721@keyframes rise {722  from { opacity: 0; transform: translateY(7px); }723  to { opacity: 1; transform: translateY(0); }724}725726.tl-row .pastille {727  z-index: 1;728}729730.tl-card {731  flex: 1;732  min-width: 0;733  background: var(--surface);734  border: 1px solid var(--hairline);735  border-radius: var(--r-md);736  padding: var(--sp-3) var(--sp-4);737  box-shadow: var(--e-1);738  transition: border-color var(--t-fast) var(--ease-out);739}740741.tl-row:hover .tl-card {742  border-color: var(--hairline-strong);743}744745.tl-row.is-contradiction .tl-card {746  border-color: color-mix(in srgb, var(--accent) 45%, transparent);747  background: linear-gradient(0deg, var(--accent-soft), var(--surface) 55%);748}749750.tl-head {751  display: flex;752  align-items: center;753  gap: var(--sp-2);754  flex-wrap: wrap;755  font-family: var(--font-mono);756  font-size: var(--fs-2xs);757  text-transform: uppercase;758  letter-spacing: 0.1em;759  color: var(--ink-faint);760}761762.tl-body {763  margin-top: 3px;764  font-size: var(--fs-sm);765  overflow-wrap: anywhere;766}767768.tl-body .mono {769  font-family: var(--font-mono);770  font-size: var(--fs-2xs);771  color: var(--ink-faint);772}773774.tl-quote {775  margin-top: var(--sp-2);776  padding: var(--sp-2) var(--sp-3);777  background: var(--teal-soft);778  border-left: 3px solid var(--teal);779  border-radius: var(--r-sm);780  font-size: var(--fs-sm);781  font-style: italic;782  color: color-mix(in srgb, var(--teal) 70%, var(--ink));783}784785.tl-quote.contradicts {786  background: var(--accent-soft);787  border-left-color: var(--accent);788  color: var(--accent-deep);789}790791.tl-objectives {792  margin: var(--sp-2) 0 0;793  padding-left: var(--sp-5);794  font-size: var(--fs-sm);795  color: var(--ink-soft);796}797798.tl-objectives li {799  margin-bottom: 2px;800}801802.tl-empty {803  display: flex;804  align-items: center;805  gap: var(--sp-3);806  padding: var(--sp-5);807  border: 1px dashed var(--hairline-strong);808  border-radius: var(--r-md);809  color: var(--ink-faint);810  font-family: var(--font-mono);811  font-size: var(--fs-xs);812}813814.status-chip {815  font-family: var(--font-mono);816  font-size: var(--fs-2xs);817  padding: 1px 8px;818  border-radius: 999px;819  text-transform: none;820  letter-spacing: 0;821}822823.status-chip.supported { background: var(--teal-soft); color: var(--teal); }824.status-chip.contradicted { background: var(--accent-soft); color: var(--accent-deep); }825.status-chip.uncertain { background: var(--amber-soft); color: var(--amber); }826.status-chip.exploring { background: var(--paper-deep); color: var(--ink-soft); }827828/* -------------------------------- answer --------------------------------- */829830.answer-panel {831  background: var(--surface);832  border: 1px solid var(--hairline);833  border-radius: var(--r-lg);834  box-shadow: var(--e-2);835  overflow: hidden;836}837838.answer-head {839  display: flex;840  align-items: center;841  gap: var(--sp-2);842  padding: var(--sp-3) var(--sp-4);843  border-bottom: 1px solid var(--hairline);844  background: var(--paper-deep);845}846847.answer-head .lbl {848  font-family: var(--font-mono);849  font-size: var(--fs-2xs);850  text-transform: uppercase;851  letter-spacing: 0.12em;852  color: var(--ink-soft);853}854855.answer-head .btn-ghost {856  margin-left: auto;857}858859.answer-body {860  padding: var(--sp-6);861}862863.answer-waiting {864  display: flex;865  flex-direction: column;866  gap: var(--sp-3);867}868869.answer-waiting p {870  color: var(--ink-faint);871  font-family: var(--font-mono);872  font-size: var(--fs-xs);873}874875.skel {876  height: 12px;877  border-radius: 6px;878  background: linear-gradient(90deg, var(--paper-deep) 25%, var(--hairline) 50%, var(--paper-deep) 75%);879  background-size: 200% 100%;880  animation: shimmer 1.6s linear infinite;881}882883@keyframes shimmer {884  to { background-position: -200% 0; }885}886887.answer-md {888  font-size: var(--fs-md);889  line-height: 1.68;890}891892.answer-md h1,893.answer-md h2,894.answer-md h3 {895  font-family: var(--font-display);896  font-weight: 600;897  letter-spacing: -0.012em;898  margin: var(--sp-6) 0 var(--sp-3);899  line-height: 1.22;900}901902.answer-md h1 { font-size: var(--fs-xl); margin-top: 0; }903.answer-md h2 { font-size: var(--fs-lg); }904.answer-md h3 { font-size: var(--fs-md); }905906.answer-md p,907.answer-md ul,908.answer-md ol {909  margin-bottom: var(--sp-3);910}911912.answer-md ul,913.answer-md ol {914  padding-left: var(--sp-6);915}916917.answer-md strong {918  font-weight: 650;919}920921.answer-md table {922  border-collapse: collapse;923  width: 100%;924  margin: var(--sp-4) 0;925  font-size: var(--fs-sm);926}927928.answer-md th,929.answer-md td {930  border: 1px solid var(--hairline);931  padding: var(--sp-2) var(--sp-3);932  text-align: left;933}934935.answer-md th {936  font-family: var(--font-mono);937  font-size: var(--fs-2xs);938  text-transform: uppercase;939  letter-spacing: 0.06em;940  background: var(--paper-deep);941}942943.answer-md code {944  font-family: var(--font-mono);945  font-size: 0.88em;946  background: var(--paper-deep);947  border: 1px solid var(--hairline);948  padding: 1px 5px;949  border-radius: 5px;950}951952.answer-md blockquote {953  border-left: 3px solid var(--hairline-strong);954  padding-left: var(--sp-4);955  color: var(--ink-soft);956  margin-bottom: var(--sp-3);957}958959.answer-md sup.cite a {960  font-family: var(--font-mono);961  font-size: 0.72em;962  color: var(--accent);963  font-weight: 700;964  text-decoration: none;965  padding: 0 2px;966  border-radius: 4px;967}968969.answer-md sup.cite a:hover {970  background: var(--accent-soft);971}972973.caret {974  display: inline-block;975  width: 8px;976  height: 1.05em;977  background: var(--accent);978  border-radius: 2px;979  vertical-align: text-bottom;980  margin-left: 2px;981  animation: pulse 1s ease-in-out infinite;982}983984/* --------------------------- claims & sources ---------------------------- */985986.board {987  margin-top: var(--sp-2);988}989990.claims-grid {991  display: grid;992  grid-template-columns: 1fr;993  gap: var(--sp-3);994  margin-bottom: var(--sp-6);995}996997@media (min-width: 768px) {998  .claims-grid { grid-template-columns: 1fr 1fr; }999}10001001@media (min-width: 1280px) {1002  .claims-grid { grid-template-columns: 1fr 1fr 1fr; }1003}10041005.claim-card {1006  background: var(--surface);1007  border: 1px solid var(--hairline);1008  border-radius: var(--r-md);1009  padding: var(--sp-4);1010  box-shadow: var(--e-1);1011  display: flex;1012  flex-direction: column;1013  gap: var(--sp-2);1014}10151016.claim-card .txt {1017  font-size: var(--fs-sm);1018  line-height: 1.45;1019  flex: 1;1020}10211022.claim-card .why {1023  font-size: var(--fs-xs);1024  color: var(--ink-faint);1025}10261027.meter {1028  display: flex;1029  align-items: center;1030  gap: var(--sp-2);1031}10321033.meter .bar {1034  flex: 1;1035  height: 6px;1036  border-radius: 999px;1037  background: var(--paper-deep);1038  overflow: hidden;1039}10401041.meter .fill {1042  display: block;1043  height: 100%;1044  border-radius: 999px;1045  background: var(--teal);1046  transition: width 0.6s var(--ease-out);1047}10481049.meter.contradicted .fill { background: var(--accent); }1050.meter.uncertain .fill { background: var(--amber); }1051.meter.exploring .fill { background: var(--ink-faint); }10521053.meter .pct {1054  font-family: var(--font-mono);1055  font-size: var(--fs-2xs);1056  color: var(--ink-soft);1057  font-variant-numeric: tabular-nums;1058  min-width: 34px;1059  text-align: right;1060}10611062.source-list {1063  list-style: none;1064  display: grid;1065  grid-template-columns: 1fr;1066  gap: var(--sp-2);1067}10681069@media (min-width: 768px) {1070  .source-list { grid-template-columns: 1fr 1fr; }1071}10721073@media (min-width: 1280px) {1074  .source-list { grid-template-columns: 1fr 1fr 1fr; }1075}10761077.source-card {1078  display: flex;1079  gap: var(--sp-3);1080  padding: var(--sp-3);1081  background: var(--surface);1082  border: 1px solid var(--hairline);1083  border-radius: var(--r-md);1084  text-decoration: none;1085  min-height: 56px;1086  align-items: center;1087  transition: border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);1088}10891090.source-card:hover {1091  border-color: var(--ink);1092  transform: translateY(-1px);1093}10941095.tile {1096  width: 34px;1097  height: 34px;1098  min-width: 34px;1099  border-radius: 9px;1100  display: grid;1101  place-items: center;1102  color: #fff;1103  font-family: var(--font-mono);1104  font-weight: 700;1105  font-size: var(--fs-sm);1106  text-transform: uppercase;1107}11081109.source-card .meta {1110  min-width: 0;1111  flex: 1;1112}11131114.source-card .title {1115  font-size: var(--fs-sm);1116  overflow: hidden;1117  text-overflow: ellipsis;1118  display: -webkit-box;1119  -webkit-line-clamp: 1;1120  -webkit-box-orient: vertical;1121}11221123.source-card .domain {1124  font-family: var(--font-mono);1125  font-size: var(--fs-2xs);1126  color: var(--ink-faint);1127}11281129.source-card .cite-idx {1130  font-family: var(--font-mono);1131  font-size: var(--fs-2xs);1132  font-weight: 700;1133  color: var(--accent);1134  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);1135  background: var(--accent-soft);1136  border-radius: 7px;1137  padding: 2px 7px;1138}11391140.error-box {1141  display: flex;1142  gap: var(--sp-3);1143  align-items: center;1144  margin: var(--sp-4) 0;1145  padding: var(--sp-4);1146  border: 1px solid color-mix(in srgb, var(--red) 40%, transparent);1147  border-radius: var(--r-md);1148  background: var(--red-soft);1149  color: var(--red);1150  font-family: var(--font-mono);1151  font-size: var(--fs-xs);1152}11531154/* ------------------------------ reduced motion --------------------------- */11551156@media (prefers-reduced-motion: reduce) {1157  .tl-row,1158  .rg-branch,1159  .rg-twig,1160  .rg-node,1161  .skel {1162    animation: none !important;1163  }1164  .rg-branch,1165  .rg-twig {1166    stroke-dashoffset: 0 !important;1167  }1168  .pulse,1169  .caret,1170  .rg-qring.live,1171  .pastille.spinning::after {1172    animation: none !important;1173  }1174  html {1175    scroll-behavior: auto;1176  }1177}11781179/* graph labels collapse on small screens */1180.rg-sm { display: none; }1181@media (min-width: 768px) { .rg-sm { display: block; } }1182