- Simulations use historical team form when available and shrink sparse
- or stale samples toward transparent league priors.
-
+ Simulations use point-in-time historical team form when available.
+ Sparse or stale samples shrink toward transparent league priors.
+
-
-
◎
-
Your matchup appears here
-
Select two teams and run the engine to see scores, win probabilities, and uncertainty.
+
+
+
◎
+
Your matchup appears here
+
Select two teams and run Waterboy to see decimal scores, win probabilities, 80% intervals, model evidence, and the projected winner.
+
+
+
+
+
+
+
+
Read the engine correctly
+
Precision without pretense.
+
+
+ These boundaries are part of the product—not fine print. Waterboy is
+ designed to make a strong analytical result easy to use and hard to
+ overstate.
+
+
+
+
+ Why are projected scores decimals?
+ A projection is the mean across thousands of integer-score simulations. Showing one decimal preserves the model’s expected value instead of discarding signal through premature rounding.
+
+
+ How is the projected winner selected?
+ The check mark goes to the team with the greater simulated win probability. If the probabilities are equal, neither team is marked.
+
+
+ What happens during live or final games?
+ Live and final cards display observed integer scores. Waterboy intentionally withholds its pregame projection during an in-progress game so an observation is never mislabeled as a forecast.
+
+
+ What data is not yet included?
+ The current model does not ingest live rosters, injuries, confirmed starters, probable pitchers, coaching changes, travel, officials, or forecast weather. Those remain explicit limitations.
+
+
+ Does a green quality gate prove forecast supremacy?
+ No. Tests, replay checks, and reference anchors establish software behavior. Predictive superiority requires prospective, point-in-time, independently governed calibration evidence.
+
+
+ Can Waterboy place a wager or move money?
+ No. It contains no sportsbook, brokerage, order, or capital-execution interface. Simulation authority and execution authority are intentionally separate.
+
+
+
- Simulations are research outputs—not guarantees, wagering advice, or certified forecasts.
- Inspect the API contract .
+ Simulations are research outputs—not guarantees, wagering advice, or
+ certified forecasts. Predictive claims remain provisional until supported
+ by prospective point-in-time evidence.
WATERBOY · v0.4.0
diff --git a/src/universal_sports_engine/web/static/styles.css b/src/universal_sports_engine/web/static/styles.css
index 1922845..3448071 100644
--- a/src/universal_sports_engine/web/static/styles.css
+++ b/src/universal_sports_engine/web/static/styles.css
@@ -1,63 +1,105 @@
:root {
- --ink: #f4f3ed;
- --muted: #9ca7ad;
- --dim: #66727a;
- --surface: #11191d;
- --surface-raised: #172227;
- --surface-soft: #1d2a30;
- --line: rgba(255, 255, 255, 0.10);
+ --ink: #f5f7f2;
+ --muted: #9aa8ae;
+ --dim: #67757c;
+ --black: #081013;
+ --surface: #10191d;
+ --surface-raised: #162227;
+ --surface-soft: #1c2a30;
+ --surface-bright: #22343b;
+ --line: rgba(255, 255, 255, 0.105);
+ --line-strong: rgba(255, 255, 255, 0.18);
--accent: #b9ff5a;
- --accent-soft: rgba(185, 255, 90, 0.12);
+ --accent-deep: #8ee130;
+ --accent-soft: rgba(185, 255, 90, 0.11);
--cyan: #74e8ff;
+ --cyan-soft: rgba(116, 232, 255, 0.1);
+ --orange: #ffc06b;
--danger: #ff7b69;
- --radius: 18px;
- font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
+ --radius: 20px;
+ --radius-small: 14px;
+ --page: min(1280px, calc(100% - 3rem));
color: var(--ink);
- background: #0b1215;
+ background: var(--black);
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-synthesis: none;
}
* { box-sizing: border-box; }
-html { scroll-behavior: smooth; }
+
+html {
+ scroll-behavior: smooth;
+ scroll-padding-top: 90px;
+}
+
body {
- margin: 0;
min-width: 320px;
min-height: 100vh;
+ margin: 0;
+ overflow-x: hidden;
background:
- radial-gradient(circle at 72% -10%, rgba(116, 232, 255, 0.12), transparent 31rem),
- radial-gradient(circle at 12% 24%, rgba(185, 255, 90, 0.06), transparent 25rem),
- #0b1215;
+ radial-gradient(circle at 78% -4%, rgba(116, 232, 255, 0.11), transparent 34rem),
+ radial-gradient(circle at 9% 14%, rgba(185, 255, 90, 0.07), transparent 30rem),
+ linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
+ linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
+ var(--black);
+ background-size: auto, auto, 64px 64px, 64px 64px, auto;
+}
+
+body::before {
+ position: fixed;
+ inset: 0;
+ z-index: -1;
+ content: "";
+ pointer-events: none;
+ background: linear-gradient(180deg, transparent 0, rgba(8,16,19,.55) 34rem, var(--black) 78rem);
}
-button, select, input { font: inherit; }
-button, a { -webkit-tap-highlight-color: transparent; }
+button,
+select,
+input { font: inherit; }
+
+button,
+a { -webkit-tap-highlight-color: transparent; }
+
a { color: inherit; }
+button:focus-visible,
+a:focus-visible,
+select:focus-visible,
+input:focus-visible,
+summary:focus-visible {
+ outline: 2px solid var(--accent);
+ outline-offset: 3px;
+}
+
.skip-link {
position: fixed;
- left: 1rem;
top: -4rem;
- z-index: 50;
- padding: .7rem 1rem;
- border-radius: .5rem;
- color: #091014;
+ left: 1rem;
+ z-index: 100;
+ padding: .75rem 1rem;
+ border-radius: .6rem;
+ color: var(--black);
background: var(--accent);
+ font-weight: 800;
}
+
.skip-link:focus { top: 1rem; }
.topbar {
position: sticky;
top: 0;
- z-index: 30;
- display: flex;
+ z-index: 50;
+ display: grid;
+ grid-template-columns: auto 1fr auto;
align-items: center;
- justify-content: space-between;
- gap: 1rem;
+ gap: 1.4rem;
min-height: 76px;
- padding: .75rem max(1.25rem, calc((100vw - 1220px) / 2));
+ padding: .7rem max(1.5rem, calc((100vw - 1380px) / 2));
border-bottom: 1px solid var(--line);
- background: rgba(11, 18, 21, .88);
- backdrop-filter: blur(18px);
+ background: rgba(8, 16, 19, .86);
+ backdrop-filter: blur(22px) saturate(1.2);
}
.brand {
@@ -67,46 +109,87 @@ a { color: inherit; }
color: var(--ink);
text-decoration: none;
}
+
.brand-mark {
display: grid;
place-items: center;
width: 42px;
height: 42px;
+ flex: 0 0 auto;
border-radius: 12px;
- color: #0b1215;
+ color: var(--black);
background: var(--accent);
- font-weight: 900;
- font-size: 1.3rem;
- box-shadow: 0 0 28px rgba(185, 255, 90, .18);
+ box-shadow: 0 0 32px rgba(185, 255, 90, .19);
+ font-size: 1.25rem;
+ font-weight: 950;
+}
+
+.brand strong,
+.brand small {
+ display: block;
+}
+
+.brand strong {
+ font-size: .98rem;
+ letter-spacing: .01em;
}
-.brand strong, .brand small { display: block; }
-.brand strong { font-size: .98rem; letter-spacing: .01em; }
+
.brand small {
margin-top: .08rem;
color: var(--muted);
- font-size: .7rem;
+ font-size: .63rem;
+ font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
}
-.topbar-actions { display: flex; align-items: center; gap: .75rem; }
+
+.topnav {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 1.5rem;
+}
+
+.topnav a {
+ color: var(--muted);
+ font-size: .71rem;
+ font-weight: 750;
+ text-decoration: none;
+ transition: color .15s ease;
+}
+
+.topnav a:hover { color: var(--ink); }
+
+.topbar-actions {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ gap: .65rem;
+}
+
.health-pill {
display: inline-flex;
align-items: center;
- gap: .55rem;
+ gap: .5rem;
+ margin-right: .25rem;
color: var(--muted);
- font-size: .78rem;
+ font-size: .7rem;
+ white-space: nowrap;
}
+
.status-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--dim);
- box-shadow: 0 0 0 4px rgba(102, 114, 122, .12);
+ box-shadow: 0 0 0 4px rgba(103, 117, 124, .12);
}
+
.health-pill.is-healthy .status-dot {
background: var(--accent);
box-shadow: 0 0 0 4px rgba(185, 255, 90, .12);
}
+
.health-pill.is-error .status-dot {
background: var(--danger);
box-shadow: 0 0 0 4px rgba(255, 123, 105, .12);
@@ -124,190 +207,1413 @@ a { color: inherit; }
color: var(--ink);
background: transparent;
cursor: pointer;
- font-weight: 700;
- font-size: .82rem;
- transition: transform .15s ease, border-color .15s ease, background .15s ease;
+ font-size: .78rem;
+ font-weight: 800;
+ line-height: 1;
+ text-decoration: none;
+ transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
+}
+
+.button:hover {
+ transform: translateY(-1px);
+ border-color: var(--line-strong);
+}
+
+.button:disabled {
+ cursor: wait;
+ opacity: .55;
+ transform: none;
}
-.button:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.25); }
-.button:disabled { cursor: wait; opacity: .55; transform: none; }
+
.button-quiet { background: rgba(255,255,255,.035); }
+
.button-primary {
- min-height: 50px;
border-color: var(--accent);
- color: #0a120c;
+ color: #081009;
background: var(--accent);
- box-shadow: 0 12px 34px rgba(185, 255, 90, .14);
+ box-shadow: 0 14px 38px rgba(185, 255, 90, .14);
+}
+
+.button-primary:hover {
+ border-color: #d3ff94;
+ background: #c6ff76;
+ box-shadow: 0 18px 42px rgba(185, 255, 90, .2);
+}
+
+.button-secondary {
+ border-color: rgba(116,232,255,.24);
+ background: rgba(116,232,255,.05);
+}
+
+.button-large {
+ min-height: 52px;
+ padding: .85rem 1.15rem;
+ font-size: .83rem;
}
main {
- width: min(1220px, calc(100% - 2.5rem));
+ width: var(--page);
margin: 0 auto;
}
-.hero {
- display: grid;
- grid-template-columns: minmax(0, 1.5fr) minmax(330px, .9fr);
- align-items: end;
- gap: 3rem;
- min-height: 390px;
- padding: 5rem 0 3.3rem;
-}
+
.eyebrow {
- margin: 0 0 .8rem;
+ margin: 0 0 .85rem;
color: var(--accent);
- font-size: .68rem;
- font-weight: 800;
- letter-spacing: .16em;
+ font-size: .65rem;
+ font-weight: 850;
+ letter-spacing: .17em;
text-transform: uppercase;
}
-h1, h2, h3, p { margin-top: 0; }
+
+h1,
+h2,
+h3,
+p { margin-top: 0; }
+
h1 {
- max-width: 760px;
- margin-bottom: 1.15rem;
- font-size: clamp(3.1rem, 7vw, 6.4rem);
- line-height: .88;
- letter-spacing: -.065em;
+ max-width: 890px;
+ margin-bottom: 1.35rem;
+ font-size: clamp(3.6rem, 7vw, 7rem);
+ line-height: .86;
+ letter-spacing: -.073em;
+}
+
+h1 span,
+.section-lead h2 span { color: var(--cyan); }
+
+h2 {
+ margin-bottom: 0;
+ font-size: clamp(2.2rem, 4.4vw, 4.4rem);
+ line-height: .98;
+ letter-spacing: -.058em;
}
-h1 span { color: var(--cyan); }
+
+h3 { letter-spacing: -.025em; }
+
+.launch-hero {
+ display: grid;
+ grid-template-columns: minmax(0, 1.35fr) minmax(390px, .65fr);
+ align-items: center;
+ gap: 4.5rem;
+ min-height: 740px;
+ padding: 6.5rem 0 5rem;
+}
+
.hero-copy {
- max-width: 650px;
+ max-width: 760px;
margin-bottom: 0;
color: var(--muted);
- font-size: clamp(.98rem, 1.4vw, 1.12rem);
- line-height: 1.65;
+ font-size: clamp(1rem, 1.4vw, 1.17rem);
+ line-height: 1.72;
}
-.hero-metrics {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: var(--radius);
- background: rgba(17, 25, 29, .8);
+
+.hero-actions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: .7rem;
+ margin-top: 2rem;
}
-.hero-metrics article {
- min-height: 120px;
- padding: 1.3rem;
- border-right: 1px solid var(--line);
+
+.trust-rail {
+ display: flex;
+ flex-wrap: wrap;
+ gap: .7rem 1.3rem;
+ margin-top: 2.2rem;
+ color: var(--muted);
+ font-size: .67rem;
+ font-weight: 700;
}
-.hero-metrics article:last-child { border-right: 0; }
-.hero-metrics span, .hero-metrics small { display: block; }
-.hero-metrics span {
- margin-bottom: .9rem;
- font-size: clamp(1.8rem, 3vw, 2.7rem);
- font-weight: 850;
- letter-spacing: -.04em;
+
+.trust-rail span {
+ display: inline-flex;
+ align-items: center;
+ gap: .45rem;
}
-.hero-metrics small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
-.showcase {
- margin-bottom: 4.5rem;
- padding: 2rem;
- border: 1px solid var(--line);
+.trust-rail i {
+ color: var(--accent);
+ font-size: .58rem;
+ font-style: normal;
+ letter-spacing: .06em;
+}
+
+.hero-console {
+ position: relative;
+ overflow: hidden;
+ border: 1px solid var(--line-strong);
border-radius: 24px;
background:
- linear-gradient(135deg, rgba(185, 255, 90, .055), transparent 42%),
- linear-gradient(315deg, rgba(116, 232, 255, .05), transparent 38%),
- rgba(17, 25, 29, .76);
- box-shadow: 0 28px 90px rgba(0, 0, 0, .2);
+ radial-gradient(circle at 85% 8%, rgba(116,232,255,.12), transparent 15rem),
+ linear-gradient(150deg, rgba(28,42,48,.94), rgba(10,17,20,.96));
+ box-shadow: 0 35px 100px rgba(0,0,0,.34);
}
-.showcase-heading {
- display: grid;
- grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
- align-items: end;
- gap: 2rem;
- margin-bottom: 2rem;
+
+.hero-console::after {
+ position: absolute;
+ inset: 0;
+ content: "";
+ pointer-events: none;
+ background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.025) 50%, transparent 75%);
}
-.showcase-heading h2 { max-width: 760px; }
-.showcase-heading > p {
- margin-bottom: .2rem;
+
+.console-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 1rem;
+ padding: 1rem 1.1rem;
+ border-bottom: 1px solid var(--line);
color: var(--muted);
- line-height: 1.6;
+ font-size: .55rem;
+ font-weight: 800;
+ letter-spacing: .13em;
}
-.engine-flow {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr) auto) minmax(0, 1fr);
- align-items: stretch;
- gap: .65rem;
+
+.console-header div {
+ display: flex;
+ align-items: center;
+ gap: .55rem;
}
-.engine-flow article {
- min-height: 155px;
- padding: 1rem;
- border: 1px solid var(--line);
- border-radius: 15px;
- background: rgba(7, 13, 16, .5);
+
+.console-header strong {
+ color: var(--ink);
+ font-size: .69rem;
+ letter-spacing: .03em;
}
-.engine-flow article span,
-.engine-flow article strong,
-.engine-flow article small { display: block; }
-.engine-flow article span {
- margin-bottom: 1.15rem;
+
+.console-light {
+ width: 7px;
+ height: 7px;
+ border-radius: 50%;
+ background: var(--accent);
+ box-shadow: 0 0 14px rgba(185,255,90,.55);
+}
+
+.console-score { padding: 1.2rem 1.2rem .9rem; }
+
+.console-label {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 1rem;
+ margin-bottom: .6rem;
color: var(--accent);
- font-size: .62rem;
+ font-size: .58rem;
font-weight: 850;
- letter-spacing: .14em;
+ letter-spacing: .08em;
+ text-transform: uppercase;
}
-.engine-flow article strong { margin-bottom: .55rem; font-size: .92rem; }
-.engine-flow article small { color: var(--muted); font-size: .68rem; line-height: 1.5; }
-.engine-flow i {
- align-self: center;
+
+.console-label small {
color: var(--dim);
- font-style: normal;
+ font-size: .52rem;
}
-.proof-grid {
+
+.console-team {
display: grid;
- grid-template-columns: repeat(4, 1fr);
- gap: .65rem;
- margin-top: .65rem;
+ grid-template-columns: minmax(0, 1fr) auto;
+ align-items: center;
+ gap: 1rem;
+ padding: .92rem 0;
+ border-bottom: 1px solid var(--line);
}
-.proof-grid article {
- padding: 1rem;
- border-radius: 14px;
- background: rgba(255,255,255,.025);
+
+.console-team div > * { display: block; }
+
+.console-team small {
+ margin-bottom: .24rem;
+ color: var(--dim);
+ font-size: .52rem;
+ font-weight: 850;
+ letter-spacing: .12em;
}
-.proof-grid strong, .proof-grid span { display: block; }
-.proof-grid strong {
- margin-bottom: .25rem;
- color: var(--cyan);
- font-size: 1.45rem;
- letter-spacing: -.04em;
+
+.console-team strong {
+ margin-bottom: .28rem;
+ font-size: .89rem;
}
-.proof-grid span { color: var(--muted); font-size: .65rem; line-height: 1.35; }
-.mode-tabs {
+.console-team div > span {
+ color: var(--muted);
+ font-size: .6rem;
+}
+
+.console-team b {
+ font-size: 2.35rem;
+ letter-spacing: -.07em;
+}
+
+.console-distribution {
display: flex;
- align-items: center;
- gap: .2rem;
- border-bottom: 1px solid var(--line);
+ align-items: end;
+ gap: 4px;
+ height: 54px;
+ margin: 1rem 0 .65rem;
}
-.mode-tab {
- position: relative;
- padding: 1rem .9rem;
- border: 0;
+
+.console-distribution span {
+ flex: 1;
+ min-width: 2px;
+ border-radius: 3px 3px 0 0;
+ background: rgba(116,232,255,.24);
+}
+
+.console-distribution span:nth-child(1) { height: 24%; }
+.console-distribution span:nth-child(2) { height: 38%; }
+.console-distribution span:nth-child(3) { height: 58%; }
+.console-distribution span:nth-child(4) { height: 83%; }
+.console-distribution span:nth-child(5) { height: 100%; }
+.console-distribution span:nth-child(6) { height: 88%; }
+.console-distribution span:nth-child(7) { height: 68%; }
+.console-distribution span:nth-child(8) { height: 42%; }
+.console-distribution span:nth-child(9) { height: 25%; }
+.console-distribution span:nth-child(10) { height: 12%; }
+
+.console-distribution span.is-peak { background: var(--cyan); }
+
+.console-score > p {
+ margin: 0;
+ color: var(--dim);
+ font-size: .53rem;
+ line-height: 1.45;
+}
+
+.console-trace {
+ margin: 0;
+ padding: .1rem 1.2rem 1.2rem;
+}
+
+.console-trace div {
+ display: grid;
+ grid-template-columns: 90px minmax(0, 1fr);
+ gap: .7rem;
+ padding: .52rem 0;
+ border-top: 1px solid var(--line);
+ font-size: .57rem;
+}
+
+.console-trace dt { color: var(--dim); }
+
+.console-trace dd {
+ overflow: hidden;
+ margin: 0;
color: var(--muted);
- background: transparent;
- cursor: pointer;
- font-weight: 750;
- font-size: .85rem;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.proof-band {
+ display: grid;
+ grid-template-columns: 1.45fr repeat(5, 1fr);
+ overflow: hidden;
+ margin-bottom: 8rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background: rgba(16,25,29,.78);
+ box-shadow: 0 22px 65px rgba(0,0,0,.18);
+}
+
+.proof-band > * {
+ min-height: 118px;
+ padding: 1.25rem;
+ border-right: 1px solid var(--line);
+}
+
+.proof-band > *:last-child { border-right: 0; }
+
+.proof-intro {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ background: linear-gradient(140deg, var(--accent-soft), transparent);
+}
+
+.proof-intro span {
+ color: var(--accent);
+ font-size: .59rem;
+ font-weight: 850;
+ letter-spacing: .14em;
+}
+
+.proof-intro small {
+ color: var(--muted);
+ font-size: .61rem;
+ line-height: 1.4;
+}
+
+.proof-band article {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
}
+
+.proof-band article strong {
+ font-size: clamp(1.5rem, 2.4vw, 2.35rem);
+ letter-spacing: -.05em;
+}
+
+.proof-band article span {
+ color: var(--muted);
+ font-size: .63rem;
+}
+
+.presentation-section {
+ padding: 7.5rem 0;
+ border-top: 1px solid var(--line);
+}
+
+.section-lead {
+ display: grid;
+ grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
+ align-items: end;
+ gap: 4rem;
+ margin-bottom: 3.5rem;
+}
+
+.section-lead > p {
+ max-width: 480px;
+ margin-bottom: .25rem;
+ color: var(--muted);
+ font-size: .9rem;
+ line-height: 1.72;
+}
+
+.capability-grid {
+ display: grid;
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ grid-auto-flow: dense;
+ gap: .8rem;
+}
+
+.capability-card {
+ display: flex;
+ min-height: 270px;
+ flex-direction: column;
+ padding: 1.35rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background:
+ linear-gradient(145deg, rgba(255,255,255,.025), transparent 55%),
+ rgba(16,25,29,.84);
+ transition: transform .18s ease, border-color .18s ease;
+}
+
+.capability-card:hover {
+ transform: translateY(-3px);
+ border-color: rgba(185,255,90,.28);
+}
+
+.capability-card-large {
+ grid-column: span 2;
+ grid-row: span 2;
+ min-height: 550px;
+ justify-content: flex-end;
+ background:
+ radial-gradient(circle at 75% 15%, rgba(185,255,90,.13), transparent 19rem),
+ linear-gradient(145deg, rgba(116,232,255,.05), transparent 55%),
+ rgba(16,25,29,.9);
+}
+
+.capability-card-wide {
+ display: grid;
+ grid-template-columns: 1.25fr .75fr;
+ align-items: end;
+ gap: 2rem;
+ grid-column: 1 / -1;
+ min-height: 270px;
+}
+
+.capability-card-wide .card-index { grid-column: 1 / -1; }
+
+.card-index {
+ display: block;
+ margin-bottom: auto;
+ color: var(--accent);
+ font-size: .58rem;
+ font-weight: 850;
+ letter-spacing: .14em;
+}
+
+.card-icon {
+ display: grid;
+ place-items: center;
+ width: 42px;
+ height: 42px;
+ margin-bottom: auto;
+ border: 1px solid rgba(116,232,255,.2);
+ border-radius: 12px;
+ color: var(--cyan);
+ background: var(--cyan-soft);
+ font-size: 1.25rem;
+ font-weight: 850;
+}
+
+.capability-card h3 {
+ max-width: 650px;
+ margin: 1.2rem 0 .7rem;
+ font-size: 1.18rem;
+ line-height: 1.15;
+}
+
+.capability-card-large h3 {
+ font-size: clamp(2rem, 3.6vw, 3.5rem);
+ letter-spacing: -.055em;
+}
+
+.capability-card p {
+ margin-bottom: 0;
+ color: var(--muted);
+ font-size: .78rem;
+ line-height: 1.65;
+}
+
+.capability-card-large p {
+ max-width: 660px;
+ font-size: .93rem;
+}
+
+.capability-card > small {
+ display: block;
+ margin-top: auto;
+ padding-top: 1.1rem;
+ color: var(--dim);
+ font-size: .61rem;
+ line-height: 1.45;
+}
+
+.mini-stat-row {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: .5rem;
+ margin-top: 2rem;
+}
+
+.mini-stat-row span {
+ padding: .9rem;
+ border: 1px solid var(--line);
+ border-radius: 12px;
+ color: var(--muted);
+ background: rgba(0,0,0,.13);
+ font-size: .61rem;
+}
+
+.mini-stat-row b {
+ display: block;
+ margin-bottom: .2rem;
+ color: var(--cyan);
+ font-size: 1rem;
+}
+
+.authority-meter span {
+ display: block;
+ overflow: hidden;
+ height: 6px;
+ margin: .75rem 0 .45rem;
+ border-radius: 999px;
+ background: var(--surface-soft);
+}
+
+.authority-meter i {
+ display: block;
+ height: 100%;
+ border-radius: inherit;
+ background: var(--accent);
+}
+
+.authority-meter i.is-enabled { width: 100%; }
+.authority-meter i.is-disabled { width: 0; }
+
+.authority-meter small {
+ display: block;
+ color: var(--muted);
+ font-size: .58rem;
+}
+
+.pipeline-steps {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: .8rem;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.pipeline-steps > li {
+ display: grid;
+ grid-template-columns: auto 1fr;
+ gap: 1rem;
+ min-height: 330px;
+ padding: 1.35rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background:
+ radial-gradient(circle at 100% 0, rgba(116,232,255,.055), transparent 14rem),
+ rgba(16,25,29,.8);
+}
+
+.pipeline-number {
+ display: grid;
+ place-items: center;
+ width: 38px;
+ height: 38px;
+ border-radius: 11px;
+ color: var(--black);
+ background: var(--accent);
+ font-size: .65rem;
+ font-weight: 900;
+}
+
+.pipeline-steps li > div > small {
+ color: var(--cyan);
+ font-size: .55rem;
+ font-weight: 850;
+ letter-spacing: .14em;
+}
+
+.pipeline-steps h3 {
+ margin: .65rem 0 .65rem;
+ font-size: 1.12rem;
+}
+
+.pipeline-steps p {
+ color: var(--muted);
+ font-size: .73rem;
+ line-height: 1.6;
+}
+
+.pipeline-steps ul {
+ margin: 1rem 0 0;
+ padding: 0;
+ color: var(--muted);
+ font-size: .65rem;
+ line-height: 1.8;
+ list-style: none;
+}
+
+.pipeline-steps li li::before {
+ margin-right: .5rem;
+ color: var(--accent);
+ content: "·";
+}
+
+.architecture-layout {
+ display: grid;
+ grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
+ gap: .8rem;
+ margin-top: .8rem;
+}
+
+.architecture-stack,
+.model-deep-dive {
+ padding: 1.5rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background: rgba(16,25,29,.82);
+}
+
+.architecture-title {
+ display: flex;
+ justify-content: space-between;
+ gap: 1rem;
+ margin-bottom: 1.35rem;
+}
+
+.architecture-title span {
+ color: var(--accent);
+ font-size: .58rem;
+ font-weight: 850;
+ letter-spacing: .14em;
+}
+
+.architecture-title strong { font-size: .8rem; }
+
+.stack-layer {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: .5rem;
+ padding: .9rem;
+ border: 1px solid var(--line);
+ border-radius: 12px;
+ background: rgba(255,255,255,.025);
+}
+
+.stack-layer small {
+ min-width: 105px;
+ color: var(--dim);
+ font-size: .54rem;
+ font-weight: 850;
+ letter-spacing: .11em;
+}
+
+.stack-layer span {
+ padding: .38rem .55rem;
+ border-radius: 7px;
+ color: var(--muted);
+ background: rgba(255,255,255,.045);
+ font-size: .6rem;
+}
+
+.stack-interface { border-color: rgba(116,232,255,.16); }
+.stack-leagues { border-color: rgba(185,255,90,.18); }
+.stack-core { background: rgba(185,255,90,.055); }
+
+.stack-arrow {
+ padding: .25rem 0;
+ color: var(--dim);
+ text-align: center;
+ font-size: .75rem;
+}
+
+.model-deep-dive {
+ display: flex;
+ flex-direction: column;
+ background:
+ radial-gradient(circle at 85% 10%, rgba(185,255,90,.1), transparent 17rem),
+ rgba(16,25,29,.85);
+}
+
+.model-deep-dive h3 {
+ margin: 0 0 .8rem;
+ font-size: clamp(1.8rem, 3vw, 2.8rem);
+ line-height: 1;
+ letter-spacing: -.05em;
+}
+
+.model-deep-dive > p:not(.eyebrow) {
+ color: var(--muted);
+ font-size: .78rem;
+ line-height: 1.65;
+}
+
+.model-equation {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: .45rem;
+ margin: 1rem 0;
+ padding: 1rem;
+ border: 1px solid var(--line);
+ border-radius: 13px;
+ background: rgba(0,0,0,.16);
+}
+
+.model-equation span {
+ padding: .4rem .55rem;
+ border-radius: 7px;
+ color: var(--cyan);
+ background: var(--cyan-soft);
+ font-size: .57rem;
+}
+
+.model-equation b {
+ color: var(--dim);
+ font-size: .65rem;
+}
+
+.model-facts {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: .5rem;
+ margin: auto 0 0;
+}
+
+.model-facts div {
+ padding: .8rem;
+ border-top: 1px solid var(--line);
+}
+
+.model-facts dt {
+ margin-bottom: .25rem;
+ color: var(--ink);
+ font-size: .63rem;
+ font-weight: 800;
+}
+
+.model-facts dd {
+ margin: 0;
+ color: var(--muted);
+ font-size: .57rem;
+ line-height: 1.45;
+}
+
+.provenance-chain {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: .7rem;
+ margin-top: .8rem;
+ padding: 1.15rem;
+ overflow-x: auto;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background: rgba(16,25,29,.72);
+ white-space: nowrap;
+}
+
+.provenance-chain span {
+ padding: .5rem .65rem;
+ border-radius: 8px;
+ color: var(--muted);
+ background: rgba(255,255,255,.035);
+ font-size: .61rem;
+ font-weight: 750;
+}
+
+.provenance-chain i {
+ color: var(--accent);
+ font-size: .7rem;
+ font-style: normal;
+}
+
+.anatomy-layout {
+ display: grid;
+ grid-template-columns: minmax(420px, .92fr) minmax(0, 1.08fr);
+ gap: 1rem;
+}
+
+.anatomy-card {
+ align-self: start;
+ overflow: hidden;
+ padding: 1.5rem;
+ border: 1px solid var(--line-strong);
+ border-radius: 24px;
+ background:
+ radial-gradient(circle at 88% 10%, rgba(116,232,255,.1), transparent 18rem),
+ linear-gradient(145deg, var(--surface-soft), var(--surface));
+ box-shadow: 0 28px 80px rgba(0,0,0,.25);
+}
+
+.anatomy-topline {
+ display: flex;
+ justify-content: space-between;
+ gap: 1rem;
+ padding-bottom: 1rem;
+ color: var(--muted);
+ font-size: .55rem;
+ font-weight: 850;
+ letter-spacing: .1em;
+}
+
+.anatomy-topline span:first-child { color: var(--accent); }
+
+.anatomy-team {
+ display: grid;
+ grid-template-columns: minmax(0,1fr) auto auto;
+ align-items: center;
+ gap: 1rem;
+ padding: 1.15rem 0;
+ border-top: 1px solid var(--line);
+}
+
+.anatomy-team div > * { display: block; }
+
+.anatomy-team small {
+ margin-bottom: .3rem;
+ color: var(--dim);
+ font-size: .55rem;
+ font-weight: 850;
+ letter-spacing: .1em;
+}
+
+.anatomy-team strong { font-size: .98rem; }
+
+.anatomy-win {
+ color: var(--muted);
+ font-size: .72rem;
+ font-variant-numeric: tabular-nums;
+}
+
+.anatomy-team > b {
+ min-width: 68px;
+ text-align: right;
+ font-size: 2.8rem;
+ letter-spacing: -.07em;
+}
+
+.anatomy-range {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: .55rem;
+ margin-top: .75rem;
+}
+
+.anatomy-range div {
+ padding: .85rem;
+ border: 1px solid var(--line);
+ border-radius: 11px;
+ background: rgba(0,0,0,.12);
+}
+
+.anatomy-range strong,
+.anatomy-range small { display: block; }
+
+.anatomy-range strong {
+ margin-bottom: .28rem;
+ font-size: 1.05rem;
+}
+
+.anatomy-range small {
+ color: var(--muted);
+ font-size: .55rem;
+}
+
+.anatomy-interval {
+ margin: 1.35rem 0 1rem;
+}
+
+.anatomy-interval > span {
+ display: block;
+ margin-bottom: .6rem;
+ color: var(--muted);
+ font-size: .58rem;
+ font-weight: 750;
+}
+
+.anatomy-interval > div {
+ position: relative;
+ height: 7px;
+ border-radius: 999px;
+ background: var(--surface-bright);
+}
+
+.anatomy-interval i {
+ position: absolute;
+ top: 0;
+ left: 17%;
+ width: 64%;
+ height: 100%;
+ border-radius: inherit;
+ background: linear-gradient(90deg, var(--cyan), var(--accent));
+}
+
+.anatomy-interval b {
+ position: absolute;
+ top: 50%;
+ left: 48%;
+ width: 12px;
+ height: 12px;
+ border: 3px solid var(--surface);
+ border-radius: 50%;
+ background: var(--accent);
+ transform: translate(-50%, -50%);
+}
+
+.anatomy-interval > small {
+ display: flex;
+ justify-content: space-between;
+ margin-top: .45rem;
+ color: var(--dim);
+ font-size: .52rem;
+}
+
+.anatomy-footer {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: .8rem;
+ padding-top: .9rem;
+ border-top: 1px solid var(--line);
+ color: var(--dim);
+ font-size: .53rem;
+}
+
+.anatomy-notes {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: .65rem;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.anatomy-notes li {
+ display: grid;
+ grid-template-columns: auto 1fr;
+ gap: .8rem;
+ min-height: 180px;
+ padding: 1.1rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius-small);
+ background: rgba(16,25,29,.76);
+}
+
+.anatomy-notes li > span {
+ color: var(--accent);
+ font-size: .59rem;
+ font-weight: 900;
+}
+
+.anatomy-notes strong {
+ display: block;
+ margin-bottom: .5rem;
+ font-size: .82rem;
+}
+
+.anatomy-notes p {
+ margin: 0;
+ color: var(--muted);
+ font-size: .66rem;
+ line-height: 1.55;
+}
+
+.league-showcase-grid {
+ display: grid;
+ grid-template-columns: repeat(12, minmax(0, 1fr));
+ gap: .75rem;
+}
+
+.league-showcase-grid > article {
+ display: flex;
+ grid-column: span 3;
+ min-height: 330px;
+ flex-direction: column;
+ padding: 1.25rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background:
+ linear-gradient(145deg, rgba(116,232,255,.035), transparent 50%),
+ rgba(16,25,29,.82);
+ transition: border-color .18s ease, transform .18s ease;
+}
+
+.league-showcase-grid > article:nth-child(n+5) { grid-column: span 4; }
+
+.league-showcase-grid > article:hover {
+ transform: translateY(-3px);
+ border-color: rgba(116,232,255,.28);
+}
+
+.league-card-top {
+ display: grid;
+ grid-template-columns: auto 1fr auto;
+ align-items: center;
+ gap: .7rem;
+ margin-bottom: auto;
+}
+
+.league-card-top span {
+ display: grid;
+ place-items: center;
+ width: 30px;
+ height: 30px;
+ border-radius: 8px;
+ color: var(--black);
+ background: var(--accent);
+ font-size: .55rem;
+ font-weight: 900;
+}
+
+.league-card-top b {
+ font-size: .9rem;
+ letter-spacing: .04em;
+}
+
+.league-card-top small {
+ color: var(--dim);
+ font-size: .5rem;
+ font-weight: 850;
+ letter-spacing: .13em;
+}
+
+.league-showcase-grid h3 {
+ margin: 2rem 0 .7rem;
+ font-size: 1.25rem;
+}
+
+.league-showcase-grid p {
+ margin-bottom: 1.6rem;
+ color: var(--muted);
+ font-size: .69rem;
+ line-height: 1.62;
+}
+
+.league-showcase-grid article > div:last-child {
+ margin-top: auto;
+ padding-top: .8rem;
+ border-top: 1px solid var(--line);
+}
+
+.league-showcase-grid article > div:last-child span,
+.league-showcase-grid article > div:last-child strong {
+ display: block;
+}
+
+.league-showcase-grid article > div:last-child span {
+ margin-bottom: .28rem;
+ color: var(--dim);
+ font-size: .54rem;
+}
+
+.league-showcase-grid article > div:last-child strong {
+ color: var(--cyan);
+ font-size: .59rem;
+ font-weight: 750;
+}
+
+.evidence-grid {
+ display: grid;
+ grid-template-columns: 1.05fr .95fr;
+ gap: .8rem;
+}
+
+.quality-panel,
+.fidelity-panel {
+ padding: 1.4rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background: rgba(16,25,29,.82);
+}
+
+.quality-numbers {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: .6rem;
+ margin: 1.6rem 0;
+}
+
+.quality-numbers div {
+ min-height: 145px;
+ padding: 1rem;
+ border: 1px solid var(--line);
+ border-radius: 13px;
+ background: rgba(255,255,255,.02);
+}
+
+.quality-numbers strong,
+.quality-numbers span,
+.quality-numbers small { display: block; }
+
+.quality-numbers strong {
+ margin-bottom: .55rem;
+ color: var(--cyan);
+ font-size: 2rem;
+ letter-spacing: -.05em;
+}
+
+.quality-numbers span {
+ font-size: .67rem;
+ font-weight: 750;
+}
+
+.quality-numbers small {
+ margin-top: .25rem;
+ color: var(--dim);
+ font-size: .56rem;
+}
+
+.quality-line {
+ display: flex;
+ justify-content: space-between;
+ gap: 1rem;
+ padding: .85rem 0;
+ border-top: 1px solid var(--line);
+ font-size: .62rem;
+}
+
+.quality-line span { color: var(--muted); }
+
+.fidelity-row {
+ display: grid;
+ grid-template-columns: auto 1fr auto;
+ align-items: center;
+ gap: .9rem;
+ padding: 1rem 0;
+ border-top: 1px solid var(--line);
+}
+
+.fidelity-panel > .card-index {
+ margin-bottom: 1.2rem;
+}
+
+.fidelity-row > b {
+ display: grid;
+ place-items: center;
+ width: 42px;
+ height: 42px;
+ border-radius: 12px;
+ color: var(--muted);
+ background: var(--surface-soft);
+ font-size: .72rem;
+}
+
+.fidelity-row.is-ready > b {
+ color: var(--black);
+ background: var(--accent);
+}
+
+.fidelity-row div > * { display: block; }
+
+.fidelity-row strong {
+ margin-bottom: .25rem;
+ font-size: .72rem;
+}
+
+.fidelity-row span {
+ color: var(--muted);
+ font-size: .58rem;
+ line-height: 1.4;
+}
+
+.fidelity-row > small {
+ color: var(--orange);
+ font-size: .52rem;
+ font-weight: 850;
+ letter-spacing: .09em;
+}
+
+.fidelity-row.is-ready > small { color: var(--accent); }
+
+.replay-story {
+ display: grid;
+ grid-template-columns: minmax(300px, .45fr) minmax(0, .55fr);
+ align-items: center;
+ gap: 3rem;
+ margin-top: .8rem;
+ padding: 2rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background:
+ radial-gradient(circle at 85% 50%, rgba(185,255,90,.08), transparent 25rem),
+ rgba(16,25,29,.78);
+}
+
+.replay-story h3 {
+ margin: 0 0 .8rem;
+ font-size: clamp(1.8rem, 3vw, 2.7rem);
+ line-height: 1;
+ letter-spacing: -.05em;
+}
+
+.replay-story > div:first-child > p:last-child {
+ margin: 0;
+ color: var(--muted);
+ font-size: .75rem;
+ line-height: 1.65;
+}
+
+.replay-chain {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: .4rem;
+}
+
+.replay-chain span {
+ display: flex;
+ min-height: 104px;
+ flex: 1;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: .8rem;
+ border: 1px solid var(--line);
+ border-radius: 12px;
+ color: var(--muted);
+ background: rgba(0,0,0,.13);
+ font-size: .57rem;
+ line-height: 1.4;
+}
+
+.replay-chain b {
+ color: var(--accent);
+ font-size: .55rem;
+}
+
+.replay-chain i {
+ color: var(--dim);
+ font-size: .6rem;
+ font-style: normal;
+}
+
+.workflow-steps {
+ display: grid;
+ grid-template-columns: repeat(5, minmax(0, 1fr));
+ gap: .6rem;
+}
+
+.workflow-steps article {
+ min-height: 225px;
+ padding: 1.1rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius-small);
+ background: rgba(16,25,29,.78);
+}
+
+.workflow-steps span {
+ display: block;
+ margin-bottom: 3rem;
+ color: var(--accent);
+ font-size: .6rem;
+ font-weight: 900;
+}
+
+.workflow-steps strong {
+ display: block;
+ margin-bottom: .55rem;
+ font-size: .77rem;
+}
+
+.workflow-steps p {
+ margin: 0;
+ color: var(--muted);
+ font-size: .62rem;
+ line-height: 1.55;
+}
+
+.api-presentation {
+ display: grid;
+ grid-template-columns: .78fr 1.22fr;
+ gap: 2.5rem;
+ margin-top: .8rem;
+ padding: 2rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius);
+ background:
+ radial-gradient(circle at 10% 20%, rgba(116,232,255,.08), transparent 22rem),
+ rgba(16,25,29,.82);
+}
+
+.api-copy h3 {
+ margin: 0 0 .75rem;
+ font-size: clamp(1.8rem, 3vw, 2.7rem);
+ line-height: 1;
+ letter-spacing: -.05em;
+}
+
+.api-copy > p:not(.eyebrow) {
+ color: var(--muted);
+ font-size: .75rem;
+ line-height: 1.65;
+}
+
+.api-copy .button { margin-top: .7rem; }
+
+.endpoint-list {
+ overflow: hidden;
+ border: 1px solid var(--line);
+ border-radius: 14px;
+ background: rgba(0,0,0,.14);
+}
+
+.endpoint-list div {
+ display: grid;
+ grid-template-columns: 54px minmax(0,1fr) minmax(120px,.8fr);
+ align-items: center;
+ gap: .75rem;
+ padding: .9rem;
+ border-bottom: 1px solid var(--line);
+}
+
+.endpoint-list div:last-child { border-bottom: 0; }
+
+.endpoint-list span {
+ color: var(--accent);
+ font-size: .54rem;
+ font-weight: 900;
+}
+
+.endpoint-list code {
+ overflow: hidden;
+ color: var(--ink);
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
+ font-size: .62rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.endpoint-list small {
+ color: var(--muted);
+ font-size: .56rem;
+ text-align: right;
+}
+
+.live-engine-section {
+ padding: 7.5rem 0 2rem;
+ border-top: 1px solid var(--line);
+}
+
+.live-engine-header {
+ display: grid;
+ grid-template-columns: 1fr auto;
+ align-items: end;
+ gap: 2rem;
+ margin-bottom: 3rem;
+}
+
+.live-summary {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(110px, 1fr));
+ overflow: hidden;
+ border: 1px solid var(--line);
+ border-radius: var(--radius-small);
+ background: rgba(16,25,29,.8);
+}
+
+.live-summary article {
+ padding: 1rem;
+ border-right: 1px solid var(--line);
+}
+
+.live-summary article:last-child { border-right: 0; }
+
+.live-summary span,
+.live-summary small { display: block; }
+
+.live-summary span {
+ margin-bottom: .6rem;
+ font-size: 1.7rem;
+ font-weight: 850;
+ letter-spacing: -.05em;
+}
+
+.live-summary small {
+ color: var(--muted);
+ font-size: .57rem;
+}
+
+.mode-tabs {
+ display: flex;
+ align-items: center;
+ gap: .2rem;
+ border-bottom: 1px solid var(--line);
+}
+
+.mode-tab {
+ position: relative;
+ padding: 1rem .9rem;
+ border: 0;
+ color: var(--muted);
+ background: transparent;
+ cursor: pointer;
+ font-size: .82rem;
+ font-weight: 750;
+}
+
.mode-tab::after {
position: absolute;
- left: .9rem;
right: .9rem;
bottom: -1px;
+ left: .9rem;
height: 2px;
content: "";
background: transparent;
}
+
.mode-tab.is-active { color: var(--ink); }
.mode-tab.is-active::after { background: var(--accent); }
+
.api-link {
margin-left: auto;
color: var(--muted);
- font-size: .78rem;
+ font-size: .73rem;
text-decoration: none;
}
+
.api-link:hover { color: var(--ink); }
.view-panel { padding: 3rem 0 5rem; }
+
.section-heading {
display: flex;
align-items: end;
@@ -315,12 +1621,14 @@ h1 span { color: var(--cyan); }
gap: 1rem;
margin-bottom: 1.8rem;
}
-h2 {
- margin-bottom: 0;
- font-size: clamp(1.9rem, 3.4vw, 3rem);
- letter-spacing: -.045em;
+
+.section-heading h2 { font-size: clamp(1.9rem, 3.4vw, 3rem); }
+
+.updated-text {
+ margin-bottom: .2rem;
+ color: var(--muted);
+ font-size: .72rem;
}
-.updated-text { margin-bottom: .2rem; color: var(--muted); font-size: .78rem; }
.league-strip {
display: flex;
@@ -329,6 +1637,7 @@ h2 {
padding-bottom: .8rem;
scrollbar-width: thin;
}
+
.league-chip {
display: flex;
align-items: center;
@@ -340,9 +1649,10 @@ h2 {
color: var(--muted);
background: rgba(255,255,255,.025);
cursor: pointer;
- font-size: .76rem;
+ font-size: .72rem;
font-weight: 700;
}
+
.league-chip b {
display: grid;
place-items: center;
@@ -352,16 +1662,23 @@ h2 {
border-radius: 999px;
color: var(--muted);
background: rgba(255,255,255,.07);
- font-size: .66rem;
+ font-size: .62rem;
}
-.league-chip:hover, .league-chip.is-active {
+
+.league-chip:hover,
+.league-chip.is-active {
border-color: rgba(185,255,90,.42);
color: var(--ink);
background: var(--accent-soft);
}
-.league-chip.is-active b { color: #10180f; background: var(--accent); }
-.loading-state, .empty-state {
+.league-chip.is-active b {
+ color: #10180f;
+ background: var(--accent);
+}
+
+.loading-state,
+.empty-state {
display: flex;
align-items: center;
justify-content: center;
@@ -369,6 +1686,7 @@ h2 {
min-height: 270px;
color: var(--muted);
}
+
.loader {
width: 18px;
height: 18px;
@@ -377,30 +1695,54 @@ h2 {
border-radius: 50%;
animation: spin .8s linear infinite;
}
+
@keyframes spin { to { transform: rotate(360deg); } }
-.empty-state { flex-direction: column; text-align: center; }
+
+.empty-state {
+ flex-direction: column;
+ text-align: center;
+}
+
.empty-state h3 { margin-bottom: .3rem; }
-.empty-state p { max-width: 460px; color: var(--muted); line-height: 1.5; }
-.empty-icon { color: var(--accent); font-size: 2.5rem; }
+
+.empty-state p {
+ max-width: 460px;
+ color: var(--muted);
+ line-height: 1.5;
+}
+
+.empty-icon {
+ color: var(--accent);
+ font-size: 2.5rem;
+}
.day-group { margin-top: 2rem; }
+
.day-heading {
display: flex;
align-items: center;
gap: .8rem;
margin-bottom: .85rem;
color: var(--muted);
- font-size: .68rem;
+ font-size: .64rem;
font-weight: 800;
letter-spacing: .14em;
text-transform: uppercase;
}
-.day-heading::after { flex: 1; height: 1px; content: ""; background: var(--line); }
+
+.day-heading::after {
+ flex: 1;
+ height: 1px;
+ content: "";
+ background: var(--line);
+}
+
.game-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: .75rem;
}
+
.game-card {
position: relative;
overflow: hidden;
@@ -408,21 +1750,28 @@ h2 {
padding: 1rem;
border: 1px solid var(--line);
border-radius: 15px;
- background: linear-gradient(145deg, rgba(29,42,48,.85), rgba(17,25,29,.92));
+ background: linear-gradient(145deg, rgba(28,42,48,.85), rgba(16,25,29,.92));
transition: transform .16s ease, border-color .16s ease;
}
-.game-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.2); }
+
+.game-card:hover {
+ transform: translateY(-2px);
+ border-color: rgba(255,255,255,.2);
+}
+
.card-topline {
display: flex;
justify-content: space-between;
gap: .75rem;
color: var(--muted);
- font-size: .67rem;
+ font-size: .63rem;
font-weight: 750;
letter-spacing: .05em;
text-transform: uppercase;
}
+
.league-tag { color: var(--accent); }
+
.team-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
@@ -431,58 +1780,147 @@ h2 {
padding: .8rem 0;
border-bottom: 1px solid var(--line);
}
+
.team-row:first-of-type { margin-top: .55rem; }
+
.team-name { min-width: 0; }
-.team-name strong, .team-name small { display: block; }
-.team-name strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
-.team-name small { margin-top: .2rem; color: var(--dim); font-size: .62rem; text-transform: uppercase; }
+
+.team-name strong,
+.team-name small { display: block; }
+
+.team-name strong {
+ overflow: hidden;
+ font-size: .84rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.team-name small {
+ margin-top: .2rem;
+ color: var(--dim);
+ font-size: .59rem;
+ text-transform: uppercase;
+}
+
.winner-check {
color: var(--accent);
font-size: .88em;
font-weight: 950;
text-shadow: 0 0 14px rgba(185, 255, 90, .35);
}
-.team-win { color: var(--muted); font-size: .72rem; font-variant-numeric: tabular-nums; }
-.team-score { min-width: 2.5rem; text-align: right; font-size: 1.65rem; font-weight: 850; letter-spacing: -.05em; }
+
+.team-win {
+ color: var(--muted);
+ font-size: .69rem;
+ font-variant-numeric: tabular-nums;
+}
+
+.team-score {
+ min-width: 2.5rem;
+ text-align: right;
+ font-size: 1.65rem;
+ font-weight: 850;
+ letter-spacing: -.05em;
+}
+
.projection-meta {
display: flex;
justify-content: space-between;
gap: .7rem;
padding-top: .9rem;
color: var(--muted);
- font-size: .64rem;
+ font-size: .61rem;
}
+
.coverage-badge {
- padding: .18rem .45rem;
+ padding: .2rem .48rem;
border-radius: 999px;
color: var(--cyan);
background: rgba(116,232,255,.08);
white-space: nowrap;
}
-.coverage-badge.is-low { color: #ffc06b; background: rgba(255,192,107,.08); }
+
+.coverage-badge.is-low {
+ color: var(--orange);
+ background: rgba(255,192,107,.08);
+}
+
.final-label { color: var(--accent); }
+.lab-primer {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: .65rem;
+ margin-bottom: 1rem;
+ padding: .9rem;
+ border: 1px solid var(--line);
+ border-radius: 13px;
+ color: var(--muted);
+ background: rgba(16,25,29,.72);
+ font-size: .61rem;
+}
+
+.lab-primer span {
+ display: inline-flex;
+ align-items: center;
+ gap: .4rem;
+}
+
+.lab-primer b { color: var(--accent); }
+
+.lab-primer i {
+ color: var(--dim);
+ font-style: normal;
+}
+
.lab-layout {
display: grid;
- grid-template-columns: minmax(380px, .8fr) minmax(0, 1.2fr);
+ grid-template-columns: minmax(390px, .8fr) minmax(0, 1.2fr);
gap: 1rem;
}
-.simulator-form, .lab-result {
- min-height: 470px;
- padding: 1.35rem;
+
+.simulator-form,
+.lab-result {
+ min-height: 520px;
+ padding: 1.4rem;
border: 1px solid var(--line);
border-radius: var(--radius);
- background: rgba(17,25,29,.78);
+ background: rgba(16,25,29,.8);
+}
+
+.form-intro {
+ display: flex;
+ justify-content: space-between;
+ gap: 1rem;
+ margin-bottom: 1.3rem;
+ padding-bottom: .9rem;
+ border-bottom: 1px solid var(--line);
+}
+
+.form-intro span {
+ color: var(--accent);
+ font-size: .56rem;
+ font-weight: 850;
+ letter-spacing: .12em;
+}
+
+.form-intro small {
+ color: var(--dim);
+ font-size: .54rem;
}
+
.field label {
display: block;
margin: 0 0 .42rem;
color: var(--muted);
- font-size: .69rem;
+ font-size: .66rem;
font-weight: 750;
letter-spacing: .04em;
}
-select, input {
+
+select,
+input {
width: 100%;
min-height: 47px;
padding: .7rem .8rem;
@@ -492,7 +1930,13 @@ select, input {
color: var(--ink);
background: var(--surface-soft);
}
-select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
+
+select:focus,
+input:focus {
+ border-color: var(--accent);
+ box-shadow: 0 0 0 3px var(--accent-soft);
+}
+
.matchup-fields {
display: grid;
grid-template-columns: 1fr auto 1fr;
@@ -500,21 +1944,24 @@ select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px v
gap: .6rem;
margin: 1rem 0;
}
+
.versus-mark {
display: grid;
place-items: center;
width: 38px;
height: 47px;
color: var(--dim);
- font-size: .66rem;
+ font-size: .63rem;
font-weight: 900;
}
+
.sim-options {
display: grid;
grid-template-columns: 1fr 1fr;
gap: .8rem;
margin-bottom: 1rem;
}
+
.toggle {
display: flex;
align-items: center;
@@ -522,17 +1969,25 @@ select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px v
grid-column: 1 / -1;
color: var(--muted);
cursor: pointer;
- font-size: .75rem;
+ font-size: .72rem;
+}
+
+.toggle input {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ opacity: 0;
}
-.toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
+
.toggle span {
position: relative;
width: 38px;
height: 22px;
+ border: 1px solid var(--line);
border-radius: 999px;
background: var(--surface-soft);
- border: 1px solid var(--line);
}
+
.toggle span::after {
position: absolute;
top: 3px;
@@ -544,16 +1999,62 @@ select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px v
background: var(--muted);
transition: transform .15s ease, background .15s ease;
}
-.toggle input:checked + span::after { transform: translateX(16px); background: var(--accent); }
-.simulator-form .button-primary { width: 100%; margin-top: .2rem; }
-.form-note { margin: 1rem 0 0; color: var(--dim); font-size: .68rem; line-height: 1.5; }
-.lab-result { display: grid; place-items: center; }
-.lab-placeholder { max-width: 390px; color: var(--muted); text-align: center; }
-.lab-placeholder > span { color: var(--accent); font-size: 3rem; }
-.lab-placeholder h3 { margin: .8rem 0 .4rem; color: var(--ink); }
+
+.toggle input:checked + span::after {
+ transform: translateX(16px);
+ background: var(--accent);
+}
+
+.simulator-form .button-primary {
+ width: 100%;
+ margin-top: .2rem;
+}
+
+.form-note {
+ margin: 1rem 0 0;
+ color: var(--dim);
+ font-size: .64rem;
+ line-height: 1.5;
+}
+
+.lab-result {
+ display: grid;
+ place-items: center;
+}
+
+.lab-placeholder {
+ max-width: 430px;
+ color: var(--muted);
+ text-align: center;
+}
+
+.lab-placeholder > span {
+ color: var(--accent);
+ font-size: 3rem;
+}
+
+.lab-placeholder h3 {
+ margin: .8rem 0 .4rem;
+ color: var(--ink);
+}
+
.lab-placeholder p { line-height: 1.55; }
-.result-shell { width: 100%; align-self: stretch; display: flex; flex-direction: column; }
-.result-kicker { color: var(--accent); font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
+
+.result-shell {
+ display: flex;
+ width: 100%;
+ align-self: stretch;
+ flex-direction: column;
+}
+
+.result-kicker {
+ color: var(--accent);
+ font-size: .62rem;
+ font-weight: 800;
+ letter-spacing: .13em;
+ text-transform: uppercase;
+}
+
.result-matchup {
display: grid;
grid-template-columns: 1fr auto 1fr;
@@ -562,12 +2063,38 @@ select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px v
margin: 1rem 0 1.4rem;
text-align: center;
}
-.result-team strong, .result-team span, .result-team small { display: block; }
-.result-team strong { font-size: 2.8rem; letter-spacing: -.06em; }
-.result-team span { margin-top: .3rem; font-weight: 750; }
-.result-team .winner-check { display: inline; margin: 0 0 0 .2rem; }
-.result-team small { margin-top: .25rem; color: var(--muted); font-size: .68rem; }
-.result-vs { color: var(--dim); font-size: .72rem; font-weight: 800; }
+
+.result-team strong,
+.result-team span,
+.result-team small { display: block; }
+
+.result-team strong {
+ font-size: 2.8rem;
+ letter-spacing: -.06em;
+}
+
+.result-team span {
+ margin-top: .3rem;
+ font-weight: 750;
+}
+
+.result-team .winner-check {
+ display: inline;
+ margin: 0 0 0 .2rem;
+}
+
+.result-team small {
+ margin-top: .25rem;
+ color: var(--muted);
+ font-size: .65rem;
+}
+
+.result-vs {
+ color: var(--dim);
+ font-size: .69rem;
+ font-weight: 800;
+}
+
.probability-bar {
display: flex;
height: 10px;
@@ -575,76 +2102,309 @@ select:focus, input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px v
border-radius: 999px;
background: var(--surface-soft);
}
+
.probability-home { background: var(--accent); }
.probability-away { background: var(--cyan); }
+
.probability-legend {
display: flex;
justify-content: space-between;
margin-top: .55rem;
color: var(--muted);
- font-size: .68rem;
+ font-size: .65rem;
}
+
.result-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: .55rem;
margin-top: 1.3rem;
}
+
.result-stats div {
padding: .8rem;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(255,255,255,.02);
}
-.result-stats strong, .result-stats small { display: block; }
-.result-stats strong { margin-bottom: .25rem; font-size: 1rem; }
-.result-stats small { color: var(--muted); font-size: .61rem; }
+
+.result-stats strong,
+.result-stats small { display: block; }
+
+.result-stats strong {
+ margin-bottom: .25rem;
+ font-size: 1rem;
+}
+
+.result-stats small {
+ color: var(--muted);
+ font-size: .58rem;
+}
+
.result-evidence {
margin: auto 0 0;
padding-top: 1rem;
color: var(--dim);
- font-size: .64rem;
+ font-size: .61rem;
line-height: 1.45;
}
+.faq-grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: .65rem;
+}
+
+.faq-grid details {
+ align-self: start;
+ overflow: hidden;
+ border: 1px solid var(--line);
+ border-radius: var(--radius-small);
+ background: rgba(16,25,29,.78);
+}
+
+.faq-grid summary {
+ position: relative;
+ padding: 1.1rem 3rem 1.1rem 1.1rem;
+ cursor: pointer;
+ font-size: .76rem;
+ font-weight: 800;
+ list-style: none;
+}
+
+.faq-grid summary::-webkit-details-marker { display: none; }
+
+.faq-grid summary::after {
+ position: absolute;
+ top: 50%;
+ right: 1.1rem;
+ color: var(--accent);
+ content: "+";
+ font-size: 1.1rem;
+ transform: translateY(-50%);
+}
+
+.faq-grid details[open] summary::after { content: "−"; }
+
+.faq-grid details p {
+ margin: 0;
+ padding: 0 1.1rem 1.1rem;
+ color: var(--muted);
+ font-size: .67rem;
+ line-height: 1.6;
+}
+
footer {
- display: flex;
- justify-content: space-between;
- gap: 1rem;
- width: min(1220px, calc(100% - 2.5rem));
+ display: grid;
+ grid-template-columns: auto 1fr minmax(280px, .75fr) auto;
+ align-items: center;
+ gap: 2rem;
+ width: var(--page);
margin: 0 auto;
- padding: 1.5rem 0 2.3rem;
+ padding: 2rem 0 2.8rem;
border-top: 1px solid var(--line);
color: var(--dim);
- font-size: .68rem;
+ font-size: .61rem;
+}
+
+.footer-brand {
+ display: flex;
+ align-items: center;
+ gap: .7rem;
+}
+
+.footer-brand .brand-mark {
+ width: 36px;
+ height: 36px;
+ border-radius: 10px;
+ font-size: 1rem;
+}
+
+.footer-brand strong,
+.footer-brand small { display: block; }
+
+.footer-brand strong {
+ margin-bottom: .17rem;
+ color: var(--ink);
+ font-size: .8rem;
+}
+
+.footer-brand small { font-size: .53rem; }
+
+.footer-links {
+ display: flex;
+ gap: 1rem;
+}
+
+.footer-links a {
+ color: var(--muted);
+ text-decoration: none;
+}
+
+footer p {
+ margin: 0;
+ line-height: 1.5;
+}
+
+footer > span {
+ font-weight: 800;
+ letter-spacing: .08em;
+ white-space: nowrap;
}
-footer p { margin: 0; }
-footer a { color: var(--muted); }
[hidden] { display: none !important; }
-@media (max-width: 960px) {
- .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 4rem; }
- .hero-metrics { max-width: 620px; }
- .showcase-heading { grid-template-columns: 1fr; }
- .engine-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
- .engine-flow i { display: none; }
- .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
+@media (max-width: 1160px) {
+ .topnav { display: none; }
+ .topbar { grid-template-columns: 1fr auto; }
+ .launch-hero {
+ grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr);
+ gap: 2.5rem;
+ }
+ .proof-band { grid-template-columns: repeat(3, 1fr); }
+ .proof-band > *:nth-child(3) { border-right: 0; }
+ .proof-band > *:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
+ .capability-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
+ .capability-card-large { grid-row: auto; min-height: 480px; }
+ .pipeline-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
+ .league-showcase-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
+ .league-showcase-grid > article,
+ .league-showcase-grid > article:nth-child(n+5) { grid-column: span 1; }
+ .workflow-steps { grid-template-columns: repeat(3, minmax(0,1fr)); }
+ footer { grid-template-columns: auto 1fr auto; }
+ footer p { grid-column: 1 / -1; grid-row: 2; }
+}
+
+@media (max-width: 900px) {
+ :root { --page: min(100% - 2rem, 1280px); }
+ .launch-hero {
+ grid-template-columns: 1fr;
+ min-height: auto;
+ padding: 5rem 0 4rem;
+ }
+ .hero-console { max-width: 620px; }
+ .section-lead { grid-template-columns: 1fr; gap: 1.5rem; }
+ .section-lead > p { max-width: 650px; }
+ .architecture-layout,
+ .anatomy-layout,
+ .evidence-grid,
+ .replay-story,
+ .api-presentation { grid-template-columns: 1fr; }
+ .model-deep-dive { min-height: 500px; }
+ .league-showcase-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
+ .replay-chain { flex-wrap: wrap; }
+ .replay-chain span { min-width: 120px; }
+ .replay-chain i { display: none; }
+ .live-engine-header { grid-template-columns: 1fr; }
+ .live-summary { max-width: 540px; }
+ .game-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.lab-layout { grid-template-columns: 1fr; }
+ .lab-primer { justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
}
-@media (max-width: 640px) {
- .topbar { min-height: 66px; }
- .health-pill { display: none; }
- .button-quiet { padding: .6rem .7rem; }
- main, footer { width: min(100% - 1.5rem, 1220px); }
- .hero { padding: 3.2rem 0 2.5rem; gap: 2rem; }
- h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
- .hero-metrics article { min-height: 95px; padding: 1rem .7rem; }
- .hero-metrics small { font-size: .6rem; }
- .showcase { margin-bottom: 2.8rem; padding: 1rem; border-radius: 18px; }
- .engine-flow, .proof-grid { grid-template-columns: 1fr; }
- .engine-flow article { min-height: auto; }
+@media (max-width: 680px) {
+ :root { --page: min(100% - 1.25rem, 1280px); }
+ html { scroll-padding-top: 74px; }
+ .topbar {
+ min-height: 66px;
+ padding: .65rem .7rem;
+ }
+ .brand small,
+ .health-pill,
+ .topbar-docs { display: none; }
+ .brand-mark {
+ width: 38px;
+ height: 38px;
+ }
+ .topbar-actions .button { min-height: 38px; padding: .6rem .72rem; }
+ h1 { font-size: clamp(3rem, 15vw, 5rem); }
+ h2 { font-size: clamp(2.3rem, 11vw, 3.5rem); }
+ .launch-hero { padding: 3.6rem 0 3rem; gap: 2.4rem; }
+ .hero-actions { flex-direction: column; }
+ .hero-actions .button { width: 100%; }
+ .trust-rail { display: grid; grid-template-columns: 1fr 1fr; }
+ .hero-console { border-radius: 18px; }
+ .console-header > span { display: none; }
+ .console-team b { font-size: 2rem; }
+ .console-trace div { grid-template-columns: 76px minmax(0,1fr); }
+ .proof-band {
+ grid-template-columns: 1fr 1fr;
+ margin-bottom: 5rem;
+ }
+ .proof-band > * {
+ min-height: 105px;
+ border-right: 1px solid var(--line) !important;
+ border-bottom: 1px solid var(--line);
+ }
+ .proof-band > *:nth-child(even) { border-right: 0 !important; }
+ .proof-band > *:nth-last-child(-n+2) { border-bottom: 0; }
+ .presentation-section,
+ .live-engine-section { padding: 5rem 0; }
+ .section-lead { margin-bottom: 2.3rem; }
+ .capability-grid,
+ .pipeline-steps,
+ .league-showcase-grid,
+ .workflow-steps,
+ .faq-grid { grid-template-columns: 1fr; }
+ .capability-card-large,
+ .capability-card-wide { grid-column: auto; min-height: auto; }
+ .league-showcase-grid > article,
+ .league-showcase-grid > article:nth-child(n+5) { grid-column: auto; }
+ .capability-card-large { padding-top: 8rem; }
+ .capability-card-wide { display: flex; align-items: stretch; }
+ .mini-stat-row { grid-template-columns: 1fr 1fr; }
+ .pipeline-steps li { min-height: auto; }
+ .architecture-stack,
+ .model-deep-dive,
+ .anatomy-card,
+ .quality-panel,
+ .fidelity-panel { padding: 1rem; }
+ .architecture-title { flex-direction: column; }
+ .stack-layer small { width: 100%; min-width: 0; }
+ .model-deep-dive { min-height: auto; }
+ .model-facts { grid-template-columns: 1fr; }
+ .provenance-chain { justify-content: flex-start; }
+ .anatomy-notes { grid-template-columns: 1fr; }
+ .anatomy-team { gap: .55rem; }
+ .anatomy-team > b { min-width: 58px; font-size: 2.2rem; }
+ .anatomy-range { grid-template-columns: 1fr; }
+ .anatomy-footer { align-items: flex-start; flex-direction: column; }
+ .quality-numbers { grid-template-columns: 1fr 1fr; }
+ .quality-line { align-items: flex-start; flex-direction: column; gap: .3rem; }
+ .fidelity-row { grid-template-columns: auto 1fr; }
+ .fidelity-row > small { grid-column: 2; }
+ .replay-story { padding: 1.2rem; }
+ .replay-chain { display: grid; grid-template-columns: 1fr 1fr; }
+ .replay-chain span { min-height: 90px; }
+ .endpoint-list div {
+ grid-template-columns: 46px minmax(0,1fr);
+ }
+ .endpoint-list small {
+ grid-column: 2;
+ text-align: left;
+ }
+ .live-summary { grid-template-columns: repeat(3, 1fr); }
+ .live-summary article { padding: .8rem .65rem; }
+ .live-summary span { font-size: 1.4rem; }
+ .mode-tabs {
+ display: grid;
+ grid-template-columns: 1fr 1fr auto;
+ overflow: visible;
+ }
+ .mode-tab {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ white-space: nowrap;
+ }
+ .mode-tab::after {
+ right: .5rem;
+ left: .5rem;
+ }
+ .api-link {
+ margin-left: 0;
+ padding-left: .4rem;
+ white-space: nowrap;
+ }
.section-heading { align-items: start; flex-direction: column; }
.game-grid { grid-template-columns: 1fr; }
.matchup-fields { grid-template-columns: 1fr; }
@@ -652,9 +2412,41 @@ footer a { color: var(--muted); }
.result-matchup { gap: .5rem; }
.result-team strong { font-size: 2.15rem; }
.result-stats { grid-template-columns: 1fr; }
- footer { flex-direction: column; }
+ .form-intro { flex-direction: column; }
+ .lab-primer {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ overflow: visible;
+ gap: .75rem;
+ white-space: normal;
+ }
+ .lab-primer i { display: none; }
+ footer { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
+ footer p { grid-column: 1; grid-row: auto; }
+ .footer-links { flex-wrap: wrap; }
+}
+
+@media (max-width: 420px) {
+ .proof-band { grid-template-columns: 1fr; }
+ .proof-band > * {
+ border-right: 0 !important;
+ border-bottom: 1px solid var(--line) !important;
+ }
+ .proof-band > *:last-child { border-bottom: 0 !important; }
+ .trust-rail,
+ .quality-numbers,
+ .replay-chain { grid-template-columns: 1fr; }
+ .console-label { align-items: flex-start; flex-direction: column; }
+ .console-team { grid-template-columns: minmax(0,1fr) auto; }
+ .anatomy-topline { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
- *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; }
+ *,
+ *::before,
+ *::after {
+ scroll-behavior: auto !important;
+ animation-duration: .001ms !important;
+ transition-duration: .001ms !important;
+ }
}
diff --git a/tests/test_projection_service_web.py b/tests/test_projection_service_web.py
index 5eb9149..db2d001 100644
--- a/tests/test_projection_service_web.py
+++ b/tests/test_projection_service_web.py
@@ -133,6 +133,13 @@ async def exercise_api() -> None:
dashboard = await client.get("/")
assert dashboard.status_code == 200
assert "Every league" in dashboard.text
+ assert "From raw game history to a replayable decision surface." in dashboard.text
+ assert "Anatomy of a projection" in dashboard.text
+ assert "Stop reading. Run Waterboy." in dashboard.text
+ assert 'id="leagues"' in dashboard.text
+ assert 'id="evidence"' in dashboard.text
+ assert 'id="live-engine"' in dashboard.text
+ assert "style=" not in dashboard.text
assert dashboard.headers["x-frame-options"] == "DENY"
assert "default-src 'self'" in dashboard.headers["content-security-policy"]