Vscode / app /static /style.css
Erinaldorodrigues's picture
Fix team visibility and refresh dashboard assets
b7a336f
Raw
History Blame Contribute Delete
49 kB
:root {
--bg: #060b09;
--bg-soft: #0a110e;
--surface: #0d1713;
--surface-2: #111e19;
--surface-3: #14241d;
--line: rgba(179, 211, 196, .12);
--line-strong: rgba(179, 211, 196, .2);
--text: #f2f8f5;
--muted: #91a69b;
--muted-strong: #b6c7be;
--green: #38e991;
--green-bright: #75ffb4;
--green-dark: #123b2a;
--blue: #54b8ff;
--violet: #a98aff;
--amber: #ffca64;
--red: #ff7184;
--shadow: 0 24px 70px rgba(0, 0, 0, .35);
--radius-lg: 22px;
--radius-md: 16px;
--radius-sm: 11px;
--header-height: 76px;
}
* {
box-sizing: border-box;
}
html {
background: var(--bg);
color-scheme: dark;
scroll-behavior: smooth;
scroll-padding-top: calc(var(--header-height) + 24px);
}
body {
min-height: 100vh;
margin: 0;
overflow-x: hidden;
background:
radial-gradient(circle at 8% 3%, rgba(56, 233, 145, .08), transparent 25rem),
radial-gradient(circle at 94% 30%, rgba(84, 184, 255, .055), transparent 28rem),
linear-gradient(180deg, #07100d 0, var(--bg) 32rem);
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
body::selection {
background: rgba(56, 233, 145, .3);
color: #fff;
}
a {
color: inherit;
text-decoration: none;
}
button,
input {
font: inherit;
}
button {
color: inherit;
}
svg {
display: block;
}
.skip-link {
position: fixed;
z-index: 1000;
top: 10px;
left: 10px;
padding: 10px 14px;
transform: translateY(-150%);
border-radius: 8px;
background: var(--green);
color: #032014;
font-size: 13px;
font-weight: 800;
transition: transform .2s ease;
}
.skip-link:focus {
transform: translateY(0);
}
:focus-visible {
outline: 2px solid var(--green-bright);
outline-offset: 3px;
}
.ambient {
position: fixed;
z-index: -2;
width: 30rem;
height: 30rem;
border-radius: 50%;
pointer-events: none;
filter: blur(110px);
opacity: .06;
}
.ambient-one {
top: 18rem;
left: -16rem;
background: var(--green);
}
.ambient-two {
right: -18rem;
bottom: 4rem;
background: var(--blue);
}
.noise {
position: fixed;
z-index: -1;
inset: 0;
pointer-events: none;
opacity: .018;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.topbar {
position: sticky;
z-index: 100;
top: 0;
min-height: var(--header-height);
border-bottom: 1px solid rgba(185, 219, 202, .08);
background: rgba(6, 12, 9, .82);
backdrop-filter: blur(20px) saturate(140%);
}
.topbar-inner {
display: flex;
align-items: center;
justify-content: space-between;
width: min(100% - 40px, 1240px);
min-height: var(--header-height);
margin: auto;
gap: 28px;
}
.brand {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 11px;
}
.brand-mark {
display: grid;
width: 37px;
height: 41px;
place-items: center;
color: var(--green);
filter: drop-shadow(0 0 16px rgba(56, 233, 145, .22));
}
.brand-mark svg {
width: 30px;
height: 34px;
}
.brand-copy {
display: flex;
flex-direction: column;
gap: 2px;
}
.brand-copy strong {
font-size: 15px;
font-weight: 900;
letter-spacing: .055em;
line-height: 1;
}
.brand-copy em {
color: var(--green);
font-style: normal;
}
.brand-copy small {
color: var(--muted);
font-size: 9px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
}
.main-nav {
display: flex;
align-self: stretch;
align-items: center;
gap: 8px;
}
.main-nav a {
position: relative;
display: grid;
height: 100%;
padding: 0 13px;
place-items: center;
color: var(--muted-strong);
font-size: 12px;
font-weight: 700;
transition: color .2s ease;
}
.main-nav a::after {
position: absolute;
right: 13px;
bottom: -1px;
left: 13px;
height: 2px;
transform: scaleX(0);
border-radius: 2px;
background: var(--green);
content: "";
transition: transform .2s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible {
color: var(--text);
}
.main-nav a:hover::after {
transform: scaleX(1);
}
.topbar-actions {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 9px;
}
.pill {
display: inline-flex;
min-height: 33px;
align-items: center;
gap: 8px;
padding: 7px 11px;
border: 1px solid var(--line);
border-radius: 999px;
background: rgba(255, 255, 255, .025);
color: var(--muted);
font-size: 9px;
font-weight: 900;
letter-spacing: .1em;
white-space: nowrap;
}
.status-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 0 4px currentColor;
opacity: .7;
}
.pill.ok {
border-color: rgba(56, 233, 145, .25);
background: rgba(56, 233, 145, .075);
color: var(--green);
}
.pill.ok .status-dot {
animation: status-pulse 2s ease-out infinite;
}
.pill.bad {
border-color: rgba(255, 113, 132, .28);
background: rgba(255, 113, 132, .08);
color: var(--red);
}
.pill.warning {
border-color: rgba(255, 202, 100, .28);
background: rgba(255, 202, 100, .08);
color: var(--amber);
}
.clipboard-fallback {
position: fixed;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none;
}
.icon-button {
display: grid;
width: 36px;
height: 36px;
padding: 0;
cursor: pointer;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(255, 255, 255, .035);
place-items: center;
transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.icon-button:hover {
transform: translateY(-1px);
border-color: rgba(56, 233, 145, .35);
background: rgba(56, 233, 145, .08);
}
.icon-button svg {
width: 17px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.icon-button.loading svg {
animation: spin .8s linear infinite;
}
.container {
width: min(100% - 40px, 1240px);
margin: 0 auto;
padding: 26px 0 60px;
}
.panel {
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: linear-gradient(145deg, rgba(17, 30, 25, .96), rgba(10, 18, 15, .97));
box-shadow: var(--shadow);
}
.hero {
position: relative;
display: grid;
min-height: 440px;
overflow: hidden;
grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
background:
linear-gradient(100deg, rgba(12, 27, 21, .98) 0%, rgba(9, 19, 15, .95) 52%, rgba(8, 17, 14, .96) 100%);
}
.hero::before {
position: absolute;
width: 600px;
height: 600px;
top: -360px;
left: -130px;
border: 1px solid rgba(56, 233, 145, .08);
border-radius: 50%;
box-shadow:
0 0 0 80px rgba(56, 233, 145, .018),
0 0 0 160px rgba(56, 233, 145, .012);
content: "";
}
.hero::after {
position: absolute;
inset: 0;
pointer-events: none;
background:
linear-gradient(90deg, transparent 49.8%, rgba(56, 233, 145, .025) 50%, transparent 50.2%),
linear-gradient(0deg, transparent 49.8%, rgba(56, 233, 145, .02) 50%, transparent 50.2%);
background-size: 120px 120px;
content: "";
mask-image: linear-gradient(90deg, transparent 25%, #000 80%);
}
.hero-copy {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: center;
padding: clamp(34px, 5vw, 64px);
}
.live-label {
display: inline-flex;
width: fit-content;
align-items: center;
gap: 9px;
color: var(--green);
font-size: 10px;
font-weight: 900;
letter-spacing: .16em;
}
.live-label b,
.console-state b {
font: inherit;
}
.live-label > span {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--green);
box-shadow: 0 0 0 5px rgba(56, 233, 145, .1), 0 0 16px rgba(56, 233, 145, .6);
}
.hero h1 {
max-width: 700px;
margin: 18px 0 18px;
font-size: clamp(37px, 5vw, 67px);
font-weight: 850;
letter-spacing: -.055em;
line-height: .98;
}
.hero h1 span {
color: var(--green);
}
.hero-copy > p {
max-width: 650px;
margin: 0;
color: var(--muted-strong);
font-size: 15px;
line-height: 1.7;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 28px;
}
.btn {
display: inline-flex;
min-height: 44px;
align-items: center;
justify-content: center;
gap: 8px;
padding: 0 17px;
cursor: pointer;
border: 1px solid transparent;
border-radius: 11px;
font-size: 12px;
font-weight: 850;
transition: transform .2s ease, filter .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover {
transform: translateY(-2px);
}
.btn.primary {
background: var(--green);
box-shadow: 0 10px 30px rgba(56, 233, 145, .16);
color: #042116;
}
.btn.primary:hover {
filter: brightness(1.08);
}
.btn.primary svg {
width: 16px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
.btn.secondary {
border-color: var(--line-strong);
background: rgba(255, 255, 255, .035);
color: var(--muted-strong);
}
.btn.secondary:hover {
border-color: rgba(56, 233, 145, .3);
background: rgba(56, 233, 145, .06);
color: var(--text);
}
.hero-footnote {
display: flex;
align-items: center;
gap: 8px;
margin-top: 24px;
color: var(--muted);
font-size: 10px;
line-height: 1.5;
}
.hero-footnote svg {
width: 16px;
flex: 0 0 auto;
fill: none;
stroke: var(--green);
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.hero-console {
position: relative;
z-index: 2;
align-self: center;
margin: 32px 32px 32px 0;
overflow: hidden;
border: 1px solid rgba(189, 222, 205, .14);
border-radius: 18px;
background: rgba(4, 11, 8, .66);
box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
backdrop-filter: blur(10px);
}
.console-head,
.console-footer {
display: flex;
align-items: center;
justify-content: space-between;
padding: 15px 17px;
border-bottom: 1px solid var(--line);
color: var(--muted-strong);
font-size: 10px;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
}
.console-state {
display: flex;
align-items: center;
gap: 6px;
color: var(--green);
font-size: 8px;
letter-spacing: .12em;
}
.live-label.paused,
.console-state.paused {
color: var(--amber);
}
.live-label.danger,
.console-state.danger {
color: var(--red);
}
.console-state i,
.secure-label i {
width: 6px;
height: 6px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 10px currentColor;
}
.engine-flow {
margin: 0;
padding: 7px 17px;
list-style: none;
}
.engine-flow li {
position: relative;
display: grid;
align-items: center;
gap: 12px;
padding: 14px 0;
grid-template-columns: 27px 1fr 20px;
}
.engine-flow li:not(:last-child) {
border-bottom: 1px dashed rgba(185, 219, 202, .1);
}
.flow-number {
display: grid;
width: 26px;
height: 26px;
border: 1px solid var(--line);
border-radius: 8px;
place-items: center;
color: var(--muted);
font-size: 8px;
font-weight: 900;
}
.engine-flow strong,
.engine-flow small {
display: block;
}
.engine-flow strong {
color: #deebe4;
font-size: 11px;
line-height: 1.3;
}
.engine-flow small {
margin-top: 3px;
color: #71867b;
font-size: 9px;
}
.flow-check {
color: var(--green);
font-size: 13px;
font-weight: 900;
text-align: center;
}
.engine-flow .active .flow-number {
border-color: rgba(56, 233, 145, .35);
background: rgba(56, 233, 145, .09);
color: var(--green);
}
.flow-pulse {
justify-self: center;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--green);
box-shadow: 0 0 0 5px rgba(56, 233, 145, .08), 0 0 12px rgba(56, 233, 145, .4);
}
.engine-flow.paused .flow-pulse {
background: var(--amber);
box-shadow: 0 0 0 5px rgba(255, 202, 100, .08), 0 0 12px rgba(255, 202, 100, .35);
}
.engine-flow.failed .flow-pulse {
background: var(--red);
box-shadow: 0 0 0 5px rgba(255, 113, 132, .08), 0 0 12px rgba(255, 113, 132, .35);
}
.console-footer {
border-top: 1px solid var(--line);
border-bottom: 0;
background: rgba(255, 255, 255, .018);
}
.console-footer strong {
color: var(--green);
font-size: 9px;
}
.warnings:empty {
display: none;
}
.warnings {
display: grid;
gap: 8px;
margin-top: 16px;
}
.warning {
display: flex;
align-items: flex-start;
gap: 11px;
padding: 12px 14px;
border: 1px solid rgba(255, 202, 100, .24);
border-radius: 12px;
background: rgba(255, 202, 100, .07);
color: #ead5a8;
font-size: 11px;
line-height: 1.55;
}
.warning svg {
width: 16px;
flex: 0 0 auto;
fill: none;
stroke: var(--amber);
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.stats-grid {
display: grid;
gap: 12px;
margin: 16px 0 58px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stat {
position: relative;
display: flex;
min-height: 134px;
align-items: center;
gap: 15px;
overflow: hidden;
padding: 20px;
box-shadow: 0 14px 40px rgba(0, 0, 0, .2);
}
.stat::after {
position: absolute;
top: -38px;
right: -38px;
width: 100px;
height: 100px;
border-radius: 50%;
background: rgba(255, 255, 255, .02);
content: "";
}
.stat.featured {
border-color: rgba(56, 233, 145, .2);
background: linear-gradient(145deg, rgba(19, 47, 35, .98), rgba(9, 21, 16, .98));
}
.stat-icon {
display: grid;
width: 40px;
height: 40px;
flex: 0 0 auto;
border: 1px solid currentColor;
border-radius: 12px;
place-items: center;
background: color-mix(in srgb, currentColor 9%, transparent);
}
.stat-icon svg {
width: 19px;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.stat-icon.blue { color: var(--blue); }
.stat-icon.green { color: var(--green); }
.stat-icon.violet { color: var(--violet); }
.stat-icon.amber { color: var(--amber); }
.stat-copy {
min-width: 0;
}
.stat-copy > span,
.stat-copy > small {
display: block;
overflow: hidden;
color: var(--muted);
font-size: 9px;
font-weight: 800;
letter-spacing: .08em;
line-height: 1.35;
text-overflow: ellipsis;
}
.stat-copy > span {
white-space: nowrap;
}
.stat-copy > small {
font-weight: 600;
letter-spacing: 0;
white-space: normal;
}
.stat-copy strong {
display: block;
margin: 5px 0 4px;
font-size: clamp(26px, 2.7vw, 38px);
font-variant-numeric: tabular-nums;
font-weight: 850;
letter-spacing: -.04em;
line-height: 1;
}
.content-section {
margin-top: 58px;
scroll-margin-top: calc(var(--header-height) + 24px);
}
.section-head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin: 0 2px 18px;
}
.eyebrow,
.panel-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--green);
font-size: 9px;
font-weight: 900;
letter-spacing: .16em;
}
.eyebrow i {
width: 18px;
height: 1px;
background: var(--green);
}
.section-head h2 {
margin: 7px 0 0;
font-size: clamp(26px, 3vw, 35px);
font-weight: 800;
letter-spacing: -.035em;
line-height: 1.1;
}
.section-head p {
margin: 8px 0 0;
color: var(--muted);
font-size: 12px;
line-height: 1.5;
}
.update-time,
.section-badge {
flex: 0 0 auto;
padding: 8px 11px;
border: 1px solid var(--line);
border-radius: 9px;
background: rgba(255, 255, 255, .025);
color: var(--muted);
font-size: 9px;
font-weight: 750;
letter-spacing: .05em;
white-space: nowrap;
}
.section-badge {
color: var(--muted-strong);
font-weight: 850;
letter-spacing: .1em;
}
.picks {
display: grid;
gap: 14px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pick {
position: relative;
overflow: hidden;
padding: 0;
box-shadow: 0 18px 48px rgba(0, 0, 0, .23);
transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.pick:hover {
transform: translateY(-3px);
border-color: rgba(56, 233, 145, .25);
box-shadow: 0 24px 56px rgba(0, 0, 0, .3);
}
.pick::before {
position: absolute;
z-index: 2;
top: 0;
right: 0;
left: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--green), transparent);
content: "";
opacity: .8;
}
.pick-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
padding: 18px 20px 15px;
border-bottom: 1px solid var(--line);
background: rgba(255, 255, 255, .014);
}
.pick-meta {
display: flex;
min-width: 0;
flex-wrap: wrap;
align-items: center;
gap: 7px;
}
.rank,
.competition-chip {
display: inline-flex;
min-height: 24px;
align-items: center;
padding: 4px 8px;
border: 1px solid var(--line);
border-radius: 7px;
color: var(--muted);
font-size: 8px;
font-weight: 850;
letter-spacing: .09em;
line-height: 1.2;
}
.rank {
border-color: rgba(56, 233, 145, .25);
background: rgba(56, 233, 145, .07);
color: var(--green);
}
.kickoff {
width: 100%;
margin-top: 3px;
color: var(--muted);
font-size: 10px;
}
.score-ring {
position: relative;
display: grid;
width: 58px;
height: 58px;
flex: 0 0 auto;
border-radius: 50%;
place-items: center;
}
.score-ring > svg {
position: absolute;
inset: 0;
width: 58px;
height: 58px;
transform: rotate(-90deg);
fill: none;
stroke-width: 3.5;
}
.score-track {
stroke: rgba(255, 255, 255, .07);
}
.score-value {
stroke: var(--green);
stroke-linecap: round;
filter: drop-shadow(0 0 4px rgba(56, 233, 145, .35));
}
.score-ring > span {
position: relative;
z-index: 1;
text-align: center;
}
.score-ring strong,
.score-ring small {
display: block;
}
.score-ring strong {
color: var(--green-bright);
font-size: 15px;
font-variant-numeric: tabular-nums;
font-weight: 900;
line-height: 1;
}
.score-ring small {
margin-top: 2px;
color: var(--muted);
font-size: 6px;
font-weight: 900;
letter-spacing: .1em;
}
.pick-body {
padding: 20px;
}
.matchup {
display: grid;
align-items: center;
gap: 11px;
grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
}
.team {
display: flex;
min-width: 0;
align-items: center;
gap: 9px;
}
.team:last-child {
flex-direction: row-reverse;
text-align: right;
}
.team-badge {
display: grid;
width: 35px;
height: 35px;
flex: 0 0 auto;
border: 1px solid var(--line-strong);
border-radius: 11px;
background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
place-items: center;
color: var(--muted-strong);
font-size: 10px;
font-weight: 900;
letter-spacing: .02em;
}
.team strong {
overflow: hidden;
font-size: 13px;
font-weight: 750;
line-height: 1.3;
text-overflow: ellipsis;
}
.versus {
display: grid;
width: 29px;
height: 29px;
border: 1px solid var(--line);
border-radius: 50%;
background: rgba(255, 255, 255, .025);
place-items: center;
color: #6f8278;
font-size: 7px;
font-weight: 900;
}
.selection-box {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
margin: 18px 0 14px;
padding: 13px 14px;
border: 1px solid rgba(56, 233, 145, .18);
border-radius: 12px;
background: linear-gradient(90deg, rgba(56, 233, 145, .09), rgba(56, 233, 145, .025));
}
.selection-box > div span,
.selection-box > div strong {
display: block;
}
.selection-box > div span {
color: var(--muted);
font-size: 8px;
font-weight: 850;
letter-spacing: .1em;
}
.selection-box > div strong {
margin-top: 4px;
color: #dffbed;
font-size: 14px;
font-weight: 800;
}
.selection-signal {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 6px;
color: var(--green);
font-size: 8px;
font-weight: 900;
letter-spacing: .1em;
}
.selection-signal i {
width: 6px;
height: 6px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 9px currentColor;
}
.metrics {
display: grid;
gap: 8px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.metric {
min-width: 0;
padding: 10px;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(2, 8, 5, .26);
}
.metric span,
.metric strong {
display: block;
}
.metric span {
overflow: hidden;
color: var(--muted);
font-size: 7px;
font-weight: 850;
letter-spacing: .08em;
text-overflow: ellipsis;
white-space: nowrap;
}
.metric strong {
margin-top: 5px;
font-size: 13px;
font-variant-numeric: tabular-nums;
font-weight: 800;
}
.confidence-line {
display: flex;
align-items: center;
gap: 10px;
margin: 15px 0 12px;
}
.confidence-line > span {
flex: 0 0 auto;
color: var(--muted);
font-size: 8px;
font-weight: 800;
letter-spacing: .07em;
}
.bar {
appearance: none;
flex: 1;
height: 5px;
overflow: hidden;
padding: 0;
border: 0;
border-radius: 999px;
background: rgba(255, 255, 255, .06);
}
.bar::-webkit-progress-bar {
border-radius: inherit;
background: rgba(255, 255, 255, .06);
}
.bar::-webkit-progress-value {
border-radius: inherit;
background: linear-gradient(90deg, #20b96c, var(--green-bright));
box-shadow: 0 0 12px rgba(56, 233, 145, .35);
}
.bar::-moz-progress-bar {
border-radius: inherit;
background: linear-gradient(90deg, #20b96c, var(--green-bright));
box-shadow: 0 0 12px rgba(56, 233, 145, .35);
}
.reasons {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tag {
padding: 5px 8px;
border: 1px solid var(--line);
border-radius: 999px;
background: rgba(255, 255, 255, .024);
color: #9fb3a8;
font-size: 8px;
font-weight: 650;
line-height: 1.2;
}
.models-detail {
margin-top: 14px;
border-top: 1px solid var(--line);
}
.models-detail summary {
display: flex;
align-items: center;
justify-content: space-between;
padding: 13px 0 0;
cursor: pointer;
color: var(--muted-strong);
font-size: 9px;
font-weight: 800;
letter-spacing: .04em;
list-style: none;
}
.models-detail summary::-webkit-details-marker {
display: none;
}
.models-detail summary::after {
display: grid;
width: 19px;
height: 19px;
border: 1px solid var(--line);
border-radius: 6px;
content: "+";
place-items: center;
color: var(--green);
font-size: 13px;
transition: transform .2s ease;
}
.models-detail[open] summary::after {
transform: rotate(45deg);
}
.model-table {
display: grid;
margin-top: 12px;
padding: 5px 12px;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(0, 0, 0, .14);
}
.model-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 8px 0;
border-bottom: 1px dashed rgba(185, 219, 202, .09);
color: var(--muted);
font-size: 9px;
line-height: 1.3;
}
.model-row:last-child {
border-bottom: 0;
}
.model-row b {
flex: 0 0 auto;
color: var(--text);
font-variant-numeric: tabular-nums;
}
.pick-tools {
display: flex;
align-items: stretch;
gap: 8px;
margin-top: 14px;
}
.copyline {
display: flex;
gap: 6px;
}
.copybtn {
display: inline-flex;
min-height: 36px;
align-items: center;
gap: 6px;
padding: 0 10px;
cursor: pointer;
border: 1px solid var(--line);
border-radius: 9px;
background: rgba(255, 255, 255, .025);
color: var(--muted-strong);
font-size: 8px;
font-weight: 800;
transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.copybtn:hover {
border-color: rgba(56, 233, 145, .27);
background: rgba(56, 233, 145, .06);
color: var(--green-bright);
}
.copybtn svg {
width: 13px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.oddbox {
margin-top: 16px;
padding: 14px;
border: 1px solid var(--line);
border-radius: 12px;
background: rgba(3, 10, 7, .34);
}
.odd-input-row {
display: flex;
align-items: center;
gap: 10px;
}
.odd-input-row label {
min-width: 0;
flex: 1;
color: var(--muted-strong);
font-size: 9px;
font-weight: 800;
letter-spacing: .04em;
}
.odd-input-wrap {
position: relative;
width: 116px;
flex: 0 0 auto;
}
.odd-input-wrap::before {
position: absolute;
top: 50%;
left: 11px;
transform: translateY(-50%);
color: var(--green);
content: "@";
font-size: 10px;
font-weight: 900;
}
.oddbox input {
width: 100%;
height: 37px;
padding: 0 9px 0 27px;
border: 1px solid var(--line-strong);
border-radius: 8px;
outline: 0;
background: #07110c;
color: var(--text);
font-size: 12px;
font-variant-numeric: tabular-nums;
font-weight: 800;
transition: border-color .2s ease, box-shadow .2s ease;
}
.oddbox input:focus {
border-color: rgba(56, 233, 145, .55);
box-shadow: 0 0 0 3px rgba(56, 233, 145, .08);
}
.oddresult {
display: block;
min-height: 16px;
margin-top: 9px;
color: var(--muted);
font-size: 9px;
line-height: 1.5;
}
.oddresult.good { color: var(--green); }
.oddresult.fair { color: var(--amber); }
.oddresult.weak { color: var(--red); }
.radar-section {
position: relative;
padding-top: 2px;
}
.radar-section::before {
position: absolute;
z-index: -1;
top: 40px;
right: -12%;
width: 380px;
height: 240px;
border-radius: 50%;
background: rgba(255, 202, 100, .025);
content: "";
filter: blur(70px);
pointer-events: none;
}
.radar-head .eyebrow {
color: var(--amber);
}
.radar-head .eyebrow i {
background: var(--amber);
}
.radar-badge {
border-color: rgba(255, 202, 100, .2);
background: rgba(255, 202, 100, .055);
color: var(--amber);
}
.radar-disclaimer {
display: grid;
align-items: center;
gap: 14px;
margin-bottom: 12px;
padding: 15px 17px;
border: 1px solid rgba(255, 202, 100, .24);
border-radius: 14px;
background:
linear-gradient(90deg, rgba(255, 202, 100, .085), rgba(255, 113, 132, .03)),
rgba(13, 20, 16, .9);
box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
grid-template-columns: 39px minmax(0, 1fr) auto;
}
.radar-disclaimer-icon {
display: grid;
width: 39px;
height: 39px;
border: 1px solid rgba(255, 202, 100, .28);
border-radius: 11px;
background: rgba(255, 202, 100, .08);
place-items: center;
color: var(--amber);
}
.radar-disclaimer-icon svg {
width: 19px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.radar-disclaimer strong,
.radar-disclaimer p {
display: block;
}
.radar-disclaimer strong {
color: #ffe2a8;
font-size: 11px;
font-weight: 900;
letter-spacing: .09em;
}
.radar-disclaimer p {
margin: 4px 0 0;
color: #b6a98d;
font-size: 9px;
line-height: 1.5;
}
.radar-disclaimer-state {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 9px;
border: 1px solid rgba(255, 113, 132, .25);
border-radius: 999px;
background: rgba(255, 113, 132, .07);
color: var(--red);
font-size: 7px;
font-weight: 900;
letter-spacing: .1em;
white-space: nowrap;
}
.radar-disclaimer-state i {
width: 6px;
height: 6px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 8px currentColor;
}
.radar-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.radar-card {
position: relative;
min-width: 0;
overflow: hidden;
padding: 17px;
border-color: rgba(255, 202, 100, .16);
background: linear-gradient(145deg, rgba(28, 27, 19, .96), rgba(13, 18, 15, .98));
box-shadow: 0 16px 42px rgba(0, 0, 0, .22);
transition: transform .2s ease, border-color .2s ease;
}
.radar-card:not(.skeleton):hover {
transform: translateY(-2px);
border-color: rgba(255, 202, 100, .28);
}
.radar-card::before {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 2px;
background: repeating-linear-gradient(90deg, var(--amber) 0 10px, transparent 10px 16px);
content: "";
opacity: .58;
}
.radar-card-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.radar-meta {
display: flex;
min-width: 0;
flex-wrap: wrap;
align-items: center;
gap: 6px;
}
.radar-index,
.radar-competition {
display: inline-flex;
min-height: 22px;
align-items: center;
padding: 4px 7px;
border: 1px solid var(--line);
border-radius: 6px;
color: var(--muted);
font-size: 7px;
font-weight: 850;
letter-spacing: .08em;
line-height: 1.2;
}
.radar-index {
border-color: rgba(255, 202, 100, .22);
background: rgba(255, 202, 100, .06);
color: var(--amber);
}
.radar-kickoff {
width: 100%;
margin-top: 2px;
color: #817968;
font-size: 8px;
}
.radar-score {
flex: 0 0 auto;
min-width: 48px;
padding: 7px 8px;
border: 1px solid rgba(255, 202, 100, .2);
border-radius: 9px;
background: rgba(255, 202, 100, .055);
text-align: center;
}
.radar-score strong,
.radar-score small {
display: block;
}
.radar-score strong {
color: var(--amber);
font-size: 15px;
font-variant-numeric: tabular-nums;
line-height: 1;
}
.radar-score small {
margin-top: 3px;
color: #8f846e;
font-size: 6px;
font-weight: 900;
letter-spacing: .08em;
}
.radar-matchup {
display: grid;
align-items: center;
gap: 8px;
margin: 17px 0 14px;
grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
}
.radar-team {
display: flex;
min-width: 0;
align-items: center;
gap: 7px;
}
.radar-team:last-child {
flex-direction: row-reverse;
text-align: right;
}
.radar-team-badge {
display: grid;
width: 29px;
height: 29px;
flex: 0 0 auto;
border: 1px solid rgba(255, 202, 100, .14);
border-radius: 8px;
background: rgba(255, 202, 100, .035);
place-items: center;
color: #b6a98c;
font-size: 8px;
font-weight: 900;
}
.radar-team strong {
min-width: 0;
overflow: hidden;
color: #e4e8e5;
font-size: 10px;
font-weight: 750;
line-height: 1.3;
text-overflow: ellipsis;
}
.empty-radar-link {
display: inline-flex;
align-items: center;
gap: 7px;
margin-top: 12px;
padding: 8px 12px;
border: 1px solid rgba(255, 202, 100, .24);
border-radius: 8px;
color: #e6bd67;
font-size: 10px;
font-weight: 800;
letter-spacing: .04em;
text-decoration: none;
text-transform: uppercase;
transition: border-color .2s ease, background .2s ease;
}
.empty-radar-link:hover,
.empty-radar-link:focus-visible {
border-color: rgba(255, 202, 100, .6);
background: rgba(255, 202, 100, .08);
}
.radar-versus {
color: #776f60;
font-size: 7px;
font-weight: 900;
text-align: center;
}
.radar-selection {
padding: 12px;
border: 1px solid rgba(255, 202, 100, .2);
border-radius: 10px;
background: rgba(255, 202, 100, .055);
}
.radar-selection-copy {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.radar-selection-copy > div span,
.radar-selection-copy > div strong {
display: block;
}
.radar-selection-copy > div span {
color: #8f846e;
font-size: 7px;
font-weight: 850;
letter-spacing: .09em;
}
.radar-selection-copy > div strong {
margin-top: 3px;
color: #f0dfbd;
font-size: 12px;
font-weight: 800;
}
.radar-eye {
display: grid;
width: 27px;
height: 27px;
flex: 0 0 auto;
border: 1px solid rgba(255, 202, 100, .18);
border-radius: 8px;
place-items: center;
color: var(--amber);
}
.radar-eye svg {
width: 15px;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.observation-label {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
margin-top: 9px;
padding-top: 9px;
border-top: 1px solid rgba(255, 202, 100, .13);
color: var(--red);
font-size: 7px;
font-weight: 900;
letter-spacing: .08em;
text-align: center;
}
.observation-label i {
width: 5px;
height: 5px;
border-radius: 50%;
background: currentColor;
}
.radar-metrics {
display: grid;
gap: 6px;
margin-top: 11px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.radar-metric {
min-width: 0;
padding: 9px;
border: 1px solid rgba(185, 219, 202, .09);
border-radius: 8px;
background: rgba(0, 0, 0, .14);
}
.radar-metric span,
.radar-metric strong {
display: block;
}
.radar-metric span {
overflow: hidden;
color: #7e897f;
font-size: 6px;
font-weight: 850;
letter-spacing: .07em;
text-overflow: ellipsis;
white-space: nowrap;
}
.radar-metric strong {
margin-top: 4px;
color: #dbe2de;
font-size: 10px;
font-variant-numeric: tabular-nums;
font-weight: 800;
}
.radar-metric.model-ev strong {
color: var(--amber);
}
.radar-signals {
display: grid;
gap: 10px;
margin-top: 13px;
padding-top: 12px;
border-top: 1px solid rgba(185, 219, 202, .09);
}
.radar-signal-group > span {
display: block;
margin-bottom: 6px;
color: #7e897f;
font-size: 7px;
font-weight: 850;
letter-spacing: .08em;
}
.radar-tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.radar-tag {
padding: 5px 7px;
border: 1px solid var(--line);
border-radius: 999px;
background: rgba(255, 255, 255, .018);
color: #99a59e;
font-size: 7px;
line-height: 1.25;
}
.radar-tag.blocker {
border-color: rgba(255, 113, 132, .18);
background: rgba(255, 113, 132, .045);
color: #e9a1aa;
}
.radar-card-footer {
display: flex;
align-items: center;
gap: 7px;
margin-top: 13px;
padding-top: 11px;
border-top: 1px dashed rgba(255, 202, 100, .13);
color: #817968;
font-size: 7px;
font-weight: 750;
letter-spacing: .05em;
}
.radar-card-footer svg {
width: 13px;
flex: 0 0 auto;
fill: none;
stroke: var(--red);
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.radar-grid > .radar-empty {
min-height: 170px;
border-color: rgba(255, 202, 100, .13);
background: linear-gradient(145deg, rgba(26, 25, 18, .7), rgba(11, 17, 14, .88));
grid-column: 1 / -1;
}
.radar-empty .empty-icon {
border-color: rgba(255, 202, 100, .18);
background: rgba(255, 202, 100, .055);
color: var(--amber);
}
.radar-empty .empty-icon svg {
width: 19px;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.ticket-grid {
display: grid;
gap: 14px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ticket {
position: relative;
min-height: 350px;
overflow: hidden;
padding: 20px;
box-shadow: 0 18px 48px rgba(0, 0, 0, .22);
transition: transform .25s ease, border-color .25s ease;
}
.ticket:hover {
transform: translateY(-3px);
}
.ticket::before {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 2px;
background: var(--profile-color, var(--green));
box-shadow: 0 0 18px var(--profile-color, var(--green));
content: "";
opacity: .8;
}
.ticket[data-profile="safe"] { --profile-color: var(--green); }
.ticket[data-profile="balanced"] { --profile-color: var(--blue); }
.ticket[data-profile="freebet"] { --profile-color: var(--violet); }
.ticket-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.ticket-profile {
display: flex;
align-items: center;
gap: 10px;
}
.ticket-icon {
display: grid;
width: 36px;
height: 36px;
border: 1px solid color-mix(in srgb, var(--profile-color) 35%, transparent);
border-radius: 11px;
background: color-mix(in srgb, var(--profile-color) 9%, transparent);
place-items: center;
color: var(--profile-color);
}
.ticket-icon svg {
width: 18px;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.ticket-profile h3,
.ticket-profile span {
display: block;
}
.ticket-profile h3 {
margin: 0;
font-size: 13px;
font-weight: 850;
letter-spacing: -.01em;
}
.ticket-profile span {
margin-top: 3px;
color: var(--muted);
font-size: 8px;
font-weight: 700;
letter-spacing: .08em;
}
.risk-chip {
padding: 5px 7px;
border: 1px solid color-mix(in srgb, var(--profile-color) 25%, transparent);
border-radius: 999px;
background: color-mix(in srgb, var(--profile-color) 6%, transparent);
color: var(--profile-color);
font-size: 7px;
font-weight: 900;
letter-spacing: .08em;
}
.ticket-odd {
margin: 23px 0 19px;
}
.ticket-odd span,
.ticket-odd strong {
display: block;
}
.ticket-odd span {
color: var(--muted);
font-size: 8px;
font-weight: 800;
letter-spacing: .08em;
}
.ticket-odd strong {
margin-top: 4px;
color: var(--profile-color);
font-size: 34px;
font-variant-numeric: tabular-nums;
font-weight: 900;
letter-spacing: -.045em;
line-height: 1;
}
.ticket-summary {
display: grid;
gap: 6px;
padding: 11px 12px;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(0, 0, 0, .13);
grid-template-columns: repeat(3, 1fr);
}
.ticket-summary div:not(:last-child) {
border-right: 1px solid var(--line);
}
.ticket-summary span,
.ticket-summary strong {
display: block;
text-align: center;
}
.ticket-summary span {
color: var(--muted);
font-size: 6px;
font-weight: 800;
letter-spacing: .07em;
}
.ticket-summary strong {
margin-top: 4px;
font-size: 10px;
font-variant-numeric: tabular-nums;
}
.target-state {
display: flex;
align-items: center;
gap: 6px;
margin: 13px 0 7px;
color: var(--muted);
font-size: 8px;
font-weight: 700;
}
.target-state i {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--amber);
}
.target-state.met {
color: var(--green);
}
.target-state.met i {
background: currentColor;
}
.ticket-legs {
margin-top: 9px;
}
.ticket-leg {
position: relative;
display: grid;
gap: 3px;
padding: 10px 0 10px 17px;
border-top: 1px dashed rgba(185, 219, 202, .1);
}
.ticket-leg::before {
position: absolute;
top: 15px;
left: 2px;
width: 6px;
height: 6px;
border: 1px solid var(--profile-color);
border-radius: 50%;
background: color-mix(in srgb, var(--profile-color) 25%, #06100b);
content: "";
}
.ticket-leg b {
font-size: 10px;
font-weight: 750;
line-height: 1.35;
}
.ticket-leg span {
overflow: hidden;
color: var(--muted);
font-size: 8px;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.ticket .empty {
min-height: 235px;
padding: 36px 12px;
}
.system-layout {
display: grid;
align-items: stretch;
gap: 14px;
grid-template-columns: minmax(0, 1.65fr) minmax(290px, .75fr);
}
.health-panel {
padding: 20px;
box-shadow: 0 18px 48px rgba(0, 0, 0, .22);
}
.panel-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
padding: 2px 2px 17px;
border-bottom: 1px solid var(--line);
}
.panel-heading h3,
.methodology h3 {
margin: 5px 0 0;
font-size: 17px;
font-weight: 800;
letter-spacing: -.025em;
}
.secure-label {
display: flex;
align-items: center;
gap: 7px;
padding: 6px 8px;
border: 1px solid rgba(56, 233, 145, .18);
border-radius: 999px;
background: rgba(56, 233, 145, .05);
color: var(--green);
font-size: 7px;
font-weight: 900;
letter-spacing: .08em;
}
.health {
display: grid;
gap: 8px;
padding-top: 16px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.health-card {
position: relative;
min-height: 79px;
overflow: hidden;
padding: 13px;
border: 1px solid var(--line);
border-radius: 11px;
background: rgba(2, 8, 5, .22);
}
.health-card > span,
.health-card > strong,
.health-card > small {
display: block;
}
.health-card > span {
overflow: hidden;
color: var(--muted);
font-size: 7px;
font-weight: 850;
letter-spacing: .08em;
text-overflow: ellipsis;
white-space: nowrap;
}
.health-card > strong {
overflow: hidden;
margin-top: 7px;
font-size: 13px;
font-variant-numeric: tabular-nums;
font-weight: 800;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.health-card > small {
margin-top: 4px;
color: #6f8278;
font-size: 7px;
}
.provider-status {
display: inline-flex !important;
align-items: center;
gap: 6px;
}
.provider-status i {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--muted);
}
.provider-status.online {
color: var(--green);
}
.provider-status.online i {
background: currentColor;
box-shadow: 0 0 8px currentColor;
}
.provider-status.partial {
color: var(--amber);
}
.provider-status.partial i {
background: currentColor;
box-shadow: 0 0 8px currentColor;
}
.methodology {
position: relative;
overflow: hidden;
padding: 25px;
border-color: rgba(56, 233, 145, .16);
background: linear-gradient(145deg, rgba(18, 42, 31, .97), rgba(9, 20, 15, .98));
}
.methodology::after {
position: absolute;
right: -70px;
bottom: -70px;
width: 180px;
height: 180px;
border: 1px solid rgba(56, 233, 145, .08);
border-radius: 50%;
box-shadow: 0 0 0 34px rgba(56, 233, 145, .018), 0 0 0 68px rgba(56, 233, 145, .01);
content: "";
}
.methodology > p {
margin: 11px 0 0;
color: var(--muted);
font-size: 10px;
line-height: 1.6;
}
.methodology ul {
position: relative;
z-index: 1;
display: grid;
gap: 12px;
margin: 19px 0;
padding: 0;
list-style: none;
}
.methodology li {
display: grid;
align-items: center;
gap: 10px;
grid-template-columns: 28px 1fr;
}
.methodology li > span {
display: grid;
width: 27px;
height: 27px;
border: 1px solid rgba(56, 233, 145, .2);
border-radius: 8px;
background: rgba(56, 233, 145, .06);
place-items: center;
color: var(--green);
font-size: 7px;
font-weight: 900;
}
.methodology li strong,
.methodology li small {
display: block;
}
.methodology li strong {
font-size: 10px;
}
.methodology li small {
margin-top: 3px;
color: var(--muted);
font-size: 8px;
line-height: 1.4;
}
.methodology-note {
position: relative;
z-index: 1;
display: flex;
align-items: flex-start;
gap: 8px;
padding-top: 14px;
border-top: 1px solid var(--line);
color: #91a99d;
font-size: 8px;
line-height: 1.5;
}
.methodology-note svg {
width: 14px;
flex: 0 0 auto;
fill: none;
stroke: var(--green);
stroke-width: 1.8;
stroke-linecap: round;
}
.empty {
display: flex;
min-height: 160px;
align-items: center;
justify-content: center;
gap: 10px;
padding: 28px;
color: var(--muted);
font-size: 11px;
line-height: 1.6;
text-align: center;
}
.picks > .empty {
grid-column: 1 / -1;
}
.empty-content {
max-width: 420px;
}
.empty-icon {
display: grid;
width: 42px;
height: 42px;
margin: 0 auto 11px;
border: 1px solid var(--line);
border-radius: 12px;
background: rgba(255, 255, 255, .025);
place-items: center;
color: var(--green);
font-size: 16px;
}
.empty strong,
.empty small {
display: block;
}
.empty strong {
color: var(--muted-strong);
font-size: 12px;
}
.empty small {
margin-top: 5px;
font-size: 9px;
}
.loading-state {
min-height: 220px;
}
.loader {
width: 16px;
height: 16px;
border: 2px solid rgba(56, 233, 145, .18);
border-top-color: var(--green);
border-radius: 50%;
animation: spin .75s linear infinite;
}
.skeleton {
position: relative;
min-height: 120px;
overflow: hidden;
}
.skeleton::after {
position: absolute;
inset: 0;
transform: translateX(-100%);
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .035), transparent);
content: "";
animation: shimmer 1.6s infinite;
}
.toast {
position: fixed;
z-index: 200;
right: 22px;
bottom: 22px;
max-width: min(360px, calc(100vw - 32px));
padding: 11px 14px;
transform: translateY(20px);
border: 1px solid rgba(56, 233, 145, .27);
border-radius: 11px;
background: rgba(13, 29, 22, .96);
box-shadow: var(--shadow);
color: #dcf8e9;
font-size: 10px;
font-weight: 750;
opacity: 0;
pointer-events: none;
transition: opacity .2s ease, transform .2s ease;
}
.toast.show {
transform: translateY(0);
opacity: 1;
}
footer {
display: grid;
align-items: center;
gap: 16px;
margin-top: 64px;
padding: 25px 2px 0;
border-top: 1px solid var(--line);
grid-template-columns: auto 1fr auto;
color: #657a6f;
font-size: 8px;
line-height: 1.5;
}
.footer-brand {
display: flex;
align-items: center;
gap: 8px;
color: var(--muted-strong);
font-size: 9px;
letter-spacing: .06em;
}
.brand-mark.small {
width: 24px;
height: 24px;
border: 1px solid rgba(56, 233, 145, .2);
border-radius: 8px;
background: rgba(56, 233, 145, .06);
font-size: 11px;
}
footer p {
margin: 0;
text-align: center;
}
footer > span {
text-align: right;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
@keyframes shimmer {
100% { transform: translateX(100%); }
}
@keyframes status-pulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(56, 233, 145, .38); }
50% { box-shadow: 0 0 0 5px rgba(56, 233, 145, 0); }
}
@media (max-width: 1050px) {
.hero {
grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}
.hero-copy {
padding: 40px;
}
.hero-console {
margin: 28px 28px 28px 0;
}
.stats-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.stat-copy strong {
font-size: 32px;
}
.metrics {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.radar-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.system-layout {
grid-template-columns: 1fr;
}
.methodology ul {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 820px) {
:root {
--header-height: 66px;
}
.topbar-inner,
.container {
width: min(100% - 28px, 1240px);
}
.brand-copy small,
.main-nav {
display: none;
}
.hero {
min-height: 0;
grid-template-columns: 1fr;
}
.hero-copy {
padding: 38px 28px 28px;
}
.hero h1 {
max-width: 640px;
}
.hero-console {
margin: 0 28px 28px;
}
.picks,
.radar-grid,
.ticket-grid {
grid-template-columns: 1fr;
}
.ticket {
min-height: auto;
}
.health {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.methodology ul {
grid-template-columns: 1fr;
}
footer {
grid-template-columns: 1fr;
justify-items: center;
text-align: center;
}
footer > span {
text-align: center;
}
}
@media (max-width: 560px) {
.topbar-inner,
.container {
width: min(100% - 20px, 1240px);
}
.topbar-actions .pill {
max-width: 120px;
overflow: hidden;
}
.brand-mark {
width: 30px;
}
.brand-copy strong {
font-size: 13px;
}
.container {
padding-top: 14px;
}
.hero-copy {
padding: 30px 20px 24px;
}
.hero h1 {
margin-top: 14px;
font-size: clamp(34px, 11vw, 48px);
}
.hero-copy > p {
font-size: 13px;
}
.hero-actions {
align-items: stretch;
flex-direction: column;
}
.btn {
width: 100%;
}
.hero-console {
margin: 0 14px 14px;
}
.hero-footnote {
align-items: flex-start;
}
.stats-grid {
gap: 9px;
margin-bottom: 48px;
}
.stat {
min-height: 126px;
align-items: flex-start;
flex-direction: column;
gap: 11px;
padding: 15px;
}
.stat-icon {
width: 34px;
height: 34px;
}
.stat-copy strong {
font-size: 27px;
}
.content-section {
margin-top: 48px;
}
.section-head {
align-items: flex-start;
flex-direction: column;
gap: 12px;
}
.section-head h2 {
font-size: 27px;
}
.update-time,
.section-badge {
align-self: flex-start;
}
.pick-head,
.pick-body {
padding-right: 15px;
padding-left: 15px;
}
.matchup {
gap: 7px;
}
.team {
align-items: flex-start;
flex-direction: column;
}
.team:last-child {
align-items: flex-end;
flex-direction: column;
}
.team strong {
font-size: 11px;
}
.metrics {
gap: 6px;
}
.metric {
padding: 9px;
}
.selection-box {
align-items: flex-start;
flex-direction: column;
gap: 9px;
}
.radar-disclaimer {
align-items: flex-start;
grid-template-columns: 34px minmax(0, 1fr);
}
.radar-disclaimer-icon {
width: 34px;
height: 34px;
}
.radar-disclaimer-state {
grid-column: 2;
justify-self: start;
}
.radar-card {
padding: 15px;
}
.radar-metrics {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.odd-input-row {
align-items: stretch;
flex-direction: column;
}
.odd-input-wrap {
width: 100%;
}
.copyline {
width: 100%;
}
.copybtn {
flex: 1;
justify-content: center;
}
.health-panel,
.methodology,
.ticket {
padding: 16px;
}
.health {
grid-template-columns: 1fr;
}
.panel-heading {
align-items: flex-start;
flex-direction: column;
}
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
*,
*::before,
*::after {
scroll-behavior: auto !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
}