/* FreeLLM Pastel Product UI — site-wide visual system
   Inspired by the supplied reference: airy blue canvas, soft cards, hand-drawn accents,
   clear information hierarchy. Loaded last by /js/freellm-sync.js so generated pages inherit it. */

:root {
  color-scheme: light;
  --fl-canvas:#f4f9ff;
  --fl-canvas-2:#eef7ff;
  --fl-surface:rgba(255,255,255,.9);
  --fl-surface-solid:#ffffff;
  --fl-surface-blue:#eef7ff;
  --fl-surface-pink:#fff1f6;
  --fl-surface-mint:#effaf7;
  --fl-ink:#102b59;
  --fl-ink-2:#4f6d98;
  --fl-ink-3:#8298b8;
  --fl-blue:#2e7be7;
  --fl-blue-deep:#155fc9;
  --fl-blue-soft:#dceeff;
  --fl-pink:#ef6f9d;
  --fl-pink-soft:#ffe0ea;
  --fl-mint:#4fb69d;
  --fl-mint-soft:#dff5ee;
  --fl-yellow:#e8a82d;
  --fl-yellow-soft:#fff2cf;
  --fl-line:#dce9f6;
  --fl-line-strong:#c8dced;
  --fl-shadow:0 16px 42px rgba(43,91,145,.08);
  --fl-shadow-hover:0 18px 48px rgba(43,91,145,.14);
  --fl-radius-xl:24px;
  --fl-radius-lg:18px;
  --fl-radius-md:14px;
  --fl-font:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei',ui-sans-serif,system-ui,-apple-system,sans-serif;

  /* Map legacy/generated tokens onto the new visual system. */
  --canvas:var(--fl-canvas);
  --canvas-warm:var(--fl-canvas-2);
  --surface:var(--fl-surface-solid);
  --surface-soft:var(--fl-surface-blue);
  --ink:var(--fl-ink);
  --ink-secondary:var(--fl-ink-2);
  --ink-tertiary:var(--fl-ink-3);
  --line:var(--fl-line);
  --line-soft:rgba(41,95,151,.08);
  --accent:var(--fl-blue);
  --accent-soft:var(--fl-blue-soft);
  --blue:var(--fl-blue);
  --soft:var(--fl-canvas-2);
  --muted:var(--fl-ink-2);
  --ink-solid:var(--fl-blue);
  --ink-solid-hover:var(--fl-blue-deep);
  --ink-solid-contrast:#fff;
  --pale-red-bg:var(--fl-pink-soft);
  --pale-red-text:#bd4c76;
  --pale-green-bg:var(--fl-mint-soft);
  --pale-green-text:#2d876f;
  --pale-yellow-bg:var(--fl-yellow-soft);
  --pale-yellow-text:#9a6810;
  --pale-stone-bg:#edf4fb;
  --pale-stone-text:#5c7392;
  --card-shadow:var(--fl-shadow);
  --font-sans:var(--fl-font);
  --font-serif:var(--fl-font);
}

html.fl-pastel-ui { background:var(--fl-canvas); }
html.fl-pastel-ui[data-theme="dark"] {
  --fl-canvas:#0e1b2d;
  --fl-canvas-2:#13253a;
  --fl-surface:rgba(20,39,62,.92);
  --fl-surface-solid:#14273e;
  --fl-surface-blue:#18314d;
  --fl-surface-pink:#3a2433;
  --fl-surface-mint:#17382f;
  --fl-ink:#eff7ff;
  --fl-ink-2:#b8cbe0;
  --fl-ink-3:#8097b3;
  --fl-blue:#71b6ff;
  --fl-blue-deep:#9bcaff;
  --fl-blue-soft:#1b4167;
  --fl-pink:#ff91b7;
  --fl-pink-soft:#4b2636;
  --fl-mint:#70d3ba;
  --fl-mint-soft:#19483d;
  --fl-yellow:#f2c867;
  --fl-yellow-soft:#493b20;
  --fl-line:#29445f;
  --fl-line-strong:#365571;
  --fl-shadow:0 18px 44px rgba(0,0,0,.22);
  --fl-shadow-hover:0 22px 54px rgba(0,0,0,.3);
  --canvas:var(--fl-canvas);
  --canvas-warm:var(--fl-canvas-2);
  --surface:var(--fl-surface-solid);
  --surface-soft:var(--fl-surface-blue);
  --ink:var(--fl-ink);
  --ink-secondary:var(--fl-ink-2);
  --ink-tertiary:var(--fl-ink-3);
  --line:var(--fl-line);
  --accent:var(--fl-blue);
  --accent-soft:var(--fl-blue-soft);
  --blue:var(--fl-blue);
  --soft:var(--fl-canvas-2);
  --muted:var(--fl-ink-2);
}

html.fl-pastel-ui body {
  min-height:100vh;
  background:
    radial-gradient(circle at 24% 2%, rgba(121,190,255,.20), transparent 27rem),
    radial-gradient(circle at 88% 9%, rgba(255,177,205,.14), transparent 24rem),
    linear-gradient(180deg,var(--fl-canvas-2) 0,var(--fl-canvas) 29rem,var(--fl-canvas) 100%) !important;
  color:var(--fl-ink) !important;
  font-family:var(--fl-font) !important;
  -webkit-font-smoothing:antialiased;
}
html.fl-pastel-ui body.fl-ui-v2 {
  max-width:none !important;
  margin:0 !important;
  padding:28px 34px 72px 224px !important;
}
html.fl-pastel-ui body.fl-ui-v2::before {
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background-image:
    linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,black,transparent 46%);
}

html.fl-pastel-ui h1,
html.fl-pastel-ui h2,
html.fl-pastel-ui h3,
html.fl-pastel-ui h4,
html.fl-pastel-ui .brand-name {
  color:var(--fl-ink) !important;
  font-family:var(--fl-font) !important;
  font-weight:700 !important;
  letter-spacing:-.025em;
}
html.fl-pastel-ui h1 { line-height:1.12; }
html.fl-pastel-ui a { text-underline-offset:3px; }
html.fl-pastel-ui :focus-visible {
  outline:3px solid rgba(46,123,231,.28) !important;
  outline-offset:3px;
}

