| :root { |
| color-scheme: dark; |
| --bg: #0a0d14; |
| --surface: #111422; |
| --border: rgba(255, 255, 255, 0.08); |
| --text: #f8fbff; |
| --muted: rgba(248, 251, 255, 0.7); |
| --cyan: #12c2e9; |
| --violet: #c471ed; |
| --rose: #f64f59; |
| --ring: rgba(18, 194, 233, 0.35); |
| |
| --chart-h: 240px; |
| } |
|
|
| *, |
| *::before, |
| *::after { |
| box-sizing: border-box; |
| } |
|
|
| body { |
| margin: 0; |
| min-height: 100dvh; |
| font-family: "Inter", system-ui, -apple-system, sans-serif; |
| color: var(--text); |
| background: var(--bg); |
| background-image: |
| radial-gradient(ellipse 80% 50% at 20% 0%, rgba(18, 194, 233, 0.12), transparent 50%), |
| radial-gradient(ellipse 70% 40% at 100% 20%, rgba(196, 113, 237, 0.1), transparent 45%), |
| linear-gradient(180deg, #0a0d14, #101525 60%, #0a0d14); |
| line-height: 1.5; |
| } |
|
|
| button, |
| input, |
| textarea { |
| font: inherit; |
| } |
|
|
| a { |
| color: var(--cyan); |
| } |
|
|
| .visually-hidden { |
| position: absolute; |
| width: 1px; |
| height: 1px; |
| padding: 0; |
| margin: -1px; |
| overflow: hidden; |
| clip: rect(0, 0, 0, 0); |
| white-space: nowrap; |
| border: 0; |
| } |
|
|
| .skip-link { |
| position: absolute; |
| left: 12px; |
| top: 12px; |
| z-index: 10; |
| padding: 8px 14px; |
| background: var(--surface); |
| border: 1px solid var(--border); |
| border-radius: 8px; |
| color: var(--text); |
| text-decoration: none; |
| transform: translateY(-200%); |
| transition: transform 0.2s; |
| } |
|
|
| .skip-link:focus { |
| transform: translateY(0); |
| } |
|
|
| .site-header { |
| padding: 48px 20px 24px; |
| text-align: center; |
| border-bottom: 1px solid var(--border); |
| } |
|
|
| .site-header__inner { |
| max-width: 720px; |
| margin: 0 auto; |
| } |
|
|
| .eyebrow { |
| margin: 0 0 8px; |
| font-size: 0.7rem; |
| font-weight: 700; |
| letter-spacing: 0.16em; |
| text-transform: uppercase; |
| color: var(--muted); |
| } |
|
|
| h1 { |
| margin: 0; |
| font-size: clamp(2rem, 6vw, 3.25rem); |
| font-weight: 800; |
| letter-spacing: -0.06em; |
| line-height: 1.1; |
| background: linear-gradient(100deg, var(--cyan), var(--violet), var(--rose)); |
| -webkit-background-clip: text; |
| background-clip: text; |
| color: transparent; |
| } |
|
|
| .tagline { |
| margin: 16px 0 0; |
| color: var(--muted); |
| font-size: 1rem; |
| line-height: 1.65; |
| } |
|
|
| .layout { |
| width: min(1100px, 100% - 32px); |
| margin: 0 auto; |
| padding: 24px 0 64px; |
| display: flex; |
| flex-direction: column; |
| gap: 20px; |
| } |
|
|
| .workspace-tabs { |
| display: flex; |
| gap: 10px; |
| } |
|
|
| .workspace-tab { |
| cursor: pointer; |
| border: 1px solid var(--border); |
| border-radius: 999px; |
| padding: 8px 14px; |
| color: var(--text); |
| background: rgba(255, 255, 255, 0.05); |
| font-weight: 600; |
| } |
|
|
| .workspace-tab.is-active { |
| background: linear-gradient(135deg, rgba(18, 194, 233, 0.22), rgba(196, 113, 237, 0.22)); |
| border-color: rgba(255, 255, 255, 0.16); |
| } |
|
|
| .workspace-panel { |
| display: flex; |
| flex-direction: column; |
| gap: 20px; |
| } |
|
|
| .workspace-panel[hidden] { |
| display: none; |
| } |
|
|
| .panel { |
| background: var(--surface); |
| border: 1px solid var(--border); |
| border-radius: 14px; |
| padding: 20px 22px; |
| box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25); |
| min-width: 0; |
| } |
|
|
| .panel h2 { |
| margin: 0 0 4px; |
| font-size: 1.05rem; |
| font-weight: 700; |
| letter-spacing: -0.02em; |
| } |
|
|
| .panel__sub { |
| margin: 0 0 16px; |
| font-size: 0.8rem; |
| color: var(--muted); |
| } |
|
|
| .train-form__row { |
| display: grid; |
| grid-template-columns: 1fr minmax(7rem, 9rem) auto; |
| gap: 14px; |
| align-items: end; |
| } |
|
|
| .field { |
| display: flex; |
| flex-direction: column; |
| gap: 6px; |
| min-width: 0; |
| } |
|
|
| .field label { |
| font-size: 0.7rem; |
| font-weight: 600; |
| letter-spacing: 0.06em; |
| text-transform: uppercase; |
| color: var(--muted); |
| } |
|
|
| input, |
| textarea { |
| width: 100%; |
| color: var(--text); |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 10px; |
| padding: 10px 12px; |
| outline: none; |
| transition: border-color 0.15s, box-shadow 0.15s; |
| } |
|
|
| input:focus, |
| textarea:focus { |
| border-color: rgba(18, 194, 233, 0.5); |
| box-shadow: 0 0 0 3px var(--ring); |
| } |
|
|
| .btn { |
| cursor: pointer; |
| border: 1px solid var(--border); |
| border-radius: 999px; |
| padding: 10px 18px; |
| font-weight: 700; |
| color: var(--text); |
| background: rgba(255, 255, 255, 0.06); |
| white-space: nowrap; |
| transition: filter 0.15s, opacity 0.15s; |
| } |
|
|
| .btn:hover:not(:disabled) { |
| filter: brightness(1.1); |
| } |
|
|
| .btn:disabled { |
| cursor: not-allowed; |
| opacity: 0.55; |
| } |
|
|
| .btn--primary { |
| background: linear-gradient(135deg, rgba(18, 194, 233, 0.25), rgba(196, 113, 237, 0.25)); |
| border-color: rgba(255, 255, 255, 0.12); |
| } |
|
|
| .status { |
| margin: 16px 0 0; |
| font-size: 0.9rem; |
| color: var(--muted); |
| } |
|
|
| .metric-strip { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 12px; |
| margin: 20px 0 0; |
| padding: 0; |
| list-style: none; |
| } |
|
|
| .metric-strip li { |
| display: flex; |
| flex-direction: column; |
| gap: 4px; |
| padding: 12px 14px; |
| background: rgba(0, 0, 0, 0.2); |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| border-radius: 10px; |
| min-width: 0; |
| } |
|
|
| .metric-strip span { |
| font-size: 0.68rem; |
| font-weight: 600; |
| letter-spacing: 0.08em; |
| text-transform: uppercase; |
| color: var(--muted); |
| } |
|
|
| .metric-strip strong { |
| font-size: clamp(1.4rem, 3.5vw, 2rem); |
| font-weight: 800; |
| letter-spacing: -0.04em; |
| line-height: 1.1; |
| } |
|
|
| .log-stream__body { |
| margin: 0; |
| min-height: 140px; |
| max-height: 260px; |
| padding: 12px 14px; |
| border-radius: 10px; |
| background: rgba(0, 0, 0, 0.25); |
| border: 1px solid rgba(255, 255, 255, 0.06); |
| color: rgba(248, 251, 255, 0.88); |
| font-size: 0.78rem; |
| line-height: 1.45; |
| overflow: auto; |
| white-space: pre-wrap; |
| word-break: break-word; |
| } |
|
|
| .stage-tester__controls { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| margin-bottom: 14px; |
| } |
|
|
| .stage-tester__form { |
| display: grid; |
| gap: 12px; |
| } |
|
|
| .stage-tester__buttons { |
| display: flex; |
| gap: 10px; |
| } |
|
|
| #tester-auto-prompt { |
| min-height: 72px; |
| resize: vertical; |
| } |
|
|
| |
| .charts__grid { |
| display: grid; |
| grid-template-columns: repeat(2, minmax(0, 1fr)); |
| gap: 16px; |
| margin-top: 4px; |
| } |
|
|
| .chart-tile { |
| display: flex; |
| flex-direction: column; |
| min-width: 0; |
| min-height: 0; |
| } |
|
|
| .chart-tile__head h3 { |
| margin: 0 0 2px; |
| font-size: 0.85rem; |
| font-weight: 700; |
| letter-spacing: -0.02em; |
| } |
|
|
| .chart-tile__head p { |
| margin: 0; |
| font-size: 0.75rem; |
| color: var(--muted); |
| } |
|
|
| .chart-surface { |
| position: relative; |
| width: 100%; |
| height: var(--chart-h); |
| max-height: var(--chart-h); |
| min-height: var(--chart-h); |
| margin-top: 10px; |
| overflow: hidden; |
| border-radius: 10px; |
| background: rgba(0, 0, 0, 0.2); |
| border: 1px solid rgba(255, 255, 255, 0.04); |
| flex-shrink: 0; |
| contain: layout style; |
| } |
|
|
| |
| .chart-surface > *, |
| .chart-surface > div { |
| position: relative !important; |
| width: 100% !important; |
| height: 100% !important; |
| max-height: var(--chart-h) !important; |
| } |
|
|
| .chart-surface canvas { |
| display: block; |
| width: 100% !important; |
| height: 100% !important; |
| max-width: 100%; |
| max-height: var(--chart-h) !important; |
| } |
|
|
| .meters { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 16px; |
| } |
|
|
| .meter { |
| display: flex; |
| flex-direction: column; |
| gap: 6px; |
| } |
|
|
| .meter > span { |
| font-size: 0.65rem; |
| font-weight: 600; |
| letter-spacing: 0.1em; |
| text-transform: uppercase; |
| color: var(--muted); |
| } |
|
|
| .meter__track { |
| height: 8px; |
| border-radius: 999px; |
| background: rgba(255, 255, 255, 0.08); |
| overflow: hidden; |
| } |
|
|
| .meter__fill { |
| height: 100%; |
| width: 0%; |
| border-radius: inherit; |
| background: linear-gradient(90deg, var(--cyan), var(--violet)); |
| transition: width 0.2s ease; |
| } |
|
|
| .meter__fill--danger { |
| background: linear-gradient(90deg, var(--violet), var(--rose)); |
| } |
|
|
| .meter strong { |
| font-size: 1.2rem; |
| font-weight: 700; |
| } |
|
|
| .chat { |
| display: flex; |
| flex-direction: column; |
| gap: 10px; |
| } |
|
|
| .chat textarea { |
| min-height: 100px; |
| resize: vertical; |
| max-height: 320px; |
| } |
|
|
| .chat__meta { |
| margin: 12px 0 8px; |
| font-size: 0.85rem; |
| color: var(--muted); |
| } |
|
|
| .chat__out { |
| min-height: 100px; |
| padding: 16px 18px; |
| border-radius: 10px; |
| background: rgba(0, 0, 0, 0.25); |
| border: 1px solid rgba(255, 255, 255, 0.06); |
| color: rgba(248, 251, 255, 0.9); |
| line-height: 1.65; |
| overflow: auto; |
| max-height: 60dvh; |
| } |
|
|
| .prose h1, |
| .prose h2, |
| .prose h3 { |
| margin: 0.75em 0 0.35em; |
| letter-spacing: -0.03em; |
| } |
|
|
| .prose :first-child { |
| margin-top: 0; |
| } |
|
|
| .prose code, |
| .prose pre { |
| color: #c7f7ff; |
| } |
|
|
| @media (max-width: 800px) { |
| .train-form__row { |
| grid-template-columns: 1fr; |
| } |
|
|
| .btn { |
| justify-self: start; |
| width: fit-content; |
| } |
|
|
| .metric-strip, |
| .charts__grid, |
| .meters { |
| grid-template-columns: 1fr; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| :root { |
| --chart-h: 200px; |
| } |
| } |
|
|