/* Universal left rail */
.fl-site-rail {
  position:fixed;
  z-index:1200;
  left:0;
  top:0;
  bottom:0;
  width:192px;
  padding:22px 14px 18px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:rgba(255,255,255,.80);
  border-right:1px solid rgba(198,220,240,.9);
  backdrop-filter:blur(18px);
  box-shadow:10px 0 40px rgba(63,109,157,.04);
}
.fl-site-brand {
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 8px 18px;
  color:var(--fl-ink);
  text-decoration:none;
  border-bottom:1px solid var(--fl-line);
}
.fl-site-brand-mark {
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid #b8d9f8;border-radius:12px;
  background:linear-gradient(145deg,#fff,#dff0ff);
  color:var(--fl-blue);font-weight:800;font-size:19px;
  box-shadow:0 7px 16px rgba(46,123,231,.12);
}
.fl-site-brand-copy { display:grid; line-height:1.12; }
.fl-site-brand-copy strong { font-size:18px; color:var(--fl-ink); }
.fl-site-brand-copy small { margin-top:4px; color:var(--fl-ink-3); font-size:10px; }
.fl-site-nav { display:grid; gap:5px; }
.fl-site-nav a {
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:42px;
  padding:9px 11px;
  border-radius:12px;
  color:#49698f;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  transition:background .18s,color .18s,transform .18s;
}
.fl-site-nav a:hover {
  color:var(--fl-blue-deep);
  background:#edf6ff;
  transform:translateX(2px);
}
.fl-site-nav a[aria-current="page"] {
  color:#1768d3;
  background:linear-gradient(90deg,#dceeff,#edf7ff);
  box-shadow:inset 0 0 0 1px rgba(88,155,224,.08);
}
.fl-site-nav-icon {
  width:22px;
  text-align:center;
  color:var(--fl-blue);
  font-size:17px;
  font-weight:400;
}
.fl-site-rail-note {
  margin:auto 7px 4px;
  padding:16px 12px 12px;
  color:#46698f;
  font:600 13px/1.65 "KaiTi","STKaiti","Kaiti SC",cursive;
  transform:rotate(-2deg);
}
.fl-site-rail-note::before {
  content:"";
  display:block;
  width:68px;
  height:24px;
  margin:0 0 8px 12px;
  border-top:3px solid #84bdf4;
  border-radius:50%;
  transform:rotate(-8deg);
}
.fl-site-rail-note span { color:var(--fl-blue); }

/* Universal top ribbon */
.fl-site-ribbon {
  /* width:100% must include both 1px borders; otherwise Prompts overflows at 1280px */
  box-sizing:border-box;
  max-width:1340px;
  min-height:44px;
  margin:0 auto 14px;
  padding:7px 10px 7px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--fl-ink-2);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(210,227,243,.9);
  border-radius:15px;
  backdrop-filter:blur(14px);
  box-shadow:0 8px 28px rgba(53,101,153,.05);
}
.fl-site-ribbon-title {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:600;
}
.fl-site-ribbon-actions { display:flex; align-items:center; gap:8px; }
.fl-site-ribbon a,
.fl-site-ribbon button {
  border:0;
  padding:7px 11px;
  border-radius:10px;
  background:transparent;
  color:var(--fl-ink-2);
  text-decoration:none;
  cursor:pointer;
  font:600 12px/1 var(--fl-font);
}
.fl-site-ribbon a:hover,
.fl-site-ribbon button:hover { color:var(--fl-blue); background:var(--fl-blue-soft); }

/* Shared content surfaces */
body.fl-ui-v2 > header,
body.fl-ui-v2 > main:not(.catalog-app):not(.skills-page):not(.skill-lab-page):not(.tools-page),
body.fl-ui-v2 > footer,
body.fl-ui-v2 > .page,
body.fl-ui-v2 > .catalog-app,
body.fl-ui-v2 > .skills-page,
body.fl-ui-v2 > .skill-lab-page,
body.fl-ui-v2 > .tools-page {
  width:min(100%,1340px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.fl-ui-v2 > header,
body.fl-ui-v2 > main:not(.catalog-app):not(.skills-page):not(.skill-lab-page):not(.tools-page),
body.fl-ui-v2 > footer {
  background:var(--fl-surface) !important;
  border:1px solid var(--fl-line) !important;
  border-radius:var(--fl-radius-xl) !important;
  box-shadow:var(--fl-shadow) !important;
  backdrop-filter:blur(14px);
}
body.fl-ui-v2 > header {
  overflow:hidden;
  background:
    linear-gradient(105deg,rgba(237,247,255,.96),rgba(255,255,255,.94) 58%,rgba(255,239,246,.78)) !important;
}
body.fl-ui-v2 > header::after {
  content:"✦  清晰 · 可核验 · 真正能用";
  position:absolute;
  top:22px;
  right:74px;
  color:#5f8fc2;
  font:600 13px/1.4 "KaiTi","STKaiti","Kaiti SC",cursive;
  transform:rotate(-2deg);
  opacity:.9;
}
body.fl-ui-v2 > footer {
  color:var(--fl-ink-2);
  background:rgba(255,255,255,.66) !important;
}
html.fl-pastel-ui .lead,
html.fl-pastel-ui .muted,
html.fl-pastel-ui .sub,
html.fl-pastel-ui .hero-copy {
  color:var(--fl-ink-2) !important;
}
html.fl-pastel-ui .eyebrow,
html.fl-pastel-ui .crumb {
  color:var(--fl-blue) !important;
  font-family:var(--fl-font) !important;
  letter-spacing:.05em !important;
}
html.fl-pastel-ui .crumb a { color:var(--fl-ink-2) !important; }

/* Buttons, chips, inputs */
html.fl-pastel-ui .button,
html.fl-pastel-ui .btn,
html.fl-pastel-ui .primary-action,
html.fl-pastel-ui button.primary,
html.fl-pastel-ui .student-button {
  border-radius:12px !important;
  border-color:var(--fl-blue) !important;
  background:linear-gradient(135deg,var(--fl-blue),#5a9ef0) !important;
  color:#fff !important;
  box-shadow:0 7px 18px rgba(46,123,231,.18);
  transition:transform .18s,box-shadow .18s,filter .18s !important;
}
html.fl-pastel-ui .button:hover,
html.fl-pastel-ui .btn:hover,
html.fl-pastel-ui .primary-action:hover,
html.fl-pastel-ui button.primary:hover,
html.fl-pastel-ui .student-button:hover {
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(46,123,231,.24);
  filter:saturate(1.06);
}
html.fl-pastel-ui input,
html.fl-pastel-ui select,
html.fl-pastel-ui textarea {
  color:var(--fl-ink) !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid var(--fl-line-strong) !important;
  border-radius:12px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
html.fl-pastel-ui .tag,
html.fl-pastel-ui .badge,
html.fl-pastel-ui .skill-chip,
html.fl-pastel-ui .model-badge,
html.fl-pastel-ui .flag-chip {
  border-radius:999px !important;
}
html.fl-pastel-ui .tag,
html.fl-pastel-ui .model-badge,
html.fl-pastel-ui .skill-chip {
  color:var(--fl-blue-deep) !important;
  background:#e9f4ff !important;
  border-color:#d6eafb !important;
}
html.fl-pastel-ui .status-online,
html.fl-pastel-ui .verified { background:var(--fl-mint-soft) !important; color:#247c67 !important; }
html.fl-pastel-ui .status-offline { background:var(--fl-pink-soft) !important; color:#b5456d !important; }
html.fl-pastel-ui .status-degraded,
html.fl-pastel-ui .status-unknown { background:var(--fl-yellow-soft) !important; color:#91620f !important; }

/* Tables & structured content */
html.fl-pastel-ui .table-wrap,
html.fl-pastel-ui .catalog-table-wrap {
  overflow:hidden;
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 8px 26px rgba(47,91,139,.04);
}
html.fl-pastel-ui table th {
  color:#557392 !important;
  background:#edf6ff !important;
  border-bottom-color:#d6e7f6 !important;
}
html.fl-pastel-ui table td { border-bottom-color:#e8f0f7 !important; }
html.fl-pastel-ui tbody tr:hover td { background:rgba(239,247,255,.68); }
html.fl-pastel-ui pre {
  border:1px solid #244563 !important;
  border-radius:14px !important;
  background:#10243a !important;
  box-shadow:0 10px 26px rgba(12,44,75,.12);
}
html.fl-pastel-ui code:not(pre code) {
  color:#295f93 !important;
  background:#edf6ff !important;
  border:1px solid #daeaf8;
}
html.fl-pastel-ui .callout,
html.fl-pastel-ui .notice {
  border:1px solid #d8e9f7 !important;
  border-left:4px solid #72ace7 !important;
  border-radius:14px !important;
  background:linear-gradient(90deg,#eef8ff,#fff) !important;
  color:var(--fl-ink-2) !important;
}
html.fl-pastel-ui .callout.green,
html.fl-pastel-ui .notice { border-left-color:var(--fl-mint) !important; background:linear-gradient(90deg,#effbf7,#fff) !important; }

/* Generic cards used by providers/models/offer pages */
html.fl-pastel-ui .provider-grid,
html.fl-pastel-ui .access-route-grid,
html.fl-pastel-ui .facts,
html.fl-pastel-ui .card-grid {
  gap:14px !important;
}
html.fl-pastel-ui .provider-card,
html.fl-pastel-ui .access-route,
html.fl-pastel-ui .fact,
html.fl-pastel-ui .model-card,
html.fl-pastel-ui .hero-card {
  border:1px solid var(--fl-line) !important;
  border-radius:var(--fl-radius-lg) !important;
  background:rgba(255,255,255,.9) !important;
  box-shadow:0 9px 28px rgba(47,91,139,.05);
  transition:transform .18s,box-shadow .18s,border-color .18s !important;
}
html.fl-pastel-ui .provider-card:hover,
html.fl-pastel-ui .access-route:hover,
html.fl-pastel-ui .model-card:hover,
html.fl-pastel-ui .hero-card:hover {
  transform:translateY(-2px);
  border-color:#bfdcf5 !important;
  box-shadow:var(--fl-shadow-hover) !important;
}
html.fl-pastel-ui .fact:nth-child(3n+1) { background:#f1f8ff !important; }
html.fl-pastel-ui .fact:nth-child(3n+2) { background:#fff4f8 !important; }
html.fl-pastel-ui .fact:nth-child(3n+3) { background:#f1faf7 !important; }

/* Homepage / directory */
html.fl-pastel-ui .catalog-app {
  background:transparent !important;
  color:var(--fl-ink) !important;
}
html.fl-pastel-ui .catalog-header {
  min-height:64px;
  margin-bottom:16px !important;
  padding:10px 14px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 10px 30px rgba(43,91,145,.05);
  backdrop-filter:blur(14px);
}
html.fl-pastel-ui .catalog-header .brand { display:none !important; }
html.fl-pastel-ui .catalog-header .top-nav a {
  color:#4c6c94 !important;
  border-radius:10px;
}
html.fl-pastel-ui .catalog-header .top-nav a:hover { color:var(--fl-blue) !important; background:#eef7ff; }
html.fl-pastel-ui .catalog-content { max-width:none !important; }
html.fl-pastel-ui .catalog-hero {
  overflow:hidden;
  position:relative;
  padding:clamp(24px,4vw,52px) !important;
  border:1px solid #d7e8f7 !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 76% 16%,rgba(131,196,255,.28),transparent 20rem),
    linear-gradient(120deg,#edf8ff 0,#fff 60%,#fff1f6 100%) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .catalog-hero::after {
  content:"更好的 AI 资源\A让更多人真正用起来 ♡";
  white-space:pre;
  position:absolute;
  top:38px;
  right:6%;
  color:#557da9;
  font:600 16px/1.65 "KaiTi","STKaiti","Kaiti SC",cursive;
  transform:rotate(-4deg);
  border-bottom:3px solid #8bc4f5;
  padding:0 8px 7px;
  pointer-events:none;
}
html.fl-pastel-ui .catalog-hero h1 {
  color:#0e2b59 !important;
  font-size:clamp(38px,5vw,72px) !important;
  max-width:800px;
}
html.fl-pastel-ui .hero-search {
  border-radius:14px !important;
  border-color:#cfe3f5 !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(59,104,150,.08);
}
html.fl-pastel-ui .hero-intel {
  border:1px solid #f1dce5 !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#fff,#fff2f6) !important;
  box-shadow:0 9px 26px rgba(160,71,108,.05);
}
html.fl-pastel-ui .catalog-filter-bar,
html.fl-pastel-ui .filter-strip {
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.76) !important;
}
html.fl-pastel-ui .filter-chip {
  border-radius:999px !important;
  border-color:#dceaf6 !important;
  color:#5f7898 !important;
  background:#f7fbff !important;
}
html.fl-pastel-ui .filter-chip.active {
  color:#196bd6 !important;
  border-color:#b8daf6 !important;
  background:#e4f2ff !important;
}
html.fl-pastel-ui .category-card,
html.fl-pastel-ui .featured-card,
html.fl-pastel-ui .resource-card,
html.fl-pastel-ui .cheap-card,
html.fl-pastel-ui .offer,
html.fl-pastel-ui .student-panel,
html.fl-pastel-ui .compare-panel,
html.fl-pastel-ui .utility-grid > * {
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 8px 26px rgba(43,91,145,.05);
}
html.fl-pastel-ui .category-card:nth-child(4n+2),
html.fl-pastel-ui .featured-card:nth-child(4n+2) { background:linear-gradient(145deg,#fff,#f1f8ff) !important; }
html.fl-pastel-ui .category-card:nth-child(4n+3),
html.fl-pastel-ui .featured-card:nth-child(4n+3) { background:linear-gradient(145deg,#fff,#fff3f7) !important; }
html.fl-pastel-ui .category-card:nth-child(4n+4),
html.fl-pastel-ui .featured-card:nth-child(4n+4) { background:linear-gradient(145deg,#fff,#f0faf7) !important; }
html.fl-pastel-ui .category-card:hover,
html.fl-pastel-ui .featured-card:hover,
html.fl-pastel-ui .offer:hover {
  transform:translateY(-2px);
  border-color:#bcdaf4 !important;
  box-shadow:var(--fl-shadow-hover) !important;
}
html.fl-pastel-ui .offer-card-metric label,
html.fl-pastel-ui .detail-label {
  color:#6d88a7 !important;
  font-family:var(--fl-font) !important;
  letter-spacing:.02em !important;
}
html.fl-pastel-ui .row-arrow {
  color:#2476db !important;
  background:#eaf5ff !important;
  border-radius:999px !important;
}

/* Skills directory */
html.fl-pastel-ui .skills-page {
  color:var(--fl-ink) !important;
  background:transparent !important;
}
html.fl-pastel-ui .skills-header,
html.fl-pastel-ui .tools-header {
  min-height:62px;
  margin-bottom:16px !important;
  padding:9px 14px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 10px 30px rgba(43,91,145,.05);
  backdrop-filter:blur(14px);
}
html.fl-pastel-ui .skills-header .brand,
html.fl-pastel-ui .tools-header .brand { display:none !important; }
html.fl-pastel-ui .skills-header .top-nav a,
html.fl-pastel-ui .tools-header .top-nav a { color:#527197 !important; }
html.fl-pastel-ui .skills-hero,
html.fl-pastel-ui .tools-hero {
  position:relative;
  overflow:hidden;
  border:1px solid #d6e8f7 !important;
  border-radius:26px !important;
  background:linear-gradient(120deg,#edf8ff,#fff 59%,#fff1f6) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .skills-hero::after,
html.fl-pastel-ui .tools-hero::after {
  content:"真实测试 · 清楚边界 · 看得到结果";
  position:absolute;
  right:42px;
  top:26px;
  color:#5c82ac;
  font:600 14px/1.5 "KaiTi","STKaiti","Kaiti SC",cursive;
  transform:rotate(-3deg);
  border-bottom:3px solid #8cc6f5;
  padding:0 4px 6px;
}
html.fl-pastel-ui .skills-hero .hero-note,
html.fl-pastel-ui .tools-hero .hero-note {
  border:1px solid #f0dce6 !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#fff,#fff0f5) !important;
}
html.fl-pastel-ui .skills-toolbar,
html.fl-pastel-ui .tools-toolbar {
  margin-top:16px !important;
  padding:10px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.78) !important;
}
html.fl-pastel-ui .skill-category-tabs,
html.fl-pastel-ui .tool-category-tabs {
  gap:7px !important;
  padding:10px 0 14px !important;
}
html.fl-pastel-ui .skill-category-tab,
html.fl-pastel-ui .tool-category-tab {
  border:1px solid #dae9f6 !important;
  border-radius:999px !important;
  color:#577392 !important;
  background:#f8fbff !important;
}
html.fl-pastel-ui .skill-category-tab.is-active,
html.fl-pastel-ui .tool-category-tab.is-active {
  color:#196bd6 !important;
  border-color:#b9d9f4 !important;
  background:#e5f2ff !important;
}
html.fl-pastel-ui .skill-grid { gap:14px !important; align-items:start !important; }
html.fl-pastel-ui .skill-card {
  overflow:hidden;
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 9px 28px rgba(43,91,145,.05) !important;
  transition:transform .18s,box-shadow .18s,border-color .18s !important;
}
html.fl-pastel-ui .skill-card:nth-child(6n+2),
html.fl-pastel-ui .skill-card:nth-child(6n+5) { background:linear-gradient(145deg,#fff,#f3f9ff) !important; }
html.fl-pastel-ui .skill-card:nth-child(6n+3) { background:linear-gradient(145deg,#fff,#fff4f8) !important; }
html.fl-pastel-ui .skill-card:hover {
  transform:translateY(-3px);
  border-color:#b8d8f3 !important;
  box-shadow:var(--fl-shadow-hover) !important;
}
html.fl-pastel-ui .skill-card h2 { color:#17345f !important; }
html.fl-pastel-ui .skill-details {
  color:#176bd8 !important;
  border-radius:10px !important;
}
html.fl-pastel-ui .skill-source-link { color:#6e86a4 !important; }
html.fl-pastel-ui dialog {
  color:var(--fl-ink) !important;
  border:1px solid var(--fl-line) !important;
  border-radius:22px !important;
  background:#fbfdff !important;
  box-shadow:0 28px 80px rgba(26,65,107,.22) !important;
}
html.fl-pastel-ui dialog::backdrop {
  background:rgba(27,53,84,.28) !important;
  backdrop-filter:blur(8px);
}
html.fl-pastel-ui .skill-dialog-section,
html.fl-pastel-ui .dialog-io > div,
html.fl-pastel-ui .command-box {
  border-radius:15px !important;
  border-color:var(--fl-line) !important;
  background:#f5faff !important;
}

/* Skill Lab */
html.fl-pastel-ui .skill-lab-page { display:block !important; background:transparent !important; }
html.fl-pastel-ui .skill-lab-sidebar { display:none !important; }
html.fl-pastel-ui .lab-content { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
html.fl-pastel-ui .lab-topline {
  margin-bottom:14px !important;
  padding:10px 14px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.76) !important;
}
html.fl-pastel-ui .lab-hero {
  overflow:hidden;
  border:1px solid #d5e7f7 !important;
  border-radius:26px !important;
  background:linear-gradient(120deg,#edf8ff,#fff 58%,#fff0f5) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .lab-hero-aside {
  border:1px solid #f0dce5 !important;
  border-radius:18px !important;
  background:rgba(255,244,248,.88) !important;
}
html.fl-pastel-ui .lab-rule {
  border:1px solid #dcebf7 !important;
  border-radius:14px !important;
  background:#f2f9ff !important;
}
html.fl-pastel-ui .workflow-grid { gap:14px !important; }
html.fl-pastel-ui .workflow-card {
  border:1px solid var(--fl-line) !important;
  border-radius:20px !important;
  background:linear-gradient(145deg,#fff,#f4f9ff) !important;
  box-shadow:0 10px 30px rgba(43,91,145,.05);
  transition:transform .18s,box-shadow .18s !important;
}
html.fl-pastel-ui .workflow-card:nth-child(even) { background:linear-gradient(145deg,#fff,#fff4f8) !important; }
html.fl-pastel-ui .workflow-card:hover { transform:translateY(-3px); box-shadow:var(--fl-shadow-hover) !important; }
html.fl-pastel-ui .flow-node {
  color:#176bd8 !important;
  border-color:#a8cef0 !important;
  background:#e8f4ff !important;
}
html.fl-pastel-ui .flow-line { background:#bfdcf4 !important; }
html.fl-pastel-ui .component-library {
  border:1px solid var(--fl-line) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 10px 30px rgba(43,91,145,.05);
}
html.fl-pastel-ui .component-card,
html.fl-pastel-ui [class*="component-"][class*="card"] {
  border-radius:16px !important;
  border-color:var(--fl-line) !important;
  background:#f7fbff !important;
}

/* Tools */
html.fl-pastel-ui .tools-page { background:transparent !important; }
html.fl-pastel-ui .tool-grid { gap:13px !important; }
html.fl-pastel-ui .tool-card,
html.fl-pastel-ui [data-tool-id] {
  border-radius:18px !important;
  border-color:var(--fl-line) !important;
  box-shadow:0 8px 24px rgba(43,91,145,.04);
}
html.fl-pastel-ui .tool-card:hover,
html.fl-pastel-ui [data-tool-id]:hover { box-shadow:var(--fl-shadow-hover) !important; }
html.fl-pastel-ui .tool-modal-body {
  border:1px solid var(--fl-line) !important;
  border-radius:22px !important;
  background:#fbfdff !important;
  box-shadow:0 30px 80px rgba(31,67,106,.24) !important;
}

/* Favorites */
html.fl-pastel-ui .page {
  background:transparent !important;
}
html.fl-pastel-ui .page > header {
  padding:13px 16px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 10px 30px rgba(43,91,145,.05);
}
html.fl-pastel-ui .page > header .brand { display:none !important; }
html.fl-pastel-ui .page .card,
html.fl-pastel-ui .hist-row {
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 8px 24px rgba(43,91,145,.04);
}

/* Model directory */
html.fl-pastel-ui .hero-grid {
  gap:14px !important;
}
html.fl-pastel-ui .hero-copy {
  border:1px solid #d7e8f7 !important;
  border-radius:22px !important;
  background:linear-gradient(125deg,#edf8ff,#fff) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .hero-cards .hero-card:nth-child(2n) { background:#fff3f7 !important; }
html.fl-pastel-ui .hero-cards .hero-card:nth-child(3n) { background:#f0faf7 !important; }
html.fl-pastel-ui .model-directory {
  border:1px solid var(--fl-line) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .mdir-toolbar {
  border-radius:14px !important;
  background:#f3f9ff !important;
}
html.fl-pastel-ui .mdir-chip,
html.fl-pastel-ui .mdir-view-btn,
html.fl-pastel-ui .catalog-page-link {
  border-radius:999px !important;
  border-color:#d4e6f5 !important;
}
html.fl-pastel-ui .catalog-card {
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 7px 22px rgba(43,91,145,.04);
}

/* Small decorative strokes, deliberately subtle */
html.fl-pastel-ui .section-heading,
html.fl-pastel-ui .workflow-section-head,
html.fl-pastel-ui .mdir-heading {
  position:relative;
}
html.fl-pastel-ui .section-heading::after,
html.fl-pastel-ui .workflow-section-head::after {
  content:"";
  width:64px;height:7px;
  position:absolute;right:4px;bottom:-3px;
  border-top:3px solid #8fc7f3;
  border-radius:50%;
  transform:rotate(-3deg);
  opacity:.72;
}

/* Dark mode */
html.fl-pastel-ui[data-theme="dark"] .fl-site-rail,
html.fl-pastel-ui[data-theme="dark"] .fl-site-ribbon,
html.fl-pastel-ui[data-theme="dark"] .catalog-header,
html.fl-pastel-ui[data-theme="dark"] .skills-header,
html.fl-pastel-ui[data-theme="dark"] .tools-header {
  background:rgba(18,36,57,.88) !important;
  border-color:var(--fl-line) !important;
}
html.fl-pastel-ui[data-theme="dark"] .catalog-hero,
html.fl-pastel-ui[data-theme="dark"] .skills-hero,
html.fl-pastel-ui[data-theme="dark"] .tools-hero,
html.fl-pastel-ui[data-theme="dark"] .lab-hero,
html.fl-pastel-ui[data-theme="dark"] .hero-copy {
  background:linear-gradient(120deg,#173450,#14273e 58%,#352332) !important;
}
html.fl-pastel-ui[data-theme="dark"] .skill-card,
html.fl-pastel-ui[data-theme="dark"] .workflow-card,
html.fl-pastel-ui[data-theme="dark"] .provider-card,
html.fl-pastel-ui[data-theme="dark"] .access-route,
html.fl-pastel-ui[data-theme="dark"] .model-card,
html.fl-pastel-ui[data-theme="dark"] .catalog-card {
  background:var(--fl-surface-solid) !important;
}
html.fl-pastel-ui[data-theme="dark"] input,
html.fl-pastel-ui[data-theme="dark"] select,
html.fl-pastel-ui[data-theme="dark"] textarea {
  background:#112840 !important;
}

/* Tablet */
@media (max-width:1100px) {
  html.fl-pastel-ui body.fl-ui-v2 {
    padding:84px 18px 58px !important;
  }
  .fl-site-rail {
    left:12px; right:12px; top:10px; bottom:auto; width:auto; height:58px;
    padding:7px 9px;
    display:flex; flex-direction:row; align-items:center; gap:8px;
    border:1px solid var(--fl-line);
    border-radius:17px;
    box-shadow:0 10px 30px rgba(43,91,145,.09);
  }
  .fl-site-brand { padding:0 10px 0 2px; border:0; border-right:1px solid var(--fl-line); }
  .fl-site-brand-mark { width:34px;height:34px;border-radius:10px; }
  .fl-site-brand-copy small { display:none; }
  .fl-site-nav {
    display:flex;
    flex:1;
    gap:3px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .fl-site-nav::-webkit-scrollbar { display:none; }
  .fl-site-nav a { min-height:38px;padding:7px 9px;white-space:nowrap;font-size:12px; }
  .fl-site-nav-icon { display:none; }
  .fl-site-rail-note { display:none; }
  .fl-site-ribbon { display:none; }
  body.fl-ui-v2 > header::after,
  html.fl-pastel-ui .catalog-hero::after,
  html.fl-pastel-ui .skills-hero::after,
  html.fl-pastel-ui .tools-hero::after { display:none; }
}

/* Phone */
@media (max-width:700px) {
  html.fl-pastel-ui body.fl-ui-v2 { padding:74px 10px 44px !important; }
  .fl-site-rail { left:8px;right:8px;top:7px;height:52px;border-radius:15px; }
  .fl-site-brand-copy { display:none; }
  .fl-site-brand { padding-right:8px; }
  .fl-site-brand-mark { width:32px;height:32px;font-size:15px; }
  .fl-site-nav a { padding:6px 8px; font-size:11px; min-height:34px; }
  body.fl-ui-v2 > header,
  body.fl-ui-v2 > main:not(.catalog-app):not(.skills-page):not(.skill-lab-page):not(.tools-page),
  body.fl-ui-v2 > footer {
    border-radius:18px !important;
    padding:18px !important;
  }
  html.fl-pastel-ui .catalog-header,
  html.fl-pastel-ui .skills-header,
  html.fl-pastel-ui .tools-header { display:none !important; }
  html.fl-pastel-ui .catalog-hero,
  html.fl-pastel-ui .skills-hero,
  html.fl-pastel-ui .tools-hero,
  html.fl-pastel-ui .lab-hero,
  html.fl-pastel-ui .hero-copy,
  html.fl-pastel-ui .model-directory { border-radius:19px !important; }
  html.fl-pastel-ui .catalog-hero h1 { font-size:clamp(34px,12vw,48px) !important; }
  html.fl-pastel-ui .skill-grid,
  html.fl-pastel-ui .workflow-grid,
  html.fl-pastel-ui .provider-grid { grid-template-columns:1fr !important; }
  html.fl-pastel-ui .skill-card,
  html.fl-pastel-ui .workflow-card,
  html.fl-pastel-ui .category-card,
  html.fl-pastel-ui .featured-card,
  html.fl-pastel-ui .offer { border-radius:16px !important; }
  html.fl-pastel-ui table { font-size:12px; }
}


/* Detail / guide / policy page information architecture */
body.fl-ui-v2[data-fl-section="models"] > main > section,
body.fl-ui-v2[data-fl-section="about"] > main > section,
body.fl-ui-v2[data-fl-section="logs"] > main > section {
  margin:0 0 14px !important;
  padding:20px 22px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
}
body.fl-ui-v2[data-fl-section="models"] > main > section:nth-child(3n+2),
body.fl-ui-v2[data-fl-section="about"] > main > section:nth-child(3n+2) {
  background:linear-gradient(135deg,#f2f9ff,#fff) !important;
}
body.fl-ui-v2[data-fl-section="models"] > main > section:nth-child(3n+3),
body.fl-ui-v2[data-fl-section="about"] > main > section:nth-child(3n+3) {
  background:linear-gradient(135deg,#fff6f9,#fff) !important;
}
body.fl-ui-v2 main article {
  border-color:var(--fl-line) !important;
}
body.fl-ui-v2[data-fl-section="models"] main > article,
body.fl-ui-v2[data-fl-section="models"] main section > article {
  margin:10px 0 !important;
  padding:17px 18px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(43,91,145,.035);
}
body.fl-ui-v2 main section h2 {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:clamp(19px,2vw,25px) !important;
}
body.fl-ui-v2 main section h2::before {
  content:"";
  flex:0 0 auto;
  width:8px;height:8px;
  border:3px solid #58a1e7;
  border-radius:50%;
  background:#eef8ff;
}
body.fl-ui-v2 main section h3 { color:#315b87 !important; }
body.fl-ui-v2 main ul:not(.link-list),
body.fl-ui-v2 main ol:not(.skill-review-list) { color:var(--fl-ink-2); }
body.fl-ui-v2 main li::marker { color:#6ea9e3; }

/* Individual browser tools */
html.fl-pastel-ui .tool {
  max-width:1180px !important;
  margin:0 auto !important;
  color:var(--fl-ink) !important;
  background:transparent !important;
}
html.fl-pastel-ui .tool-topbar {
  margin-bottom:14px !important;
  padding:11px 14px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:17px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 9px 28px rgba(43,91,145,.05);
}
html.fl-pastel-ui .tool-topbar .brand { display:none !important; }
html.fl-pastel-ui .tool-head {
  margin-bottom:14px !important;
  padding:22px 24px !important;
  border:1px solid #d6e8f7 !important;
  border-radius:22px !important;
  background:linear-gradient(120deg,#eef8ff,#fff 65%,#fff3f7) !important;
  box-shadow:var(--fl-shadow);
}
html.fl-pastel-ui .tool-head h1 { color:#112f5d !important; }
html.fl-pastel-ui .tool-desc { color:var(--fl-ink-2) !important; }
html.fl-pastel-ui .pane,
html.fl-pastel-ui .grid-cards > *,
html.fl-pastel-ui .tool-source {
  border:1px solid var(--fl-line) !important;
  border-radius:17px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 8px 24px rgba(43,91,145,.04);
}
html.fl-pastel-ui .pane:nth-of-type(even) { background:linear-gradient(145deg,#fff,#f3f9ff) !important; }
html.fl-pastel-ui .field label { color:#5b7797 !important; font-weight:650 !important; }
html.fl-pastel-ui .output {
  border-color:#d2e6f7 !important;
  border-radius:13px !important;
  background:#f5faff !important;
}
html.fl-pastel-ui .btn:not(.primary) {
  border-color:#cfe2f3 !important;
  border-radius:11px !important;
  color:#356994 !important;
  background:#f5faff !important;
}
html.fl-pastel-ui .btn:not(.primary):hover { background:#eaf5ff !important; color:#146bd4 !important; }
html.fl-pastel-ui .stat {
  border-radius:14px !important;
  border-color:var(--fl-line) !important;
  background:#f2f9ff !important;
}
html.fl-pastel-ui .msg,
html.fl-pastel-ui .err {
  border-radius:13px !important;
}

/* Compact legal/footer navigation */
html.fl-pastel-ui .static-locale-nav {
  padding:6px 9px;
  width:max-content;
  border:1px solid var(--fl-line);
  border-radius:999px;
  background:#f4f9ff;
}
html.fl-pastel-ui footer a { color:#557699 !important; }
html.fl-pastel-ui footer a:hover { color:var(--fl-blue) !important; }

/* Preserve dense data readability */
html.fl-pastel-ui .catalog-table,
html.fl-pastel-ui .catalog-row,
html.fl-pastel-ui .model-directory {
  font-variant-numeric:tabular-nums;
}
html.fl-pastel-ui .source-link,
html.fl-pastel-ui .ghost { color:#6381a2 !important; }

/* Avoid excessive motion and preserve reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  html.fl-pastel-ui *,
  html.fl-pastel-ui *::before,
  html.fl-pastel-ui *::after {
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
  }
}

@media (max-width:700px) {
  body.fl-ui-v2[data-fl-section="models"] > main > section,
  body.fl-ui-v2[data-fl-section="about"] > main > section,
  body.fl-ui-v2[data-fl-section="logs"] > main > section {
    padding:16px !important;
    border-radius:15px !important;
  }
  html.fl-pastel-ui .tool-head { padding:18px !important; border-radius:18px !important; }
  html.fl-pastel-ui .pane { border-radius:15px !important; }
}


/* P0 convergence: FreeLLM first-party evidence, model stats and static-shell helpers */
.freellm-test-strip{
  margin:10px 0 4px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;
  border:1px solid var(--fl-line);border-radius:12px;background:linear-gradient(135deg,var(--fl-surface-blue),var(--fl-surface-solid));
}
.freellm-test-strip strong{font:800 13px/1 var(--font-sans);color:var(--fl-blue-deep)}
.freellm-test-strip span{min-width:0;color:var(--fl-ink);font-size:12px;font-weight:700}
.freellm-test-strip small{color:var(--fl-ink-3);font-size:10px;text-transform:uppercase}
.freellm-test-strip.blocked strong{color:#9a6810}
.freellm-test-inline{margin:8px 0 12px;border:1px solid var(--fl-line);border-radius:12px;background:var(--fl-surface-solid);overflow:hidden}
.freellm-test-inline>summary{cursor:pointer;padding:10px 12px;color:var(--fl-blue-deep);font-size:12px;font-weight:700;list-style:none}
.freellm-test-inline>summary::-webkit-details-marker{display:none}
.freellm-test-inline>summary::after{content:"＋";float:right;color:var(--fl-ink-3)}
.freellm-test-inline[open]>summary::after{content:"−"}
.freellm-test-inline-body{padding:0 12px 12px;color:var(--fl-ink-2);font-size:12px;line-height:1.7}
.freellm-test-inline-body p{margin:8px 0}
.freellm-test-evidence{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.freellm-test-evidence a{display:inline-flex;padding:6px 9px;border:1px solid var(--fl-line);border-radius:9px;background:var(--fl-surface-blue);color:var(--fl-blue-deep);text-decoration:none;font-weight:700}
.model-section-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.model-section-tabs a{padding:9px 13px;border:1px solid var(--fl-line);border-radius:999px;background:var(--fl-surface-solid);color:var(--fl-ink-2);text-decoration:none;font-size:12px;font-weight:700}
.model-section-tabs a[aria-current="page"]{background:var(--fl-blue);border-color:var(--fl-blue);color:#fff}
.fl-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 26px}
.fl-stat-card{padding:18px;border:1px solid var(--fl-line);border-radius:16px;background:var(--fl-surface-solid);box-shadow:var(--fl-shadow)}
.fl-stat-card strong{display:block;color:var(--fl-ink);font-size:30px;line-height:1}
.fl-stat-card span{display:block;margin-top:7px;color:var(--fl-ink-2);font-size:12px}
.fl-static-page{max-width:1180px;margin:0 auto}
@media(max-width:900px){.fl-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.freellm-test-strip{grid-template-columns:auto 1fr}.freellm-test-strip small{grid-column:2}.fl-stat-grid{grid-template-columns:1fr}}


/* ============================================================
   2026-09-21 site-wide polish
   Goal: one calmer layout system across generated/static pages,
   with better hierarchy, overflow behavior and responsive sizing.
   ============================================================ */
:root {
  --fl-content-max:1220px;
  --fl-reading-max:780px;
  --fl-radius-xl:22px;
  --fl-radius-lg:17px;
  --fl-shadow:0 12px 34px rgba(42,82,126,.07);
  --fl-shadow-hover:0 18px 44px rgba(42,82,126,.13);
}

html.fl-pastel-ui body.fl-ui-v2 {
  padding:24px 28px 68px 214px !important;
}

.fl-site-rail {
  width:184px;
  padding:20px 13px 16px;
}
.fl-site-nav a { min-height:44px; }
.fl-site-ribbon,
body.fl-ui-v2 > header,
body.fl-ui-v2 > main:not(.catalog-app):not(.skills-page):not(.skill-lab-page):not(.tools-page),
body.fl-ui-v2 > footer,
body.fl-ui-v2 > .page,
body.fl-ui-v2 > .catalog-app,
body.fl-ui-v2 > .skills-page,
body.fl-ui-v2 > .skill-lab-page,
body.fl-ui-v2 > .tools-page {
  width:min(100%,var(--fl-content-max)) !important;
}
.fl-site-ribbon {
  min-height:46px;
  margin-bottom:16px;
  padding:7px 12px 7px 16px;
}

/* Skills carries no unique utility action after the universal rail is injected.
   Homepage and Tools headers stay visible because they still own submit/clock/GitHub actions. */
html.fl-pastel-ui .skills-header {
  display:none !important;
}
html.fl-pastel-ui .catalog-header,
html.fl-pastel-ui .tools-header {
  min-height:54px !important;
  margin-bottom:14px !important;
}

/* One durable theme control lives in the universal rail. */
html.fl-pastel-ui .theme-toggle { display:none !important; }
.fl-site-theme-toggle {
  order:8;
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:2px;
  border:1px solid var(--fl-line);
  border-radius:12px;
  color:var(--fl-ink-2);
  background:rgba(247,251,255,.86);
  cursor:pointer;
  font:700 12px/1 var(--fl-font);
  transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.fl-site-theme-toggle:hover {
  color:var(--fl-blue-deep);
  border-color:#bddaf3;
  background:#edf6ff;
  transform:translateY(-1px);
}
.fl-site-theme-toggle .fl-theme-sun { display:none; }
html.fl-pastel-ui[data-theme="dark"] .fl-site-theme-toggle .fl-theme-moon { display:none; }
html.fl-pastel-ui[data-theme="dark"] .fl-site-theme-toggle .fl-theme-sun { display:inline; }

/* Keyboard users get a visible, predictable first stop. */
.fl-skip-link {
  position:fixed;
  z-index:5000;
  left:16px;
  top:12px;
  transform:translateY(-140%);
  padding:10px 14px;
  border:1px solid #a9cfee;
  border-radius:10px;
  background:#fff;
  color:#155fc9;
  box-shadow:0 10px 30px rgba(37,82,130,.16);
  text-decoration:none;
  font:700 13px/1.2 var(--fl-font);
  transition:transform .16s;
}
.fl-skip-link:focus { transform:translateY(0); }

/* Type scale: keep long Chinese headings strong without forcing ugly wraps. */
body.fl-ui-v2 > header {
  padding:clamp(26px,3.5vw,44px) !important;
}
body.fl-ui-v2 > header h1,
html.fl-pastel-ui .skills-hero h1,
html.fl-pastel-ui .tools-hero h1,
html.fl-pastel-ui .lab-hero h1,
html.fl-pastel-ui .hero-copy h1 {
  margin-top:10px !important;
  color:#102f5d !important;
  font-size:clamp(36px,4.25vw,58px) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
body.fl-ui-v2 > header h1 { max-width:920px; }
html.fl-pastel-ui .lead,
html.fl-pastel-ui .hero-copy,
html.fl-pastel-ui .sub {
  max-width:var(--fl-reading-max);
  line-height:1.75 !important;
}

/* Hero pages: a deliberate editorial split instead of one oversized headline. */
html.fl-pastel-ui .skills-hero,
html.fl-pastel-ui .tools-hero,
html.fl-pastel-ui .lab-hero {
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr) !important;
  gap:clamp(26px,4vw,48px) !important;
  align-items:end !important;
  min-height:286px;
  padding:clamp(30px,4vw,48px) !important;
}
html.fl-pastel-ui .skills-hero > div,
html.fl-pastel-ui .tools-hero > div,
html.fl-pastel-ui .lab-hero > div { min-width:0; }
html.fl-pastel-ui .skills-hero .hero-note,
html.fl-pastel-ui .tools-hero .hero-note,
html.fl-pastel-ui .lab-hero-aside {
  align-self:stretch;
  min-width:0;
  padding:24px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
html.fl-pastel-ui .hero-note-value strong,
html.fl-pastel-ui .lab-hero-aside > strong {
  font-size:clamp(48px,5vw,66px) !important;
  line-height:.95 !important;
  letter-spacing:-.045em;
}

/* The Skills acceptance notice should read as evidence, not another hero. */
html.fl-pastel-ui .real-test-banner {
  margin:16px 0 2px !important;
  padding:16px 18px !important;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #cfe6df !important;
  border-radius:15px !important;
  background:linear-gradient(100deg,#f1fbf7,#fbfffd) !important;
  box-shadow:none !important;
}
html.fl-pastel-ui .real-test-banner p {
  margin:4px 0 0 !important;
  color:var(--fl-ink-2) !important;
  font-size:13px !important;
}
html.fl-pastel-ui .real-test-banner a {
  flex:0 0 auto;
  font-weight:700;
  text-decoration:none;
}

/* Filters/tabs: no clipped last item, no layout jump. */
html.fl-pastel-ui .skills-toolbar,
html.fl-pastel-ui .tools-toolbar,
html.fl-pastel-ui .catalog-filter-bar,
html.fl-pastel-ui .filter-strip {
  min-width:0;
  box-shadow:none !important;
}
html.fl-pastel-ui .skills-toolbar {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 150px auto !important;
  align-items:center !important;
  gap:10px !important;
}
html.fl-pastel-ui .tools-toolbar {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
}
html.fl-pastel-ui .skills-search,
html.fl-pastel-ui .tools-search { min-width:0 !important; width:100% !important; }
html.fl-pastel-ui .skill-category-tabs,
html.fl-pastel-ui .tool-category-tabs,
html.fl-pastel-ui .model-section-tabs,
html.fl-pastel-ui .model-center-tabs {
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:10px 12px 14px 0 !important;
  -webkit-overflow-scrolling:touch;
}
html.fl-pastel-ui .skill-category-tabs::-webkit-scrollbar,
html.fl-pastel-ui .tool-category-tabs::-webkit-scrollbar,
html.fl-pastel-ui .model-section-tabs::-webkit-scrollbar,
html.fl-pastel-ui .model-center-tabs::-webkit-scrollbar { display:none; }
html.fl-pastel-ui .skill-category-tab,
html.fl-pastel-ui .tool-category-tab,
html.fl-pastel-ui .model-section-tabs a,
html.fl-pastel-ui .model-center-tabs a {
  flex:0 0 auto !important;
  scroll-snap-align:start;
  min-height:38px;
  white-space:nowrap;
}

/* Cards: stronger information hierarchy, less decorative noise. */
html.fl-pastel-ui .skill-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}
html.fl-pastel-ui .skill-card,
html.fl-pastel-ui .tool-card,
html.fl-pastel-ui [data-tool-id],
html.fl-pastel-ui .provider-card,
html.fl-pastel-ui .model-card,
html.fl-pastel-ui .catalog-card,
html.fl-pastel-ui .workflow-card {
  min-width:0;
}
html.fl-pastel-ui .skill-card {
  padding:18px !important;
}
html.fl-pastel-ui .skill-card h2 {
  margin-bottom:8px !important;
  font-size:clamp(20px,1.6vw,24px) !important;
  line-height:1.16 !important;
}
html.fl-pastel-ui .skill-card p,
html.fl-pastel-ui .tool-card p,
html.fl-pastel-ui .provider-card p,
html.fl-pastel-ui .model-card p {
  line-height:1.65 !important;
}
html.fl-pastel-ui .skill-card:nth-child(6n+2),
html.fl-pastel-ui .skill-card:nth-child(6n+5),
html.fl-pastel-ui .skill-card:nth-child(6n+3),
html.fl-pastel-ui .category-card:nth-child(4n+2),
html.fl-pastel-ui .category-card:nth-child(4n+3),
html.fl-pastel-ui .category-card:nth-child(4n+4),
html.fl-pastel-ui .featured-card:nth-child(4n+2),
html.fl-pastel-ui .featured-card:nth-child(4n+3),
html.fl-pastel-ui .featured-card:nth-child(4n+4) {
  background:rgba(255,255,255,.92) !important;
}
html.fl-pastel-ui .skill-card::before,
html.fl-pastel-ui .provider-card::before,
html.fl-pastel-ui .model-card::before {
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin:0 0 14px;
  border-radius:999px;
  background:linear-gradient(90deg,#76b9f0,#b9ddf9);
}

/* Tables must scroll rather than silently clipping columns. */
html.fl-pastel-ui .table-wrap,
html.fl-pastel-ui .catalog-table-wrap {
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
html.fl-pastel-ui .table-wrap table,
html.fl-pastel-ui .catalog-table-wrap table { min-width:720px; }

/* Dialogs and long code/content stay usable on small screens. */
html.fl-pastel-ui dialog {
  max-width:min(920px,calc(100vw - 28px)) !important;
  max-height:min(88dvh,920px) !important;
  overflow:auto !important;
}
html.fl-pastel-ui pre,
html.fl-pastel-ui .skill-content {
  max-width:100%;
  overflow:auto !important;
}


/* Skills detail modal: keep the top-layer dialog fully inside the viewport.
   The legacy Skills stylesheet uses a fixed 760px dialog and two-column preview;
   this shared layer owns centering, scrolling and narrow-screen reflow. */
html.fl-pastel-ui #skill-dialog {
  position:fixed !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  inset-block-start:50% !important;
  inset-inline-start:50% !important;
  width:min(860px,calc(100vw - 32px)) !important;
  max-width:none !important;
  max-height:min(88dvh,860px) !important;
  margin:0 !important;
  padding:0 !important;
  transform:translate(-50%,-50%) !important;
  overflow:hidden !important;
  border:1px solid var(--fl-line) !important;
  border-radius:20px !important;
  background:var(--fl-surface-solid) !important;
  box-shadow:0 30px 90px rgba(28,60,96,.22) !important;
}
html.fl-pastel-ui #skill-dialog::backdrop {
  background:rgba(18,35,54,.38) !important;
  backdrop-filter:blur(6px);
}
html.fl-pastel-ui #skill-dialog .skill-dialog-body {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  max-height:min(88dvh,860px) !important;
  padding:30px clamp(22px,4vw,38px) 36px !important;
  background:
    linear-gradient(180deg,rgba(236,247,255,.78) 0,rgba(248,252,255,.68) 210px,var(--fl-surface-solid) 210px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
html.fl-pastel-ui #skill-dialog .skill-dialog-close {
  position:sticky !important;
  z-index:5;
  top:0;
  float:right;
  margin:-8px -8px 4px 14px;
  background:color-mix(in srgb,var(--fl-surface-solid) 90%,transparent) !important;
  border:1px solid var(--fl-line) !important;
  box-shadow:0 5px 16px rgba(42,82,126,.08);
}
html.fl-pastel-ui #skill-dialog .eyebrow,
html.fl-pastel-ui #skill-dialog h2,
html.fl-pastel-ui #skill-dialog #dialog-skill-description,
html.fl-pastel-ui #skill-dialog .skill-dialog-stats,
html.fl-pastel-ui #skill-dialog .skill-dialog-section {
  min-width:0;
}
html.fl-pastel-ui #skill-dialog .eyebrow {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid #bfdcf3;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#2b6ca9 !important;
  font-size:10px !important;
  letter-spacing:.11em;
}
html.fl-pastel-ui #skill-dialog #dialog-skill-name {
  margin:14px 48px 8px 0 !important;
  color:#102f5d !important;
  font-family:var(--fl-font) !important;
  font-size:clamp(28px,3.1vw,38px) !important;
  font-weight:850 !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
}
html.fl-pastel-ui #skill-dialog #dialog-skill-description {
  max-width:760px;
  margin:0 0 14px;
  color:var(--fl-ink-2) !important;
  font-size:15px !important;
  line-height:1.75 !important;
}
html.fl-pastel-ui #skill-dialog .skill-dialog-stats {
  margin-top:0 !important;
}
html.fl-pastel-ui #skill-dialog .skill-dialog-stats .stat-chip {
  padding:6px 10px !important;
  border-color:#cfe2f3 !important;
  background:rgba(255,255,255,.76) !important;
  color:#456b91 !important;
}
html.fl-pastel-ui #skill-dialog .skill-test-panel {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  margin:22px 0 0;
  padding:20px;
  border:1px solid #cfe4dc;
  border-radius:18px;
  background:linear-gradient(135deg,#f1faf6,#fbfffd);
  box-shadow:0 10px 28px rgba(39,92,76,.06);
}
html.fl-pastel-ui #skill-dialog .skill-test-panel.blocked {
  border-color:#ead9b8;
  background:linear-gradient(135deg,#fff9ed,#fffdf8);
}
html.fl-pastel-ui #skill-dialog .skill-test-panel.partial {
  border-color:#e7ddbf;
  background:linear-gradient(135deg,#fffaf0,#fffdf7);
}
html.fl-pastel-ui #skill-dialog .skill-test-panel.task {
  border-color:#d2e2f1;
  background:linear-gradient(135deg,#f2f8fd,#fbfdff);
}
html.fl-pastel-ui #skill-dialog .skill-test-score {
  min-width:0;
  padding-right:18px;
  border-right:1px solid rgba(63,111,96,.16);
}
html.fl-pastel-ui #skill-dialog .skill-test-score span {
  display:block;
  color:#668478;
  font:750 10px/1.35 var(--fl-font-mono);
  letter-spacing:.12em;
}
html.fl-pastel-ui #skill-dialog .skill-test-score strong {
  display:block;
  margin:10px 0 6px;
  color:#184f3e;
  font-size:31px;
  line-height:1;
  letter-spacing:-.035em;
}
html.fl-pastel-ui #skill-dialog .skill-test-score em {
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(31,101,78,.1);
  color:#29644f;
  font:700 11px/1.2 var(--fl-font);
  font-style:normal;
}
html.fl-pastel-ui #skill-dialog .skill-test-panel.blocked .skill-test-score strong,
html.fl-pastel-ui #skill-dialog .skill-test-panel.blocked .skill-test-score em {
  color:#946015;
}
html.fl-pastel-ui #skill-dialog .skill-test-panel.blocked .skill-test-score em {
  background:rgba(169,108,21,.1);
}
html.fl-pastel-ui #skill-dialog .skill-test-copy {
  min-width:0;
}
html.fl-pastel-ui #skill-dialog .skill-test-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
html.fl-pastel-ui #skill-dialog .skill-test-heading strong {
  color:var(--fl-ink);
  font-size:15px;
}
html.fl-pastel-ui #skill-dialog .skill-test-heading span {
  flex:0 0 auto;
  color:var(--fl-ink-3);
  font:600 10px/1.2 var(--fl-font-mono);
}
html.fl-pastel-ui #skill-dialog .skill-test-copy p {
  margin:7px 0 !important;
  color:var(--fl-ink-2) !important;
  font-size:12.5px !important;
  line-height:1.7 !important;
}
html.fl-pastel-ui #skill-dialog .skill-test-copy p b {
  display:inline-block;
  min-width:58px;
  margin-right:8px;
  color:var(--fl-ink);
}
html.fl-pastel-ui #skill-dialog .skill-test-env {
  color:var(--fl-ink-3) !important;
}
html.fl-pastel-ui #skill-dialog .skill-test-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
html.fl-pastel-ui #skill-dialog .skill-test-links a {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border:1px solid #b9d8cb;
  border-radius:9px;
  background:#fff;
  color:#24644e;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
}
html.fl-pastel-ui #skill-dialog .skill-dialog-section {
  margin-top:18px !important;
  padding:18px !important;
  border:1px solid var(--fl-line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.78) !important;
}
html.fl-pastel-ui #skill-dialog .skill-dialog-section > h3 {
  margin:0 0 12px !important;
  color:#5b7793 !important;
  font-size:10px !important;
}
html.fl-pastel-ui #skill-dialog .command-box {
  margin:12px 0 !important;
  border:1px solid #d3e3f0;
  background:#eef6fc !important;
  color:#2f5f8d !important;
}
html.fl-pastel-ui #skill-dialog .command-box code {
  color:#2f5f8d !important;
}
html.fl-pastel-ui #skill-dialog .skill-preview-layout {
  display:grid !important;
  grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr) !important;
  gap:24px !important;
  align-items:center !important;
  min-width:0;
}
html.fl-pastel-ui #skill-dialog .skill-preview-copy,
html.fl-pastel-ui #skill-dialog .skill-preview-canvas,
html.fl-pastel-ui #skill-dialog .skill-preview-window {
  min-width:0;
}
html.fl-pastel-ui #skill-dialog .skill-preview-copy {
  padding:4px 0;
}
html.fl-pastel-ui #skill-dialog .skill-preview-summary {
  max-width:34em;
}
html.fl-pastel-ui #skill-dialog .skill-preview-canvas {
  min-height:190px;
}
html.fl-pastel-ui #skill-dialog .command-box {
  min-width:0;
}
html.fl-pastel-ui #skill-dialog .command-box code {
  min-width:0;
}
html.fl-pastel-ui:has(#skill-dialog[open]) {
  overflow:hidden;
}

@media (max-width:980px) {
  html.fl-pastel-ui #skill-dialog {
    width:min(760px,calc(100vw - 28px)) !important;
    max-height:calc(100dvh - 24px) !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-dialog-body {
    max-height:calc(100dvh - 24px) !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-preview-layout {
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-test-panel {
    grid-template-columns:130px minmax(0,1fr);
  }
  html.fl-pastel-ui #skill-dialog .skill-preview-copy {
    padding:0 !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-preview-canvas {
    min-height:176px;
  }
}

@media (max-width:640px) {
  html.fl-pastel-ui #skill-dialog {
    width:calc(100vw - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    border-radius:16px !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-dialog-body {
    max-height:calc(100dvh - 12px) !important;
    padding:20px 16px 26px !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-dialog-close {
    margin:-4px -2px 4px 12px;
  }
  html.fl-pastel-ui #skill-dialog .skill-dialog-body h2 {
    margin-right:42px !important;
    font-size:20px !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-dialog-section {
    margin-top:18px !important;
    padding-top:14px !important;
  }
  html.fl-pastel-ui #skill-dialog .skill-preview-canvas {
    min-height:154px;
    padding:9px !important;
  }
  html.fl-pastel-ui #skill-dialog .dialog-actions,
  html.fl-pastel-ui #skill-dialog .command-box {
    align-items:stretch;
    flex-direction:column;
  }
  html.fl-pastel-ui #skill-dialog .copy-command {
    width:100%;
  }
  html.fl-pastel-ui #skill-dialog .skill-test-panel {
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
  }
  html.fl-pastel-ui #skill-dialog .skill-test-score {
    padding:0 0 12px;
    border-right:0;
    border-bottom:1px solid rgba(63,111,96,.16);
  }
  html.fl-pastel-ui #skill-dialog .skill-test-score strong {
    display:inline-block;
    margin:8px 8px 4px 0;
    font-size:27px;
  }
  html.fl-pastel-ui #skill-dialog .skill-test-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

/* Editorial/static pages: preserve reading rhythm instead of carding every paragraph. */
body.fl-ui-v2[data-fl-section="about"] > main,
body.fl-ui-v2[data-fl-section="logs"] > main,
body.fl-ui-v2[data-fl-section="models"] > main:not(.catalog-app) {
  padding:18px !important;
}
body.fl-ui-v2[data-fl-section="about"] > main > section,
body.fl-ui-v2[data-fl-section="logs"] > main > section,
body.fl-ui-v2[data-fl-section="models"] > main > section {
  box-shadow:none !important;
}
body.fl-ui-v2 main section > p,
body.fl-ui-v2 main article > p {
  max-width:900px;
}

/* Dark mode keeps the same hierarchy rather than reverting to flat blocks. */
html.fl-pastel-ui[data-theme="dark"] .fl-site-theme-toggle {
  color:var(--fl-ink-2);
  background:#17304a;
  border-color:var(--fl-line);
}
html.fl-pastel-ui[data-theme="dark"] .real-test-banner {
  background:linear-gradient(100deg,#173a32,#14273e) !important;
  border-color:#285346 !important;
}
html.fl-pastel-ui[data-theme="dark"] .skill-card::before,
html.fl-pastel-ui[data-theme="dark"] .provider-card::before,
html.fl-pastel-ui[data-theme="dark"] .model-card::before {
  background:linear-gradient(90deg,#5b9bd2,#77b7ed);
}

/* Tablet */
@media (max-width:1100px) {
  html.fl-pastel-ui body.fl-ui-v2 { padding:82px 18px 56px !important; }
  .fl-site-theme-toggle {
    order:9;
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    margin:0 0 0 auto;
    padding:0;
    flex:0 0 40px;
  }
  .fl-site-theme-toggle .fl-theme-label { display:none; }
  html.fl-pastel-ui .skills-hero,
  html.fl-pastel-ui .tools-hero,
  html.fl-pastel-ui .lab-hero {
    grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr) !important;
    min-height:250px;
  }
  html.fl-pastel-ui .skill-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

/* Phone */
@media (max-width:700px) {
  html.fl-pastel-ui body.fl-ui-v2 { padding:70px 10px 42px !important; }
  .fl-site-rail {
    left:8px;
    right:8px;
    top:7px;
    height:54px;
    padding:6px 8px;
  }
  .fl-site-brand { display:none; }
  .fl-site-nav { gap:2px; }
  .fl-site-nav a {
    min-height:38px;
    padding:6px 9px;
    border-radius:10px;
    font-size:11px;
  }
  .fl-site-theme-toggle {
    width:38px;
    min-width:38px;
    height:38px;
    min-height:38px;
    flex-basis:38px;
  }
  body.fl-ui-v2 > header { padding:22px 18px !important; }
  body.fl-ui-v2 > header h1,
  html.fl-pastel-ui .skills-hero h1,
  html.fl-pastel-ui .tools-hero h1,
  html.fl-pastel-ui .lab-hero h1,
  html.fl-pastel-ui .hero-copy h1 {
    font-size:clamp(32px,10.5vw,44px) !important;
    letter-spacing:-.035em !important;
  }
  html.fl-pastel-ui .skills-hero,
  html.fl-pastel-ui .tools-hero,
  html.fl-pastel-ui .lab-hero {
    display:block !important;
    min-height:0;
    padding:24px 20px !important;
  }
  html.fl-pastel-ui .skills-hero .hero-note,
  html.fl-pastel-ui .tools-hero .hero-note,
  html.fl-pastel-ui .lab-hero-aside {
    margin-top:20px !important;
    padding:18px !important;
  }
  html.fl-pastel-ui .real-test-banner {
    display:block !important;
    padding:15px 16px !important;
  }
  html.fl-pastel-ui .real-test-banner a {
    display:inline-block;
    margin-top:10px;
  }
  html.fl-pastel-ui .skills-toolbar {
    grid-template-columns:minmax(0,1fr) 128px !important;
  }
  html.fl-pastel-ui .skills-count { grid-column:1 / -1; }
  html.fl-pastel-ui .tools-toolbar { grid-template-columns:1fr !important; }
  html.fl-pastel-ui .tools-header { display:flex !important; min-height:48px !important; }
  html.fl-pastel-ui .skill-grid { grid-template-columns:1fr !important; }
  html.fl-pastel-ui .table-wrap table,
  html.fl-pastel-ui .catalog-table-wrap table { min-width:640px; }
}

/* Narrow phones */
@media (max-width:480px) {
  .fl-site-nav a { padding-inline:8px; }
  .fl-site-nav a span:last-child { display:none; }
  .fl-site-nav-icon { display:inline-block !important; width:24px; font-size:17px; }
  html.fl-pastel-ui .skills-toolbar { grid-template-columns:1fr !important; }
  html.fl-pastel-ui .skills-count { grid-column:auto; }
  html.fl-pastel-ui .skills-status-filter { width:100% !important; }
  html.fl-pastel-ui .hero-note-value strong,
  html.fl-pastel-ui .lab-hero-aside > strong { font-size:48px !important; }
}


/* 2026-09-23 dual-theme visual governance */
/* Shared geometry first: both themes use exactly the same layout/components. */
:root{
  --fl-card-min:286px;
  --fl-card-gap:14px;
  --fl-focus-ring:0 0 0 3px rgba(46,123,231,.22);
}

/* Homepage: put fresh information directly after the hero. */
.today-latest{
  margin:16px 0 18px;
  padding:16px;
  border:1px solid var(--fl-line);
  border-radius:18px;
  background:color-mix(in srgb,var(--fl-surface-solid) 88%,transparent);
  box-shadow:var(--fl-shadow);
}
.today-latest-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.today-latest-head h2{
  margin:0 !important;
  font-size:clamp(20px,2vw,28px) !important;
}
.today-latest-head p{
  margin:3px 0 0;
  color:var(--fl-ink-2);
  font-size:12px;
}
.today-latest-more{
  flex:0 0 auto;
  color:var(--fl-blue-deep);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.today-latest-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.today-latest-card{
  min-width:0;
  min-height:92px;
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
  border:1px solid var(--fl-line);
  border-radius:15px;
  color:var(--fl-ink);
  background:linear-gradient(145deg,var(--fl-surface-solid),var(--fl-surface-blue));
  text-decoration:none;
  transition:transform .18s,border-color .18s,box-shadow .18s;
}
.today-latest-card:hover{
  transform:translateY(-2px);
  border-color:var(--fl-line-strong);
  box-shadow:var(--fl-shadow-hover);
}
.today-latest-card span{
  color:var(--fl-ink-2);
  font-size:11px;
  font-weight:750;
}
.today-latest-card strong{
  color:var(--fl-ink);
  font-size:clamp(18px,2vw,26px);
  line-height:1;
  letter-spacing:-.03em;
}
.today-latest-card small{
  color:var(--fl-ink-3);
  font-size:10px;
}

/* Resource governance: same-row cards must align, regardless of content length. */
html.fl-pastel-ui #catalog-offer-rows.offer-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:var(--fl-card-gap) !important;
}
html.fl-pastel-ui #catalog-offer-rows .offer{
  min-width:0;
  min-height:var(--fl-card-min);
  height:100%;
  display:flex !important;
  flex-direction:column !important;
}
html.fl-pastel-ui #catalog-offer-rows .offer-card-top{
  min-height:48px;
  align-items:flex-start;
}
html.fl-pastel-ui #catalog-offer-rows .offer-card-flags{
  min-height:72px;
  align-content:flex-start;
}
html.fl-pastel-ui #catalog-offer-rows .offer-card-body{
  flex:1 1 auto;
  min-height:0;
}
html.fl-pastel-ui #catalog-offer-rows .offer-card-footer{
  margin-top:auto !important;
  padding-top:14px;
  align-items:end;
}
html.fl-pastel-ui .featured-grid{
  align-items:stretch !important;
}
html.fl-pastel-ui .featured-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
html.fl-pastel-ui .featured-card .featured-resource-link{
  margin-top:auto;
}

/* Filters: compact one-band control instead of a tall secondary block. */
html.fl-pastel-ui .filter-strip{
  padding:8px !important;
  gap:6px !important;
  min-height:0 !important;
}
html.fl-pastel-ui .filter-chip{
  min-height:34px !important;
  padding:7px 11px !important;
  font-size:11px !important;
}

/* Student benefits are useful, but secondary. */
html.fl-pastel-ui .student-panel{
  margin-top:22px !important;
  box-shadow:none !important;
}
html.fl-pastel-ui .student-button{
  min-height:36px !important;
  padding:8px 13px !important;
  border:1px solid var(--fl-line-strong) !important;
  color:var(--fl-blue-deep) !important;
  background:var(--fl-surface-blue) !important;
  box-shadow:none !important;
  font-size:12px !important;
}
html.fl-pastel-ui .student-button:hover{
  color:var(--fl-blue-deep) !important;
  background:color-mix(in srgb,var(--fl-blue-soft) 72%,var(--fl-surface-solid)) !important;
  box-shadow:none !important;
}

/* Theme B: Neo / deep-space. Same DOM, only tokens and surfaces change. */
html.fl-pastel-ui[data-theme="dark"]{
  color-scheme:dark;
  --fl-canvas:#050b18;
  --fl-canvas-2:#071329;
  --fl-surface:rgba(10,23,44,.84);
  --fl-surface-solid:#0c1b31;
  --fl-surface-blue:#102844;
  --fl-surface-pink:#281a3c;
  --fl-surface-mint:#0c302c;
  --fl-ink:#f5f9ff;
  --fl-ink-2:#c3d3e8;
  --fl-ink-3:#8aa1bf;
  --fl-blue:#5ba8ff;
  --fl-blue-deep:#8bc7ff;
  --fl-blue-soft:#12365d;
  --fl-pink:#d99cff;
  --fl-pink-soft:#321c49;
  --fl-mint:#6ef0c4;
  --fl-mint-soft:#103a34;
  --fl-yellow:#ffd36d;
  --fl-yellow-soft:#3b3118;
  --fl-line:#264360;
  --fl-line-strong:#3b6387;
  --fl-shadow:0 18px 54px rgba(0,0,0,.28);
  --fl-shadow-hover:0 22px 64px rgba(0,0,0,.42);
}
html.fl-pastel-ui[data-theme="dark"] body{
  background:
    radial-gradient(circle at 72% -4%,rgba(54,126,255,.26),transparent 30rem),
    radial-gradient(circle at 92% 24%,rgba(173,76,255,.16),transparent 24rem),
    radial-gradient(circle at 30% 85%,rgba(41,238,195,.08),transparent 26rem),
    linear-gradient(180deg,#061126 0,#050b18 46%,#040914 100%) !important;
  color:var(--fl-ink) !important;
}
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2::before{
  opacity:.28;
  background-image:
    radial-gradient(circle,rgba(124,184,255,.28) 1px,transparent 1px),
    linear-gradient(rgba(75,130,184,.10) 1px,transparent 1px);
  background-size:46px 46px,64px 64px;
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-rail{
  background:linear-gradient(180deg,rgba(5,14,29,.96),rgba(7,23,43,.94)) !important;
  border-color:#1d3550 !important;
  box-shadow:14px 0 48px rgba(0,0,0,.22);
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-brand,
html.fl-pastel-ui[data-theme="dark"] .fl-site-brand-copy strong,
html.fl-pastel-ui[data-theme="dark"] h1,
html.fl-pastel-ui[data-theme="dark"] h2,
html.fl-pastel-ui[data-theme="dark"] h3,
html.fl-pastel-ui[data-theme="dark"] h4,
html.fl-pastel-ui[data-theme="dark"] .provider-name strong,
html.fl-pastel-ui[data-theme="dark"] .offer-card-metric p,
html.fl-pastel-ui[data-theme="dark"] .offer-detail-link{
  color:var(--fl-ink) !important;
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-brand-mark{
  color:#b9ddff;
  border-color:#315c83;
  background:linear-gradient(145deg,#102b4d,#0a1830);
  box-shadow:0 0 28px rgba(64,145,255,.16);
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-nav a{
  color:#a9bfd8 !important;
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-nav a:hover{
  color:#f5f9ff !important;
  background:rgba(45,103,165,.20) !important;
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-nav a[aria-current="page"]{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(37,107,202,.54),rgba(85,230,190,.12)) !important;
  box-shadow:inset 0 0 0 1px rgba(109,183,255,.25),0 0 24px rgba(63,130,225,.10);
}
html.fl-pastel-ui[data-theme="dark"] .fl-site-ribbon,
html.fl-pastel-ui[data-theme="dark"] .catalog-header,
html.fl-pastel-ui[data-theme="dark"] .catalog-filter-bar,
html.fl-pastel-ui[data-theme="dark"] .filter-strip,
html.fl-pastel-ui[data-theme="dark"] .today-latest,
html.fl-pastel-ui[data-theme="dark"] .student-panel,
html.fl-pastel-ui[data-theme="dark"] .compare-panel,
html.fl-pastel-ui[data-theme="dark"] .category-card,
html.fl-pastel-ui[data-theme="dark"] .featured-card,
html.fl-pastel-ui[data-theme="dark"] .resource-card,
html.fl-pastel-ui[data-theme="dark"] .offer{
  color:var(--fl-ink) !important;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,rgba(16,36,63,.96),rgba(8,22,42,.96)) !important;
}
html.fl-pastel-ui[data-theme="dark"] .today-latest-card{
  color:var(--fl-ink) !important;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,#102844,#0b1d35) !important;
}
html.fl-pastel-ui[data-theme="dark"] .filter-chip{
  color:#bcd0e7 !important;
  border-color:#2b4a68 !important;
  background:#0b1e36 !important;
}
html.fl-pastel-ui[data-theme="dark"] .filter-chip.active{
  color:#fff !important;
  border-color:#4c91d3 !important;
  background:linear-gradient(135deg,#1959a4,#183c69) !important;
}
html.fl-pastel-ui[data-theme="dark"] .offer-card-metric label,
html.fl-pastel-ui[data-theme="dark"] .detail-label,
html.fl-pastel-ui[data-theme="dark"] .provider-name small,
html.fl-pastel-ui[data-theme="dark"] .offer-card-footer small,
html.fl-pastel-ui[data-theme="dark"] .today-latest-card span,
html.fl-pastel-ui[data-theme="dark"] .today-latest-card small{
  color:var(--fl-ink-2) !important;
}
html.fl-pastel-ui[data-theme="dark"] .row-arrow{
  color:#bfe2ff !important;
  border:1px solid #315c83 !important;
  background:#102b4d !important;
}
html.fl-pastel-ui[data-theme="dark"] .student-button{
  color:#cfe8ff !important;
  border-color:#315b80 !important;
  background:#102844 !important;
}
html.fl-pastel-ui[data-theme="dark"] input,
html.fl-pastel-ui[data-theme="dark"] select,
html.fl-pastel-ui[data-theme="dark"] textarea{
  color:#eff7ff !important;
  border-color:#31516f !important;
  background:#091b31 !important;
  box-shadow:none !important;
}
html.fl-pastel-ui[data-theme="dark"] input::placeholder,
html.fl-pastel-ui[data-theme="dark"] textarea::placeholder{
  color:#7891ad !important;
}

@media(max-width:1100px){
  .today-latest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  html.fl-pastel-ui #catalog-offer-rows.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .today-latest{padding:13px}
  .today-latest-head{align-items:flex-start;flex-direction:column}
  .today-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.fl-pastel-ui #catalog-offer-rows.offer-grid{grid-template-columns:1fr !important}
  html.fl-pastel-ui #catalog-offer-rows .offer{min-height:0}
  html.fl-pastel-ui #catalog-offer-rows .offer-card-flags{min-height:0}
}
@media(max-width:430px){
  .today-latest-grid{grid-template-columns:1fr}
}


/* 2026-09-23 cross-page governance */
/* Cross-page page shells -------------------------------------------------- */
body.fl-ui-v2[data-fl-section="models"] > header,
body.fl-ui-v2[data-fl-section="about"] > header,
body.fl-ui-v2[data-fl-section="logs"] .log-hero,
html.fl-pastel-ui .skills-hero,
html.fl-pastel-ui .tools-hero,
html.fl-pastel-ui .lab-hero{
  overflow:hidden;
  position:relative;
  isolation:isolate;
  border:1px solid var(--fl-line) !important;
  background:
    radial-gradient(circle at 88% 16%,rgba(118,184,255,.26),transparent 18rem),
    radial-gradient(circle at 72% 108%,rgba(205,148,255,.14),transparent 22rem),
    linear-gradient(120deg,var(--fl-surface-blue),var(--fl-surface-solid) 58%,#fff5f8) !important;
}
body.fl-ui-v2[data-fl-section="models"] > header::before,
body.fl-ui-v2[data-fl-section="about"] > header::before,
body.fl-ui-v2[data-fl-section="logs"] .log-hero::before,
html.fl-pastel-ui .skills-hero::before,
html.fl-pastel-ui .tools-hero::before,
html.fl-pastel-ui .lab-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:280px;
  height:280px;
  right:-96px;
  top:-110px;
  border-radius:50%;
  border:1px solid rgba(88,153,224,.28);
  box-shadow:
    0 0 0 34px rgba(88,153,224,.06),
    0 0 0 70px rgba(187,121,255,.035);
  pointer-events:none;
}
body.fl-ui-v2[data-fl-section="models"] > header::after,
body.fl-ui-v2[data-fl-section="about"] > header::after{
  content:"AI for Everyone";
  position:absolute;
  right:34px;
  bottom:24px;
  color:var(--fl-blue);
  font:700 14px/1.2 "KaiTi","STKaiti","Kaiti SC",cursive;
  transform:rotate(-4deg);
  opacity:.72;
  pointer-events:none;
}

/* Models ---------------------------------------------------------------- */
body.fl-ui-v2[data-fl-section="models"] > header.models-overview{
  min-height:300px;
  padding:clamp(32px,4vw,54px) !important;
}
body.fl-ui-v2[data-fl-section="models"] > header.models-overview .lead{
  max-width:760px;
}
body.fl-ui-v2[data-fl-section="models"] .fl-stat-grid{
  gap:14px;
}
body.fl-ui-v2[data-fl-section="models"] .fl-stat-card{
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,var(--fl-surface-solid),var(--fl-surface-blue)) !important;
  box-shadow:none !important;
}
body.fl-ui-v2[data-fl-section="models"] .models-overview-grid{
  align-items:stretch;
}
body.fl-ui-v2[data-fl-section="models"] .models-overview-grid > article{
  height:100%;
  border-color:var(--fl-line) !important;
  border-radius:18px !important;
  background:var(--fl-surface-solid) !important;
  box-shadow:none !important;
}
body.fl-ui-v2[data-fl-section="models"] .provider-grid,
body.fl-ui-v2[data-fl-section="models"] .hero-cards{
  align-items:stretch;
}
body.fl-ui-v2[data-fl-section="models"] .provider-card,
body.fl-ui-v2[data-fl-section="models"] .model-card,
body.fl-ui-v2[data-fl-section="models"] .catalog-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
body.fl-ui-v2[data-fl-section="models"] .provider-card > :last-child,
body.fl-ui-v2[data-fl-section="models"] .model-card > :last-child,
body.fl-ui-v2[data-fl-section="models"] .catalog-card > :last-child{
  margin-top:auto;
}

/* Skills ---------------------------------------------------------------- */
html.fl-pastel-ui .skills-hero{
  min-height:320px;
}
html.fl-pastel-ui .skills-hero .hero-note{
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,var(--fl-surface-solid),var(--fl-surface-blue)) !important;
}
html.fl-pastel-ui .skill-grid{
  align-items:stretch !important;
}
html.fl-pastel-ui .skill-card{
  height:100%;
  min-height:440px;
  display:flex !important;
  flex-direction:column !important;
}
html.fl-pastel-ui .skill-card .freellm-test-inline,
html.fl-pastel-ui .skill-card > p{
  flex:0 0 auto;
}
html.fl-pastel-ui .skill-card .skill-card-meta{
  margin-top:auto !important;
}
html.fl-pastel-ui .skill-card .skill-card-bottom{
  margin-top:14px !important;
  padding-top:14px;
  border-top:1px solid var(--fl-line);
}
html.fl-pastel-ui .skill-card .skill-details{
  min-height:36px;
}

/* Tools ----------------------------------------------------------------- */
html.fl-pastel-ui .tools-hero{
  min-height:310px;
}
html.fl-pastel-ui .tool-grid{
  align-items:stretch !important;
}
html.fl-pastel-ui .tool-card,
html.fl-pastel-ui [data-tool-id]{
  height:100%;
}
html.fl-pastel-ui .tool-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:250px;
}
html.fl-pastel-ui .tool-card > :last-child{
  margin-top:auto;
}

/* Workflow --------------------------------------------------------------- */
html.fl-pastel-ui .lab-hero{
  min-height:330px;
}
html.fl-pastel-ui .workflow-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
html.fl-pastel-ui .workflow-card{
  height:100%;
  min-height:286px;
  display:flex !important;
  flex-direction:column !important;
}
html.fl-pastel-ui .workflow-card .workflow-flow{
  margin-top:auto !important;
}
html.fl-pastel-ui .workflow-card .workflow-card-foot{
  margin-top:18px !important;
  padding-top:14px !important;
  border-top:1px solid var(--fl-line) !important;
}
html.fl-pastel-ui .flow-node{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--fl-blue-soft) 38%,transparent);
}
html.fl-pastel-ui .component-grid{
  align-items:stretch !important;
}
html.fl-pastel-ui .component-card{
  height:100%;
  display:flex !important;
  flex-direction:column !important;
}
html.fl-pastel-ui .component-card .component-install{
  margin-top:auto !important;
}

/* Updates --------------------------------------------------------------- */
body.fl-ui-v2[data-fl-section="logs"] .daily-log-dashboard{
  background:transparent !important;
}
body.fl-ui-v2[data-fl-section="logs"] .log-hero{
  min-height:290px;
  padding:clamp(28px,4vw,48px) !important;
  border-radius:24px !important;
  box-shadow:var(--fl-shadow) !important;
}
body.fl-ui-v2[data-fl-section="logs"] .log-overview-grid{
  align-items:stretch;
  gap:14px !important;
}
body.fl-ui-v2[data-fl-section="logs"] .log-panel,
body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-panel,
body.fl-ui-v2[data-fl-section="logs"] .log-day,
body.fl-ui-v2[data-fl-section="logs"] .log-event-panel,
body.fl-ui-v2[data-fl-section="logs"] .log-new-card,
body.fl-ui-v2[data-fl-section="logs"] .log-offline-card{
  border-color:var(--fl-line) !important;
  background:var(--fl-surface-solid) !important;
}
body.fl-ui-v2[data-fl-section="logs"] .log-stat-grid,
body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-grid{
  align-items:stretch;
}
body.fl-ui-v2[data-fl-section="logs"] .log-stat-card,
body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-card{
  height:100%;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,var(--fl-surface-solid),var(--fl-surface-blue)) !important;
}
body.fl-ui-v2[data-fl-section="logs"] .log-date-nav{
  overflow-x:auto;
  flex-wrap:nowrap !important;
  scrollbar-width:none;
}
body.fl-ui-v2[data-fl-section="logs"] .log-date-nav::-webkit-scrollbar{display:none}
body.fl-ui-v2[data-fl-section="logs"] .log-date-link{flex:0 0 auto}

/* About ----------------------------------------------------------------- */
body.fl-ui-v2[data-fl-section="about"] > header{
  min-height:300px;
  padding:clamp(30px,4vw,52px) !important;
}
body.fl-ui-v2[data-fl-section="about"] > main{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
  gap:14px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.fl-ui-v2[data-fl-section="about"] > main > section{
  height:100%;
  margin:0 !important;
  padding:24px !important;
  border-color:var(--fl-line) !important;
  background:var(--fl-surface-solid) !important;
}
body.fl-ui-v2[data-fl-section="about"] > main > section:first-child{
  grid-column:1/-1;
}
body.fl-ui-v2[data-fl-section="about"] .stat-row{
  align-items:stretch;
}
body.fl-ui-v2[data-fl-section="about"] .stat{
  min-height:102px;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,var(--fl-surface-solid),var(--fl-surface-blue)) !important;
}

/* Dark / Neo full-page coverage ---------------------------------------- */
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="models"] > header,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="about"] > header,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-hero,
html.fl-pastel-ui[data-theme="dark"] .skills-hero,
html.fl-pastel-ui[data-theme="dark"] .tools-hero,
html.fl-pastel-ui[data-theme="dark"] .lab-hero{
  background:
    radial-gradient(circle at 86% 12%,rgba(73,146,255,.28),transparent 20rem),
    radial-gradient(circle at 72% 108%,rgba(173,79,255,.18),transparent 22rem),
    linear-gradient(120deg,#0d203a,#08172c 58%,#171127) !important;
  border-color:#294b6a !important;
}
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="models"] > main > section,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="about"] > main > section,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] > main > section,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="models"] main > article,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="models"] main section > article,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-panel,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-panel,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-day,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-event-panel,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-new-card,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-offline-card,
html.fl-pastel-ui[data-theme="dark"] .skill-card,
html.fl-pastel-ui[data-theme="dark"] .tool-card,
html.fl-pastel-ui[data-theme="dark"] [data-tool-id],
html.fl-pastel-ui[data-theme="dark"] .workflow-card,
html.fl-pastel-ui[data-theme="dark"] .component-library,
html.fl-pastel-ui[data-theme="dark"] .component-card{
  color:var(--fl-ink) !important;
  border-color:var(--fl-line) !important;
  background:linear-gradient(145deg,#0f233e,#0b1a30) !important;
}
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="models"] .fl-stat-card,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="about"] .stat,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-stat-card,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-card{
  color:var(--fl-ink) !important;
  border-color:#2c4c68 !important;
  background:linear-gradient(145deg,#102844,#0b1c33) !important;
}
html.fl-pastel-ui[data-theme="dark"] .skill-card p,
html.fl-pastel-ui[data-theme="dark"] .tool-card p,
html.fl-pastel-ui[data-theme="dark"] .workflow-card p,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="about"] p,
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2[data-fl-section="logs"] p{
  color:var(--fl-ink-2) !important;
}
html.fl-pastel-ui[data-theme="dark"] body.fl-ui-v2 main section h3,
html.fl-pastel-ui[data-theme="dark"] .skill-card h2,
html.fl-pastel-ui[data-theme="dark"] .workflow-card h2{
  color:var(--fl-ink) !important;
}
html.fl-pastel-ui[data-theme="dark"] .freellm-test-inline,
html.fl-pastel-ui[data-theme="dark"] .skill-dialog-section,
html.fl-pastel-ui[data-theme="dark"] .command-box,
html.fl-pastel-ui[data-theme="dark"] .lab-rule{
  border-color:var(--fl-line) !important;
  background:#0b1e36 !important;
}
html.fl-pastel-ui[data-theme="dark"] .callout,
html.fl-pastel-ui[data-theme="dark"] .notice{
  color:var(--fl-ink-2) !important;
  border-color:#3a6486 !important;
  background:#0d2541 !important;
}

/* Responsive cross-page checks ----------------------------------------- */
@media(max-width:980px){
  body.fl-ui-v2[data-fl-section="about"] > main{
    grid-template-columns:minmax(0,1fr);
  }
  body.fl-ui-v2[data-fl-section="about"] > main > section:first-child{
    grid-column:auto;
  }
  html.fl-pastel-ui .workflow-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:700px){
  body.fl-ui-v2[data-fl-section="models"] > header.models-overview,
  body.fl-ui-v2[data-fl-section="about"] > header,
  body.fl-ui-v2[data-fl-section="logs"] .log-hero{
    min-height:0;
    padding:24px 18px !important;
  }
  html.fl-pastel-ui .skill-card,
  html.fl-pastel-ui .tool-card,
  html.fl-pastel-ui .workflow-card{
    min-height:0;
  }
}

/* 2026-09-23 visual regression pass */
html.fl-pastel-ui .skills-header,
html.fl-pastel-ui .tools-header{display:none !important;}

html.fl-pastel-ui .today-latest{margin-top:14px !important;border-radius:20px !important;}
html.fl-pastel-ui .catalog-filter-bar{margin-top:0 !important;}
html.fl-pastel-ui #student-offers.student-panel{margin-top:18px !important;padding:16px 18px !important;border-style:dashed !important;box-shadow:none !important;}
html.fl-pastel-ui #student-offers .student-panel-copy h2{font-size:clamp(18px,1.8vw,24px) !important;}

html.fl-pastel-ui #catalog-offer-rows.offer-grid,
html.fl-pastel-ui .skill-grid,
html.fl-pastel-ui .tool-grid,
html.fl-pastel-ui .workflow-grid,
body.fl-ui-v2[data-fl-section="models"] .models-overview-grid,
body.fl-ui-v2[data-fl-section="logs"] .log-stat-grid,
body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-grid{align-items:stretch !important;}

html.fl-pastel-ui #catalog-offer-rows .offer,
html.fl-pastel-ui .skill-card,
html.fl-pastel-ui .tool-card,
html.fl-pastel-ui .workflow-card,
body.fl-ui-v2[data-fl-section="models"] .models-overview-grid > article,
body.fl-ui-v2[data-fl-section="logs"] .log-stat-card,
body.fl-ui-v2[data-fl-section="logs"] .log-snapshot-card{height:100% !important;}
html.fl-pastel-ui .tool-card{display:flex !important;flex-direction:column !important;}
html.fl-pastel-ui .tool-card > :last-child{margin-top:auto !important;}

html.fl-pastel-ui:not([data-theme="dark"]) .today-latest-card,
html.fl-pastel-ui:not([data-theme="dark"]) .skill-card,
html.fl-pastel-ui:not([data-theme="dark"]) .tool-card,
html.fl-pastel-ui:not([data-theme="dark"]) .workflow-card{color:var(--fl-ink) !important;}

html.fl-pastel-ui[data-theme="dark"] .skills-toolbar,
html.fl-pastel-ui[data-theme="dark"] .tools-toolbar,
html.fl-pastel-ui[data-theme="dark"] .lab-topline,
html.fl-pastel-ui[data-theme="dark"] .component-library,
html.fl-pastel-ui[data-theme="dark"] .model-directory,
html.fl-pastel-ui[data-theme="dark"] .static-locale-nav{color:var(--fl-ink) !important;border-color:var(--fl-line) !important;background:rgba(10,27,49,.9) !important;}

html.fl-pastel-ui[data-theme="dark"] .skill-category-tab,
html.fl-pastel-ui[data-theme="dark"] .tool-category-tab,
html.fl-pastel-ui[data-theme="dark"] .model-section-tabs a,
html.fl-pastel-ui[data-theme="dark"] .model-center-tabs a{color:#b9cde4 !important;border-color:#294b69 !important;background:#0b1d34 !important;}

html.fl-pastel-ui[data-theme="dark"] .skill-category-tab.is-active,
html.fl-pastel-ui[data-theme="dark"] .tool-category-tab.is-active,
html.fl-pastel-ui[data-theme="dark"] .model-section-tabs a[aria-current="page"],
html.fl-pastel-ui[data-theme="dark"] .model-center-tabs a[aria-current="page"]{color:#fff !important;border-color:#4d86bd !important;background:linear-gradient(135deg,#174d86,#19365e) !important;}

html.fl-pastel-ui[data-theme="dark"] .skills-count,
html.fl-pastel-ui[data-theme="dark"] .tools-count,
html.fl-pastel-ui[data-theme="dark"] .skill-stat,
html.fl-pastel-ui[data-theme="dark"] .skill-source-link,
html.fl-pastel-ui[data-theme="dark"] .muted,
html.fl-pastel-ui[data-theme="dark"] small{color:var(--fl-ink-2) !important;}

@media(max-width:700px){
  html.fl-pastel-ui .skills-header,
  html.fl-pastel-ui .tools-header{display:none !important;min-height:0 !important;margin:0 !important;padding:0 !important;}
  html.fl-pastel-ui .today-latest-grid{grid-template-columns:1fr 1fr !important;}
  html.fl-pastel-ui .today-latest-card{min-height:84px;}
  html.fl-pastel-ui #student-offers.student-panel{padding:14px !important;}
}
@media(max-width:430px){html.fl-pastel-ui .today-latest-grid{grid-template-columns:1fr !important;}}


/* 2026-09-23 visual regression pass 2 */
/* Brand identity: the approved Light/Aurora theme keeps the dark editorial rail. */
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-rail{
  color:#eaf4ff !important;
  border-color:#173653 !important;
  background:
    radial-gradient(circle at 35% 82%,rgba(51,134,230,.18),transparent 12rem),
    linear-gradient(180deg,#07172d 0%,#061326 58%,#081a31 100%) !important;
  box-shadow:14px 0 42px rgba(22,60,104,.12) !important;
}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-brand-copy strong{color:#f6fbff !important;}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-brand-copy small,
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-rail-note{color:#9eb9d4 !important;}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-brand-mark{
  color:#bfe2ff !important;
  border-color:#2e557a !important;
  background:linear-gradient(145deg,#123354,#0a213d) !important;
}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-nav a{color:#a9c0d8 !important;}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-nav a:hover{
  color:#fff !important;
  background:rgba(46,114,181,.18) !important;
}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-nav a[aria-current="page"]{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(44,116,211,.62),rgba(76,224,190,.13)) !important;
  box-shadow:inset 0 0 0 1px rgba(111,184,255,.26),0 10px 28px rgba(0,0,0,.12) !important;
}
html.fl-pastel-ui:not([data-theme="dark"]) .fl-site-theme-toggle{
  color:#c6d9ed !important;
  border-color:#294c6b !important;
  background:#102b46 !important;
}

/* Homepage: one global chrome row. Keep only useful local controls, without a second card-bar. */
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header{
  min-height:34px !important;
  margin:0 0 10px !important;
  padding:0 !important;
  justify-content:flex-end !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .brand{display:none !important;}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .header-actions{
  gap:8px !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .local-clock,
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .profile-chevron{display:none !important;}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .header-submit,
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .locale-toggle{
  min-height:34px !important;
  height:34px !important;
  border-radius:999px !important;
  box-shadow:none !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .profile-dot{
  width:34px !important;
  height:34px !important;
}

/* Homepage hero: keep the same information but make the hierarchy more editorial/neo-human. */
html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero{
  overflow:hidden !important;
  position:relative;
  isolation:isolate;
  padding:clamp(30px,4vw,58px) !important;
  border:1px solid var(--fl-line) !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 82% 6%,rgba(94,160,255,.20),transparent 20rem),
    radial-gradient(circle at 92% 100%,rgba(190,92,255,.14),transparent 26rem),
    linear-gradient(135deg,var(--fl-surface-blue),var(--fl-surface-solid) 58%,#fff4f8) !important;
  box-shadow:var(--fl-shadow) !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-120px;
  top:-170px;
  width:410px;
  height:410px;
  border-radius:50%;
  border:1px solid rgba(76,147,219,.25);
  box-shadow:0 0 0 44px rgba(73,144,219,.055),0 0 0 94px rgba(158,75,232,.032);
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero-copy{min-width:0 !important;}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero h1{
  max-width:760px !important;
  color:var(--fl-ink) !important;
  font-family:var(--fl-font) !important;
  font-weight:850 !important;
  letter-spacing:-.055em !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero .hero-copy{
  max-width:760px !important;
  color:var(--fl-ink-2) !important;
  font-family:var(--fl-font) !important;
  font-weight:650 !important;
}
html.fl-pastel-ui body[data-fl-section="home"] .hero-intel{
  overflow:hidden !important;
  min-width:0 !important;
  border-color:var(--fl-line) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(243,248,255,.70)) !important;
  backdrop-filter:blur(16px);
}
html.fl-pastel-ui body[data-fl-section="home"] .hero-intel::after{
  right:-24px !important;
  top:18px !important;
  width:128px !important;
  min-height:185px !important;
  padding:18px 14px !important;
  opacity:.82;
}
html.fl-pastel-ui body[data-fl-section="home"] .hero-intel-main{padding-right:68px !important;}

/* Dark/Neo: remove the pale-paper island from the hero. */
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .catalog-hero{
  background:
    radial-gradient(circle at 78% 0%,rgba(50,128,255,.25),transparent 20rem),
    radial-gradient(circle at 92% 96%,rgba(183,72,255,.18),transparent 25rem),
    linear-gradient(135deg,#0b213b,#0a172c 56%,#1c1430) !important;
  border-color:#315675 !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .catalog-hero .hero-badge{
  color:#bfe2ff !important;
  border-color:#315f87 !important;
  background:rgba(17,47,76,.78) !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel{
  color:var(--fl-ink) !important;
  border-color:#365b78 !important;
  background:linear-gradient(145deg,rgba(13,37,64,.94),rgba(27,22,48,.93)) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.28) !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel::before{
  background:linear-gradient(120deg,rgba(26,77,126,.50),rgba(80,44,121,.48)) !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel::after{
  color:#d7ebff !important;
  border:1px solid rgba(97,151,199,.25);
  background:linear-gradient(155deg,rgba(17,48,78,.92),rgba(42,28,63,.91)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel-head strong,
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel-main > div:first-child > b,
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel-main > div:first-child > strong{color:#f5f9ff !important;}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel-head > span,
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .intel-story-copy,
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .hero-intel-main p,
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .mini-chart small{color:#a9bfd8 !important;}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .intel-pills > div{
  border-color:#294d6d !important;
  background:rgba(10,31,55,.86) !important;
}
html.fl-pastel-ui[data-theme="dark"] body[data-fl-section="home"] .intel-pills b{color:#eaf4ff !important;}

/* The cross-page hero summary cards must belong to the dark theme too. */
html.fl-pastel-ui[data-theme="dark"] .skills-hero .hero-note,
html.fl-pastel-ui[data-theme="dark"] .tools-hero .hero-note,
html.fl-pastel-ui[data-theme="dark"] .lab-hero-aside{
  color:var(--fl-ink) !important;
  border-color:#315675 !important;
  background:linear-gradient(145deg,#102943,#16243d) !important;
}
html.fl-pastel-ui[data-theme="dark"] .skills-hero .hero-note *,
html.fl-pastel-ui[data-theme="dark"] .tools-hero .hero-note *,
html.fl-pastel-ui[data-theme="dark"] .lab-hero-aside *{
  color:inherit !important;
}
html.fl-pastel-ui .lab-topline{display:none !important;}

/* Home phone: explicitly reflow rather than relying on the old desktop hero. */
@media(max-width:700px){
  html.fl-pastel-ui body[data-fl-section="home"] .catalog-header{
    margin-bottom:6px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .catalog-header .profile-dot{display:none !important;}
  html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero{
    display:block !important;
    min-height:0 !important;
    padding:24px 18px 20px !important;
    border-radius:22px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero h1{
    margin:20px 0 12px !important;
    font-size:clamp(42px,14.2vw,58px) !important;
    line-height:.98 !important;
    letter-spacing:-.05em !important;
    overflow-wrap:normal !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .catalog-hero .hero-copy{
    width:auto !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    padding:0 !important;
    border:0 !important;
    font-size:17px !important;
    line-height:1.5 !important;
    letter-spacing:-.015em !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-search{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) 76px !important;
    gap:4px !important;
    padding:4px 4px 4px 10px !important;
    border-radius:15px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-search > span{font-size:22px !important;}
  html.fl-pastel-ui body[data-fl-section="home"] .hero-search input{
    width:100% !important;
    min-width:0 !important;
    padding:0 6px !important;
    font-size:13px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-search button{
    min-width:0 !important;
    width:76px !important;
    min-height:44px !important;
    padding:0 8px !important;
    border-radius:11px !important;
    font-size:13px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hot-searches{
    gap:7px !important;
    margin-top:14px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-intent-links{
    gap:7px 11px !important;
    margin-top:11px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-intel{
    width:100% !important;
    min-height:0 !important;
    margin-top:22px !important;
    padding:18px !important;
    border-radius:18px !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .hero-intel::before,
  html.fl-pastel-ui body[data-fl-section="home"] .hero-intel::after{display:none !important;}
  html.fl-pastel-ui body[data-fl-section="home"] .hero-intel-main{
    margin-top:18px !important;
    padding-right:0 !important;
  }
  html.fl-pastel-ui body[data-fl-section="home"] .intel-pills{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
}
@media(max-width:480px){
  html.fl-pastel-ui .fl-site-nav{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:grid !important;
    grid-template-columns:repeat(7,minmax(28px,1fr)) !important;
    gap:1px !important;
    overflow:visible !important;
  }
  html.fl-pastel-ui .fl-site-nav a{
    width:auto !important;
    min-width:0 !important;
    padding:5px 2px !important;
    justify-content:center !important;
  }
  html.fl-pastel-ui .fl-site-nav-icon{
    width:auto !important;
    font-size:15px !important;
  }
  html.fl-pastel-ui .fl-site-theme-toggle{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    flex-basis:34px !important;
  }
}

/* FreeLLM evaluation blocks on secondary pages (providers/*, models/<slug>/, category/*, offers/*).
   Generated by scripts/eval_pages.py; v=20261009-eval. Reuses .facts/.fact/.catalog-table tokens. */
.fl-eval-section{margin:0 0 30px;padding:22px 22px 18px;border:1px solid var(--line,#EAEAEA);border-radius:12px;background:var(--surface,#fff);min-width:0}
.fl-eval-section h2{margin:6px 0 8px}
.fl-eval-section .lead{margin:0 0 14px}
.fl-eval-section .catalog-table{min-width:640px}
.fl-eval-section .catalog-table td small{display:block}
.fl-eval-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:14px;margin:16px 0 4px}
.fl-eval-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border:1px solid var(--line,#EAEAEA);border-radius:10px;background:var(--surface-soft,#F9F9F8)}
.fl-eval-card.is-reference{border-style:dashed}
.fl-eval-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fl-eval-card-head h3{margin:0;font-size:17px;overflow-wrap:anywhere}
.fl-eval-card-head small{display:block;margin-top:2px;color:var(--ink-secondary,#787774);font:400 11.5px/1.5 var(--font-mono,monospace);overflow-wrap:anywhere}
.fl-eval-score{flex:0 0 auto;font:400 30px/1 var(--font-serif,Georgia,serif);color:var(--accent,#1744E8);text-align:right}
.fl-eval-score small{margin-left:2px;font:500 12px/1 var(--font-sans,sans-serif);color:var(--ink-secondary,#787774)}
.fl-eval-score.is-warn{color:var(--pale-yellow-text,#956400)}
.fl-eval-score-note{display:block;max-width:180px;color:var(--ink-secondary,#787774);font-size:11.5px;text-align:right}
.fl-eval-card .facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.fl-eval-card .fact{padding:9px 10px;background:var(--surface,#fff)}
.fl-eval-dims{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:6px 14px}
.fl-eval-dims li{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;font-size:12.5px;color:var(--ink-secondary,#787774)}
.fl-eval-dims b{font:600 12.5px/1.4 var(--font-mono,monospace);color:var(--ink,#2F3437)}
.fl-eval-dims i{grid-column:1/-1;height:4px;margin-top:3px;border-radius:2px;background:var(--line,#EAEAEA);overflow:hidden}
.fl-eval-dims em{display:block;height:100%;background:var(--accent,#1744E8)}
.fl-eval-tags{display:flex;flex-wrap:wrap;gap:6px}
.fl-eval-tag{padding:2px 8px;border-radius:999px;font-size:12px}
.fl-eval-tag.is-good{background:var(--pale-green-bg,#EDF3EC);color:var(--pale-green-text,#346538)}
.fl-eval-tag.is-bad{background:var(--pale-red-bg,#FDEBEC);color:var(--pale-red-text,#9F2F2D)}
.fl-eval-tagline{margin:0;font-size:14px;color:var(--ink,#2F3437)}
.fl-eval-uses{display:grid;gap:4px;margin:0;font-size:13px}
.fl-eval-uses div{display:grid;grid-template-columns:56px 1fr;gap:8px}
.fl-eval-uses dt{color:var(--ink-tertiary,#B4B1AB);font-weight:600}
.fl-eval-uses dd{margin:0;color:var(--ink-secondary,#787774)}
.fl-eval-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:auto 0 0;font-size:13px}
.fl-eval-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;text-decoration:none;white-space:normal}
.fl-eval-pill.is-measured{background:var(--pale-green-bg,#EDF3EC);color:var(--pale-green-text,#346538)}
.fl-eval-pill.is-warn{background:var(--pale-yellow-bg,#FBF3DB);color:var(--pale-yellow-text,#956400)}
.fl-eval-pill.is-down{background:var(--pale-red-bg,#FDEBEC);color:var(--pale-red-text,#9F2F2D)}
.fl-eval-pill.is-reference{background:var(--accent-soft,#E9EEFF);color:var(--accent,#1744E8)}
.fl-eval-pill.is-untested{background:var(--pale-stone-bg,#F0EFEC);color:var(--pale-stone-text,#5A5854)}
a.fl-eval-pill:hover{text-decoration:underline}
.fl-eval-cell{min-width:150px}
.fl-eval-chip-row{margin:6px 0 0}
.fl-eval-note,.fl-eval-method{margin:12px 0 0;font-size:12.5px;color:var(--ink-secondary,#787774)}
.fl-eval-down{margin-top:18px}
.fl-eval-down h3{margin:0 0 4px;font-size:16px}
.fl-eval-down-list,.fl-eval-ref-list{margin:8px 0 0;padding-left:20px;font-size:13px}
.fl-eval-down-list li,.fl-eval-ref-list li{margin:3px 0;overflow-wrap:anywhere}
.fl-eval-route-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fl-eval-route-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;border:1px solid var(--line,#EAEAEA);border-radius:8px;font-size:13px}
.fl-eval-route-list li small{color:var(--ink-secondary,#787774)}
@media(max-width:640px){
  .fl-eval-section{padding:16px 14px}
  .fl-eval-card-head{flex-direction:column}
  .fl-eval-score,.fl-eval-score-note{text-align:left;max-width:none}
}
