more muted pages
This commit is contained in:
8 files changed
+165
-198
No files matched your search
@@ -37,7 +37,7 @@ class Config:
|
|||||||
SQLALCHEMY_TRACK_MODIFICATIONS: bool = False
|
SQLALCHEMY_TRACK_MODIFICATIONS: bool = False
|
||||||
SESSION_COOKIE_HTTPONLY: bool = True
|
SESSION_COOKIE_HTTPONLY: bool = True
|
||||||
SESSION_COOKIE_SAMESITE: str = "Lax"
|
SESSION_COOKIE_SAMESITE: str = "Lax"
|
||||||
SESSION_COOKIE_NAME: str = "poker_portal_session"
|
SESSION_COOKIE_NAME: str = "myboker_org_session"
|
||||||
DATA_PATH: Path = DATA_PATH
|
DATA_PATH: Path = DATA_PATH
|
||||||
WTF_CSRF_TIME_LIMIT: int = 3600
|
WTF_CSRF_TIME_LIMIT: int = 3600
|
||||||
APP_BASE_URL: str = os.getenv("APP_BASE_URL", "http://localhost:5000")
|
APP_BASE_URL: str = os.getenv("APP_BASE_URL", "http://localhost:5000")
|
||||||
|
|||||||
+150
-161
@@ -283,8 +283,8 @@ h1, h2, h3, h4 { margin: 0; }
|
|||||||
.topbar {
|
.topbar {
|
||||||
position: sticky; top: 0; z-index: 50;
|
position: sticky; top: 0; z-index: 50;
|
||||||
background: rgba(10,10,13,.94);
|
background: rgba(10,10,13,.94);
|
||||||
backdrop-filter: blur(14px) saturate(180%);
|
backdrop-filter: blur(10px);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.topbar__inner {
|
.topbar__inner {
|
||||||
max-width: var(--w-admin);
|
max-width: var(--w-admin);
|
||||||
@@ -305,8 +305,8 @@ h1, h2, h3, h4 { margin: 0; }
|
|||||||
.brand__mark {
|
.brand__mark {
|
||||||
width: 30px; height: 30px;
|
width: 30px; height: 30px;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
background: linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 72%, #7c6fd4) 100%);
|
background: var(--accent);
|
||||||
box-shadow: 0 0 0 1px var(--accent-a30), 0 4px 18px var(--accent-a22);
|
box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
|
||||||
position: relative;
|
position: relative;
|
||||||
flex: none;
|
flex: none;
|
||||||
}
|
}
|
||||||
@@ -601,7 +601,7 @@ h3 {
|
|||||||
box-shadow: var(--shadow-sm);
|
box-shadow: var(--shadow-sm);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
transition: box-shadow 180ms, transform 180ms;
|
transition: border-color 140ms, box-shadow 140ms;
|
||||||
}
|
}
|
||||||
.panel__head {
|
.panel__head {
|
||||||
padding: 16px 22px;
|
padding: 16px 22px;
|
||||||
@@ -696,7 +696,7 @@ h3 {
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.stat--rail { position: relative; padding-left: 20px; background: linear-gradient(135deg, var(--surface) 50%, color-mix(in srgb, var(--rail, var(--accent)) 6%, transparent) 100%); }
|
.stat--rail { position: relative; padding-left: 20px; background: var(--surface); }
|
||||||
.stat--rail::before {
|
.stat--rail::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -763,9 +763,9 @@ h3 {
|
|||||||
}
|
}
|
||||||
.seg:hover { color: var(--text-2); }
|
.seg:hover { color: var(--text-2); }
|
||||||
.seg.is-on {
|
.seg.is-on {
|
||||||
background: var(--accent-chip);
|
background: var(--surface-head);
|
||||||
color: var(--text-strong);
|
color: var(--text-strong);
|
||||||
box-shadow: inset 0 0 0 1px var(--accent-chip-bd);
|
box-shadow: inset 0 0 0 1px var(--border-hi);
|
||||||
}
|
}
|
||||||
.seg__count { font-family: var(--font-mono); font-size: 11px; font-weight: 500; color: var(--faintest); }
|
.seg__count { font-family: var(--font-mono); font-size: 11px; font-weight: 500; color: var(--faintest); }
|
||||||
.seg.is-on .seg__count { color: var(--accent); }
|
.seg.is-on .seg__count { color: var(--accent); }
|
||||||
@@ -1376,10 +1376,10 @@ td a:hover { color: var(--accent); }
|
|||||||
font: 700 14px var(--font-ui);
|
font: 700 14px var(--font-ui);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
transition: opacity 120ms, box-shadow 120ms;
|
transition: background 120ms, border-color 120ms, color 120ms, opacity 120ms;
|
||||||
}
|
}
|
||||||
.btn--primary { background: var(--accent); color: var(--accent-ink); box-shadow: 0 2px 12px var(--accent-a30); font-weight: 700; }
|
.btn--primary { background: var(--accent); color: var(--accent-ink); box-shadow: none; font-weight: 700; }
|
||||||
.btn--primary:hover { opacity: .88; box-shadow: 0 4px 20px var(--accent-a30); }
|
.btn--primary:hover { opacity: .9; }
|
||||||
.btn--ghost { background: var(--field); color: var(--text-2); border: 1px solid var(--border-strong); font-weight: 600; }
|
.btn--ghost { background: var(--field); color: var(--text-2); border: 1px solid var(--border-strong); font-weight: 600; }
|
||||||
.btn--ghost:hover { border-color: var(--border-hi); color: var(--text-strong); }
|
.btn--ghost:hover { border-color: var(--border-hi); color: var(--text-strong); }
|
||||||
.btn--outline { background: var(--accent-tint); color: var(--accent); border: 1px solid var(--accent-chip-bd); }
|
.btn--outline { background: var(--accent-tint); color: var(--accent); border: 1px solid var(--accent-chip-bd); }
|
||||||
@@ -1410,11 +1410,11 @@ td a:hover { color: var(--accent); }
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: var(--accent);
|
background: var(--accent);
|
||||||
color: var(--accent-ink);
|
color: var(--accent-ink);
|
||||||
box-shadow: 0 2px 12px var(--accent-a30);
|
box-shadow: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: opacity 120ms, box-shadow 120ms;
|
transition: opacity 120ms, background 120ms;
|
||||||
}
|
}
|
||||||
.primary-button:hover { opacity: .88; box-shadow: 0 4px 20px var(--accent-a30); }
|
.primary-button:hover { opacity: .9; }
|
||||||
.secondary-button, .ghost-button {
|
.secondary-button, .ghost-button {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -3867,10 +3867,8 @@ select.control { cursor: pointer; }
|
|||||||
.card-menu__item--warn:hover { background: var(--neg-tint); color: var(--neg); }
|
.card-menu__item--warn:hover { background: var(--neg-tint); color: var(--neg); }
|
||||||
|
|
||||||
/* ================================================================
|
/* ================================================================
|
||||||
LANDING v2 (lp-* classes) — split hero
|
LANDING v2
|
||||||
================================================================ */
|
================================================================ */
|
||||||
|
|
||||||
/* Remove default padding; hero handles its own layout */
|
|
||||||
.page--landing {
|
.page--landing {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
max-width: none;
|
max-width: none;
|
||||||
@@ -3892,27 +3890,29 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ================================================================
|
/* ================================================================
|
||||||
LANDING PAGE — split hero
|
LANDING PAGE
|
||||||
================================================================ */
|
================================================================ */
|
||||||
.lp-hero {
|
.lp-hero {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: clamp(48px, 7vw, 100px);
|
gap: clamp(40px, 6vw, 84px);
|
||||||
min-height: calc(100vh - 62px);
|
min-height: min(780px, calc(100vh - 62px));
|
||||||
padding: clamp(56px, 6vw, 80px) clamp(24px, 5vw, 80px);
|
padding: clamp(48px, 5vw, 68px) clamp(24px, 5vw, 80px);
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse 90% 70% at 50% 110%, #1c0e3e 0%, #100820 55%, var(--bg) 100%),
|
radial-gradient(ellipse 85% 62% at 50% 108%, rgba(155,140,240,.105) 0%, rgba(155,140,240,.035) 48%, transparent 72%),
|
||||||
radial-gradient(ellipse 55% 50% at 85% 20%, rgba(155,140,240,.09) 0%, transparent 60%);
|
radial-gradient(ellipse 50% 40% at 88% 16%, rgba(111,192,147,.035) 0%, transparent 58%),
|
||||||
|
linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, var(--bg)) 0%, var(--bg) 82%),
|
||||||
|
var(--bg);
|
||||||
}
|
}
|
||||||
.lp-hero::before {
|
.lp-hero::before {
|
||||||
content: "♠";
|
content: "♠";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: clamp(420px, 55vw, 820px);
|
font-size: clamp(420px, 55vw, 820px);
|
||||||
color: rgba(155,140,240,.075);
|
color: rgba(255,255,255,.035);
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
@@ -3943,10 +3943,10 @@ select.control { cursor: pointer; }
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 7px;
|
gap: 7px;
|
||||||
padding: 5px 14px;
|
padding: 5px 14px;
|
||||||
border-radius: 999px;
|
border-radius: var(--r-pill);
|
||||||
background: var(--accent-chip);
|
background: var(--surface-raised);
|
||||||
border: 1px solid var(--accent-chip-bd);
|
border: 1px solid var(--border);
|
||||||
color: var(--accent);
|
color: var(--muted);
|
||||||
font: 600 10.5px var(--font-mono);
|
font: 600 10.5px var(--font-mono);
|
||||||
letter-spacing: .10em;
|
letter-spacing: .10em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@@ -3957,15 +3957,15 @@ select.control { cursor: pointer; }
|
|||||||
content: "";
|
content: "";
|
||||||
width: 5px; height: 5px;
|
width: 5px; height: 5px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: var(--accent);
|
background: var(--muted-2);
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lp-h1 {
|
.lp-h1 {
|
||||||
font-size: clamp(48px, 7vw, 96px);
|
font-size: clamp(44px, 6.2vw, 82px);
|
||||||
font-weight: 900;
|
font-weight: 800;
|
||||||
letter-spacing: -.045em;
|
letter-spacing: -.035em;
|
||||||
line-height: .88;
|
line-height: .95;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
margin: 0 0 24px;
|
margin: 0 0 24px;
|
||||||
}
|
}
|
||||||
@@ -3974,8 +3974,8 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.lp-sub {
|
.lp-sub {
|
||||||
font-size: clamp(14px, 1.2vw, 16px);
|
font-size: clamp(14px, 1.2vw, 16px);
|
||||||
color: rgba(255,255,255,.55);
|
color: var(--muted);
|
||||||
line-height: 1.65;
|
line-height: 1.6;
|
||||||
max-width: 44ch;
|
max-width: 44ch;
|
||||||
margin: 0 0 28px;
|
margin: 0 0 28px;
|
||||||
}
|
}
|
||||||
@@ -3989,10 +3989,10 @@ select.control { cursor: pointer; }
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-size: 11.5px;
|
font-size: 11.5px;
|
||||||
color: rgba(255,255,255,.3);
|
color: var(--faint);
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.lp-trust__sep { color: rgba(255,255,255,.15); }
|
.lp-trust__sep { color: var(--border-hi); }
|
||||||
|
|
||||||
/* ---- Demo card ---- */
|
/* ---- Demo card ---- */
|
||||||
.lp-demo {
|
.lp-demo {
|
||||||
@@ -4003,23 +4003,19 @@ select.control { cursor: pointer; }
|
|||||||
margin-top: 52px;
|
margin-top: 52px;
|
||||||
}
|
}
|
||||||
.lp-demo__card {
|
.lp-demo__card {
|
||||||
background: rgba(14,12,22,.9);
|
background: var(--surface);
|
||||||
border: 1px solid rgba(155,140,240,.22);
|
border: 1px solid var(--border);
|
||||||
border-radius: var(--r-lg);
|
border-radius: var(--r-lg);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
backdrop-filter: blur(16px);
|
box-shadow: var(--shadow-lg);
|
||||||
box-shadow:
|
|
||||||
0 0 0 1px rgba(155,140,240,.07),
|
|
||||||
0 28px 72px rgba(0,0,0,.55),
|
|
||||||
0 0 120px rgba(155,140,240,.07);
|
|
||||||
}
|
}
|
||||||
.lp-demo__head {
|
.lp-demo__head {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 14px 22px;
|
padding: 14px 22px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.07);
|
border-bottom: 1px solid var(--border);
|
||||||
background: rgba(255,255,255,.03);
|
background: var(--surface-head);
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
}
|
}
|
||||||
.lp-demo__kicker {
|
.lp-demo__kicker {
|
||||||
@@ -4028,18 +4024,18 @@ select.control { cursor: pointer; }
|
|||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
letter-spacing: .12em;
|
letter-spacing: .12em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: var(--accent);
|
color: var(--muted);
|
||||||
margin-bottom: 3px;
|
margin-bottom: 3px;
|
||||||
}
|
}
|
||||||
.lp-demo__title {
|
.lp-demo__title {
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(255,255,255,.82);
|
color: var(--text-strong);
|
||||||
}
|
}
|
||||||
.lp-demo__meta {
|
.lp-demo__meta {
|
||||||
font-size: .72rem;
|
font-size: .72rem;
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
color: rgba(255,255,255,.3);
|
color: var(--faint);
|
||||||
letter-spacing: .04em;
|
letter-spacing: .04em;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
@@ -4054,15 +4050,15 @@ select.control { cursor: pointer; }
|
|||||||
.lp-demo__thead {
|
.lp-demo__thead {
|
||||||
padding-top: 9px;
|
padding-top: 9px;
|
||||||
padding-bottom: 9px;
|
padding-bottom: 9px;
|
||||||
background: rgba(255,255,255,.025);
|
background: var(--surface-head);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-demo__th {
|
.lp-demo__th {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .6rem;
|
font-size: .6rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.lp-demo__th:nth-child(1),
|
.lp-demo__th:nth-child(1),
|
||||||
@@ -4070,18 +4066,18 @@ select.control { cursor: pointer; }
|
|||||||
.lp-demo__row {
|
.lp-demo__row {
|
||||||
padding-top: 11px;
|
padding-top: 11px;
|
||||||
padding-bottom: 11px;
|
padding-bottom: 11px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.04);
|
border-bottom: 1px solid var(--divider);
|
||||||
transition: background .1s;
|
transition: background .1s;
|
||||||
}
|
}
|
||||||
.lp-demo__row:last-child { border-bottom: none; }
|
.lp-demo__row:last-child { border-bottom: none; }
|
||||||
.lp-demo__row:hover { background: rgba(155,140,240,.05); }
|
.lp-demo__row:hover { background: var(--surface-raised); }
|
||||||
.lp-demo__row--fade { opacity: .65; }
|
.lp-demo__row--fade { opacity: .65; }
|
||||||
.lp-demo__row--fade2 { opacity: .38; }
|
.lp-demo__row--fade2 { opacity: .38; }
|
||||||
.lp-demo__rank {
|
.lp-demo__rank {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .8125rem;
|
font-size: .8125rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
.lp-demo__rank--1 { color: #f4c430; }
|
.lp-demo__rank--1 { color: #f4c430; }
|
||||||
@@ -4090,12 +4086,12 @@ select.control { cursor: pointer; }
|
|||||||
.lp-demo__player {
|
.lp-demo__player {
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: rgba(255,255,255,.82);
|
color: var(--text-2);
|
||||||
}
|
}
|
||||||
.lp-demo__num {
|
.lp-demo__num {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .8125rem;
|
font-size: .8125rem;
|
||||||
color: rgba(255,255,255,.38);
|
color: var(--num);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
}
|
}
|
||||||
@@ -4124,7 +4120,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-sec-title {
|
.lp-sec-title {
|
||||||
font-size: clamp(20px, 2.4vw, 28px);
|
font-size: clamp(20px, 2.4vw, 28px);
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.03em;
|
letter-spacing: -.03em;
|
||||||
margin: 10px 0 0;
|
margin: 10px 0 0;
|
||||||
@@ -4132,7 +4128,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-sec-sub {
|
.lp-sec-sub {
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
color: rgba(255,255,255,.4);
|
color: var(--muted);
|
||||||
margin: 8px 0 0;
|
margin: 8px 0 0;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
}
|
}
|
||||||
@@ -4142,7 +4138,7 @@ select.control { cursor: pointer; }
|
|||||||
================================================================ */
|
================================================================ */
|
||||||
.lp-features {
|
.lp-features {
|
||||||
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
||||||
border-top: 1px solid rgba(255,255,255,.06);
|
border-top: 1px solid var(--divider);
|
||||||
}
|
}
|
||||||
.lp-features__inner {
|
.lp-features__inner {
|
||||||
max-width: var(--w-public);
|
max-width: var(--w-public);
|
||||||
@@ -4152,24 +4148,24 @@ select.control { cursor: pointer; }
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
gap: 0;
|
gap: 0;
|
||||||
background: rgba(255,255,255,.05);
|
background: var(--border);
|
||||||
border: 1px solid rgba(255,255,255,.07);
|
border: 1px solid var(--border);
|
||||||
border-radius: var(--r-lg);
|
border-radius: var(--r-lg);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.lp-feat {
|
.lp-feat {
|
||||||
padding: 24px 28px;
|
padding: 24px 28px;
|
||||||
background: var(--bg);
|
background: var(--surface);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
.lp-feat + .lp-feat { border-left: 1px solid rgba(255,255,255,.06); }
|
.lp-feat + .lp-feat { border-left: 1px solid var(--border); }
|
||||||
.lp-feat__icon {
|
.lp-feat__icon {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
color: var(--accent);
|
color: var(--muted);
|
||||||
opacity: .85;
|
opacity: .95;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
}
|
}
|
||||||
.lp-feat__icon svg { width: 100%; height: 100%; }
|
.lp-feat__icon svg { width: 100%; height: 100%; }
|
||||||
@@ -4181,7 +4177,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-feat__desc {
|
.lp-feat__desc {
|
||||||
font-size: .85rem;
|
font-size: .85rem;
|
||||||
color: rgba(255,255,255,.42);
|
color: var(--muted);
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4190,8 +4186,8 @@ select.control { cursor: pointer; }
|
|||||||
================================================================ */
|
================================================================ */
|
||||||
.lp-showcase {
|
.lp-showcase {
|
||||||
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
||||||
border-top: 1px solid rgba(255,255,255,.06);
|
border-top: 1px solid var(--divider);
|
||||||
background: rgba(155,140,240,.018);
|
background: color-mix(in srgb, var(--accent) 2.5%, var(--bg));
|
||||||
}
|
}
|
||||||
.lp-showcase__inner {
|
.lp-showcase__inner {
|
||||||
max-width: var(--w-public);
|
max-width: var(--w-public);
|
||||||
@@ -4211,19 +4207,19 @@ select.control { cursor: pointer; }
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 14px;
|
gap: 14px;
|
||||||
padding: 12px 22px;
|
padding: 12px 22px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.04);
|
border-bottom: 1px solid var(--divider);
|
||||||
transition: background .1s;
|
transition: background .1s;
|
||||||
}
|
}
|
||||||
.lp-sess-row:last-child { border-bottom: none; }
|
.lp-sess-row:last-child { border-bottom: none; }
|
||||||
.lp-sess-row:hover { background: rgba(155,140,240,.05); }
|
.lp-sess-row:hover { background: var(--surface-raised); }
|
||||||
.lp-sess-row--fade { opacity: .6; }
|
.lp-sess-row--fade { opacity: .6; }
|
||||||
.lp-sess-row--fade2 { opacity: .32; }
|
.lp-sess-row--fade2 { opacity: .32; }
|
||||||
.lp-sess-date {
|
.lp-sess-date {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
width: 38px;
|
width: 38px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: rgba(255,255,255,.04);
|
background: var(--surface-head);
|
||||||
border: 1px solid rgba(255,255,255,.07);
|
border: 1px solid var(--border);
|
||||||
border-radius: var(--r-sm);
|
border-radius: var(--r-sm);
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
}
|
}
|
||||||
@@ -4233,14 +4229,14 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .58rem;
|
font-size: .58rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: var(--accent);
|
color: var(--muted);
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
.lp-sess-date__day {
|
.lp-sess-date__day {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: .9375rem;
|
font-size: .9375rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: rgba(255,255,255,.75);
|
color: var(--text-2);
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
}
|
}
|
||||||
@@ -4249,14 +4245,14 @@ select.control { cursor: pointer; }
|
|||||||
display: block;
|
display: block;
|
||||||
font-size: .8125rem;
|
font-size: .8125rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: rgba(255,255,255,.8);
|
color: var(--text-2);
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
.lp-sess-meta {
|
.lp-sess-meta {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: .72rem;
|
font-size: .72rem;
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
color: rgba(255,255,255,.3);
|
color: var(--faint);
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
.lp-sess-pill {
|
.lp-sess-pill {
|
||||||
@@ -4275,9 +4271,9 @@ select.control { cursor: pointer; }
|
|||||||
color: var(--pos);
|
color: var(--pos);
|
||||||
}
|
}
|
||||||
.lp-sess-pill--closed {
|
.lp-sess-pill--closed {
|
||||||
background: rgba(255,255,255,.05);
|
background: var(--surface-raised);
|
||||||
border: 1px solid rgba(255,255,255,.1);
|
border: 1px solid var(--border);
|
||||||
color: rgba(255,255,255,.35);
|
color: var(--faint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---- Ledger / settlement demo ---- */
|
/* ---- Ledger / settlement demo ---- */
|
||||||
@@ -4285,12 +4281,12 @@ select.control { cursor: pointer; }
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-ledger-stat {
|
.lp-ledger-stat {
|
||||||
padding: 14px 22px;
|
padding: 14px 22px;
|
||||||
border-right: 1px solid rgba(255,255,255,.05);
|
border-right: 1px solid var(--border);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.05);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-ledger-stat:nth-child(2n) { border-right: none; }
|
.lp-ledger-stat:nth-child(2n) { border-right: none; }
|
||||||
.lp-ledger-stat:nth-last-child(-n+2) { border-bottom: none; }
|
.lp-ledger-stat:nth-last-child(-n+2) { border-bottom: none; }
|
||||||
@@ -4300,14 +4296,14 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .6rem;
|
font-size: .6rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
.lp-ledger-stat__val {
|
.lp-ledger-stat__val {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .9375rem;
|
font-size: .9375rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: rgba(255,255,255,.7);
|
color: var(--text-2);
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
}
|
}
|
||||||
.lp-settle-section { padding: 0; }
|
.lp-settle-section { padding: 0; }
|
||||||
@@ -4317,20 +4313,20 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .6rem;
|
font-size: .6rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
background: rgba(255,255,255,.025);
|
background: var(--surface-head);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-settle-row {
|
.lp-settle-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
padding: 10px 22px;
|
padding: 10px 22px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.04);
|
border-bottom: 1px solid var(--divider);
|
||||||
transition: background .1s;
|
transition: background .1s;
|
||||||
}
|
}
|
||||||
.lp-settle-row:last-child { border-bottom: none; }
|
.lp-settle-row:last-child { border-bottom: none; }
|
||||||
.lp-settle-row:hover { background: rgba(155,140,240,.05); }
|
.lp-settle-row:hover { background: var(--surface-raised); }
|
||||||
.lp-settle-row .lp-demo__meta { flex: 1; text-align: left; }
|
.lp-settle-row .lp-demo__meta { flex: 1; text-align: left; }
|
||||||
|
|
||||||
/* ---- Session results demo (recon metrics + player table) ---- */
|
/* ---- Session results demo (recon metrics + player table) ---- */
|
||||||
@@ -4338,11 +4334,11 @@ select.control { cursor: pointer; }
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
gap: 1px;
|
gap: 1px;
|
||||||
background: rgba(255,255,255,.07);
|
background: var(--border);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.07);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-recon-cell {
|
.lp-recon-cell {
|
||||||
background: rgba(10,9,18,.92);
|
background: var(--surface);
|
||||||
padding: 12px 18px;
|
padding: 12px 18px;
|
||||||
}
|
}
|
||||||
.lp-recon-label {
|
.lp-recon-label {
|
||||||
@@ -4351,29 +4347,29 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .595rem;
|
font-size: .595rem;
|
||||||
letter-spacing: .09em;
|
letter-spacing: .09em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
.lp-recon-val {
|
.lp-recon-val {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: rgba(255,255,255,.72);
|
color: var(--text-2);
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
}
|
}
|
||||||
.lp-result-thead {
|
.lp-result-thead {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 64px 72px 90px;
|
grid-template-columns: 1fr 64px 72px 90px;
|
||||||
padding: 7px 18px;
|
padding: 7px 18px;
|
||||||
background: rgba(255,255,255,.025);
|
background: var(--surface-head);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-result-thead > span {
|
.lp-result-thead > span {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .595rem;
|
font-size: .595rem;
|
||||||
letter-spacing: .09em;
|
letter-spacing: .09em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.28);
|
color: var(--faint);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.lp-result-thead > span:first-child { text-align: left; }
|
.lp-result-thead > span:first-child { text-align: left; }
|
||||||
@@ -4381,12 +4377,12 @@ select.control { cursor: pointer; }
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 64px 72px 90px;
|
grid-template-columns: 1fr 64px 72px 90px;
|
||||||
padding: 9px 18px;
|
padding: 9px 18px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.04);
|
border-bottom: 1px solid var(--divider);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
transition: background .1s;
|
transition: background .1s;
|
||||||
}
|
}
|
||||||
.lp-result-row:last-child { border-bottom: none; }
|
.lp-result-row:last-child { border-bottom: none; }
|
||||||
.lp-result-row:hover { background: rgba(155,140,240,.05); }
|
.lp-result-row:hover { background: var(--surface-raised); }
|
||||||
.lp-result-due {
|
.lp-result-due {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .72rem;
|
font-size: .72rem;
|
||||||
@@ -4397,7 +4393,7 @@ select.control { cursor: pointer; }
|
|||||||
.lp-result-settled {
|
.lp-result-settled {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .72rem;
|
font-size: .72rem;
|
||||||
color: rgba(255,255,255,.22);
|
color: var(--faintest);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4407,8 +4403,8 @@ select.control { cursor: pointer; }
|
|||||||
.lp-bottom-cta {
|
.lp-bottom-cta {
|
||||||
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 80px);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-top: 1px solid rgba(255,255,255,.06);
|
border-top: 1px solid var(--divider);
|
||||||
background: radial-gradient(ellipse 70% 90% at 50% 100%, #1c0e3e 0%, var(--bg) 70%);
|
background: var(--bg);
|
||||||
}
|
}
|
||||||
.lp-bottom-cta__inner {
|
.lp-bottom-cta__inner {
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
@@ -4416,14 +4412,14 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-bottom-cta__title {
|
.lp-bottom-cta__title {
|
||||||
font-size: clamp(24px, 3vw, 36px);
|
font-size: clamp(24px, 3vw, 36px);
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.03em;
|
letter-spacing: -.03em;
|
||||||
margin: 0 0 12px;
|
margin: 0 0 12px;
|
||||||
}
|
}
|
||||||
.lp-bottom-cta__sub {
|
.lp-bottom-cta__sub {
|
||||||
font-size: .9375rem;
|
font-size: .9375rem;
|
||||||
color: rgba(255,255,255,.4);
|
color: var(--muted);
|
||||||
margin: 0 0 28px;
|
margin: 0 0 28px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
}
|
}
|
||||||
@@ -4441,7 +4437,7 @@ select.control { cursor: pointer; }
|
|||||||
.lp-hero__content { max-width: 100%; }
|
.lp-hero__content { max-width: 100%; }
|
||||||
.lp-hero__visual { max-width: 100%; width: 100%; }
|
.lp-hero__visual { max-width: 100%; width: 100%; }
|
||||||
.lp-feat-grid { grid-template-columns: 1fr; }
|
.lp-feat-grid { grid-template-columns: 1fr; }
|
||||||
.lp-feat + .lp-feat { border-left: none; border-top: 1px solid rgba(255,255,255,.06); }
|
.lp-feat + .lp-feat { border-left: none; border-top: 1px solid var(--border); }
|
||||||
}
|
}
|
||||||
@media (max-width: 680px) {
|
@media (max-width: 680px) {
|
||||||
.lp-hero__visual { display: none; }
|
.lp-hero__visual { display: none; }
|
||||||
@@ -5270,9 +5266,9 @@ select.control { cursor: pointer; }
|
|||||||
LANDING — stats bar
|
LANDING — stats bar
|
||||||
================================================================ */
|
================================================================ */
|
||||||
.lp-stats-bar {
|
.lp-stats-bar {
|
||||||
border-top: 1px solid rgba(255,255,255,.06);
|
border-top: 1px solid var(--divider);
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--divider);
|
||||||
background: rgba(155,140,240,.022);
|
background: var(--surface-sunk);
|
||||||
}
|
}
|
||||||
.lp-stats-bar__inner {
|
.lp-stats-bar__inner {
|
||||||
max-width: var(--w-public);
|
max-width: var(--w-public);
|
||||||
@@ -5293,7 +5289,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-stats-bar__val {
|
.lp-stats-bar__val {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text-strong);
|
color: var(--text-strong);
|
||||||
letter-spacing: -.03em;
|
letter-spacing: -.03em;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
@@ -5303,12 +5299,12 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .6rem;
|
font-size: .6rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.3);
|
color: var(--faint);
|
||||||
}
|
}
|
||||||
.lp-stats-bar__sep {
|
.lp-stats-bar__sep {
|
||||||
width: 1px;
|
width: 1px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
background: rgba(255,255,255,.08);
|
background: var(--border);
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
@media (max-width: 680px) {
|
@media (max-width: 680px) {
|
||||||
@@ -5321,9 +5317,9 @@ select.control { cursor: pointer; }
|
|||||||
================================================================ */
|
================================================================ */
|
||||||
.lp-callout {
|
.lp-callout {
|
||||||
padding: clamp(56px, 6vw, 88px) clamp(24px, 5vw, 80px);
|
padding: clamp(56px, 6vw, 88px) clamp(24px, 5vw, 80px);
|
||||||
border-top: 1px solid rgba(255,255,255,.06);
|
border-top: 1px solid var(--divider);
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse 60% 70% at 5% 50%, rgba(155,140,240,.045) 0%, transparent 55%),
|
radial-gradient(ellipse 48% 62% at 10% 52%, rgba(155,140,240,.045) 0%, transparent 62%),
|
||||||
var(--bg);
|
var(--bg);
|
||||||
}
|
}
|
||||||
.lp-callout__inner {
|
.lp-callout__inner {
|
||||||
@@ -5339,7 +5335,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-callout__title {
|
.lp-callout__title {
|
||||||
font-size: clamp(22px, 2.8vw, 34px);
|
font-size: clamp(22px, 2.8vw, 34px);
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.035em;
|
letter-spacing: -.035em;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
@@ -5347,7 +5343,7 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.lp-callout__body {
|
.lp-callout__body {
|
||||||
font-size: .9375rem;
|
font-size: .9375rem;
|
||||||
color: rgba(255,255,255,.45);
|
color: var(--muted);
|
||||||
line-height: 1.72;
|
line-height: 1.72;
|
||||||
margin: 0 0 22px;
|
margin: 0 0 22px;
|
||||||
}
|
}
|
||||||
@@ -5363,7 +5359,7 @@ select.control { cursor: pointer; }
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
color: rgba(255,255,255,.52);
|
color: var(--text-2);
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
.lp-callout__list li::before {
|
.lp-callout__list li::before {
|
||||||
@@ -5371,7 +5367,7 @@ select.control { cursor: pointer; }
|
|||||||
width: 5px;
|
width: 5px;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: var(--accent);
|
background: var(--muted-2);
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
opacity: .75;
|
opacity: .75;
|
||||||
}
|
}
|
||||||
@@ -5425,8 +5421,8 @@ select.control { cursor: pointer; }
|
|||||||
width: 28px;
|
width: 28px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
background: linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 72%, #7c6fd4) 100%);
|
background: var(--accent);
|
||||||
box-shadow: 0 0 0 1px var(--accent-a30), 0 4px 18px var(--accent-a22);
|
box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
|
||||||
position: relative;
|
position: relative;
|
||||||
flex: none;
|
flex: none;
|
||||||
}
|
}
|
||||||
@@ -5454,7 +5450,7 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.auth-split__title {
|
.auth-split__title {
|
||||||
font-size: clamp(24px, 3vw, 32px);
|
font-size: clamp(24px, 3vw, 32px);
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.035em;
|
letter-spacing: -.035em;
|
||||||
margin: 0 0 8px;
|
margin: 0 0 8px;
|
||||||
@@ -5463,7 +5459,7 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.auth-split__sub {
|
.auth-split__sub {
|
||||||
font-size: .9375rem;
|
font-size: .9375rem;
|
||||||
color: rgba(255,255,255,.42);
|
color: var(--muted);
|
||||||
margin: 0 0 28px;
|
margin: 0 0 28px;
|
||||||
line-height: 1.58;
|
line-height: 1.58;
|
||||||
}
|
}
|
||||||
@@ -5479,7 +5475,7 @@ select.control { cursor: pointer; }
|
|||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.38);
|
color: var(--faint);
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth-field input {
|
.auth-field input {
|
||||||
@@ -5554,7 +5550,7 @@ select.control { cursor: pointer; }
|
|||||||
.auth-alt {
|
.auth-alt {
|
||||||
margin: 20px 0 0;
|
margin: 20px 0 0;
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
color: rgba(255,255,255,.38);
|
color: var(--faint);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.auth-alt a {
|
.auth-alt a {
|
||||||
@@ -5563,7 +5559,6 @@ select.control { cursor: pointer; }
|
|||||||
}
|
}
|
||||||
.auth-alt a:hover { text-decoration: underline; }
|
.auth-alt a:hover { text-decoration: underline; }
|
||||||
|
|
||||||
/* ---- visual / right column ---- */
|
|
||||||
.auth-split__visual {
|
.auth-split__visual {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -5572,15 +5567,15 @@ select.control { cursor: pointer; }
|
|||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse 80% 80% at 50% 50%, #1a0c36 0%, #0d0b18 58%, var(--bg) 100%);
|
radial-gradient(ellipse 76% 76% at 50% 48%, rgba(155,140,240,.13) 0%, rgba(155,140,240,.045) 48%, transparent 72%),
|
||||||
border-left: 1px solid rgba(255,255,255,.055);
|
color-mix(in srgb, var(--accent) 5%, var(--bg));
|
||||||
|
border-left: 1px solid var(--divider);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* large suit background symbol */
|
|
||||||
.auth-split__visual::before {
|
.auth-split__visual::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: clamp(300px, 38vw, 520px);
|
font-size: clamp(300px, 38vw, 520px);
|
||||||
color: rgba(155,140,240,.055);
|
color: rgba(255,255,255,.04);
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
@@ -5603,12 +5598,12 @@ select.control { cursor: pointer; }
|
|||||||
height: 52px;
|
height: 52px;
|
||||||
background: var(--accent-chip);
|
background: var(--accent-chip);
|
||||||
border: 1px solid var(--accent-chip-bd);
|
border: 1px solid var(--accent-chip-bd);
|
||||||
border-radius: 14px;
|
border-radius: var(--r-md);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
box-shadow: 0 0 0 1px var(--accent-a22), 0 8px 28px var(--accent-a22);
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth-visual__suit-sym {
|
.auth-visual__suit-sym {
|
||||||
@@ -5619,7 +5614,7 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.auth-visual__title {
|
.auth-visual__title {
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.03em;
|
letter-spacing: -.03em;
|
||||||
margin: 0 0 10px;
|
margin: 0 0 10px;
|
||||||
@@ -5628,14 +5623,14 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.auth-visual__sub {
|
.auth-visual__sub {
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
color: rgba(255,255,255,.42);
|
color: var(--muted);
|
||||||
line-height: 1.65;
|
line-height: 1.65;
|
||||||
margin: 0 0 24px;
|
margin: 0 0 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth-visual__preview {
|
.auth-visual__preview {
|
||||||
background: rgba(255,255,255,.04);
|
background: var(--surface);
|
||||||
border: 1px solid rgba(255,255,255,.1);
|
border: 1px solid var(--border);
|
||||||
border-radius: var(--r-md);
|
border-radius: var(--r-md);
|
||||||
padding: 16px 18px;
|
padding: 16px 18px;
|
||||||
}
|
}
|
||||||
@@ -5645,7 +5640,7 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .6rem;
|
font-size: .6rem;
|
||||||
letter-spacing: .1em;
|
letter-spacing: .1em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: var(--accent);
|
color: var(--muted);
|
||||||
margin-bottom: 13px;
|
margin-bottom: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5654,9 +5649,9 @@ select.control { cursor: pointer; }
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 7px 0;
|
padding: 7px 0;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.06);
|
border-bottom: 1px solid var(--divider);
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
color: rgba(255,255,255,.6);
|
color: var(--text-2);
|
||||||
}
|
}
|
||||||
.auth-visual__preview-row:last-child { border-bottom: none; }
|
.auth-visual__preview-row:last-child { border-bottom: none; }
|
||||||
.auth-visual__preview-row strong { font-weight: 600; }
|
.auth-visual__preview-row strong { font-weight: 600; }
|
||||||
@@ -5687,16 +5682,13 @@ select.control { cursor: pointer; }
|
|||||||
min-height: calc(100vh - 62px);
|
min-height: calc(100vh - 62px);
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background:
|
background: var(--bg);
|
||||||
radial-gradient(ellipse 90% 70% at 50% 60%, #1c0e3e 0%, #100820 55%, var(--bg) 100%),
|
|
||||||
radial-gradient(ellipse 50% 40% at 80% 20%, rgba(155,140,240,.07) 0%, transparent 55%);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* large suit watermark */
|
|
||||||
.error-pg__suit {
|
.error-pg__suit {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: clamp(320px, 46vw, 660px);
|
font-size: clamp(320px, 46vw, 660px);
|
||||||
color: rgba(155,140,240,.065);
|
color: rgba(255,255,255,.04);
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
@@ -5726,16 +5718,13 @@ select.control { cursor: pointer; }
|
|||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
letter-spacing: -.04em;
|
letter-spacing: -.04em;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
background: linear-gradient(135deg, var(--accent) 0%, rgba(155,140,240,.35) 100%);
|
color: var(--accent);
|
||||||
-webkit-background-clip: text;
|
|
||||||
-webkit-text-fill-color: transparent;
|
|
||||||
background-clip: text;
|
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error-pg__title {
|
.error-pg__title {
|
||||||
font-size: clamp(28px, 4vw, 52px);
|
font-size: clamp(28px, 4vw, 52px);
|
||||||
font-weight: 800;
|
font-weight: 700;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
letter-spacing: -.04em;
|
letter-spacing: -.04em;
|
||||||
margin: 0 0 16px;
|
margin: 0 0 16px;
|
||||||
@@ -5744,7 +5733,7 @@ select.control { cursor: pointer; }
|
|||||||
|
|
||||||
.error-pg__sub {
|
.error-pg__sub {
|
||||||
font-size: clamp(14px, 1.3vw, 16px);
|
font-size: clamp(14px, 1.3vw, 16px);
|
||||||
color: rgba(255,255,255,.42);
|
color: var(--muted);
|
||||||
max-width: 40ch;
|
max-width: 40ch;
|
||||||
line-height: 1.68;
|
line-height: 1.68;
|
||||||
margin: 0 0 28px;
|
margin: 0 0 28px;
|
||||||
@@ -5765,7 +5754,7 @@ select.control { cursor: pointer; }
|
|||||||
font-size: .625rem;
|
font-size: .625rem;
|
||||||
letter-spacing: .18em;
|
letter-spacing: .18em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: rgba(255,255,255,.3);
|
color: var(--faint);
|
||||||
margin: 0 0 18px;
|
margin: 0 0 18px;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
@@ -5791,23 +5780,23 @@ select.control { cursor: pointer; }
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 10px 22px;
|
padding: 10px 22px;
|
||||||
border-bottom: 1px solid rgba(255,255,255,.04);
|
border-bottom: 1px solid var(--divider);
|
||||||
transition: background .1s;
|
transition: background .1s;
|
||||||
}
|
}
|
||||||
.lp-feed__row:last-child { border-bottom: none; }
|
.lp-feed__row:last-child { border-bottom: none; }
|
||||||
.lp-feed__row:hover { background: rgba(155,140,240,.05); }
|
.lp-feed__row:hover { background: var(--surface-raised); }
|
||||||
|
|
||||||
.lp-feed__time {
|
.lp-feed__time {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .635rem;
|
font-size: .635rem;
|
||||||
color: rgba(255,255,255,.22);
|
color: var(--faintest);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lp-feed__player {
|
.lp-feed__player {
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: rgba(255,255,255,.8);
|
color: var(--text-2);
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
@@ -5825,9 +5814,9 @@ select.control { cursor: pointer; }
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.lp-feed__pill--buyin {
|
.lp-feed__pill--buyin {
|
||||||
background: var(--accent-chip);
|
background: var(--surface-raised);
|
||||||
color: var(--accent);
|
color: var(--text-2);
|
||||||
border: 1px solid var(--accent-chip-bd);
|
border: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-feed__pill--cashout {
|
.lp-feed__pill--cashout {
|
||||||
background: rgba(111,192,147,.12);
|
background: rgba(111,192,147,.12);
|
||||||
@@ -5843,7 +5832,7 @@ select.control { cursor: pointer; }
|
|||||||
.lp-feed__amt {
|
.lp-feed__amt {
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: .8125rem;
|
font-size: .8125rem;
|
||||||
color: rgba(255,255,255,.5);
|
color: var(--num);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -5853,11 +5842,11 @@ select.control { cursor: pointer; }
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
gap: 1px;
|
gap: 1px;
|
||||||
background: rgba(255,255,255,.07);
|
background: var(--border);
|
||||||
border-top: 1px solid rgba(255,255,255,.07);
|
border-top: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
.lp-feed__summary-cell {
|
.lp-feed__summary-cell {
|
||||||
background: rgba(10,9,18,.9);
|
background: var(--surface);
|
||||||
padding: 11px 16px;
|
padding: 11px 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
/* ---- surfaces (darkest → lightest) ---- */
|
/* Core surfaces */
|
||||||
--bg: #0a0a0d;
|
--bg: #0a0a0d;
|
||||||
--surface: #111115;
|
--surface: #111115;
|
||||||
--surface-raised:#16161c;
|
--surface-raised:#16161c;
|
||||||
@@ -30,8 +30,7 @@
|
|||||||
--faintest: #64626d;
|
--faintest: #64626d;
|
||||||
--faintest-2: #55535e;
|
--faintest-2: #55535e;
|
||||||
|
|
||||||
/* ---- accent ---- */
|
/* Brand accent */
|
||||||
/* To swap brand color later: edit these 7 vars only */
|
|
||||||
--accent: #9b8cf0;
|
--accent: #9b8cf0;
|
||||||
--accent-ink: #12101e;
|
--accent-ink: #12101e;
|
||||||
--accent-tint: #1f1d2e;
|
--accent-tint: #1f1d2e;
|
||||||
@@ -68,11 +67,11 @@
|
|||||||
--line-1: #9b8cf0; --line-2: #6fc093; --line-3: #e0b15c;
|
--line-1: #9b8cf0; --line-2: #6fc093; --line-3: #e0b15c;
|
||||||
--line-4: #cf6f86; --line-5: #8f93c2;
|
--line-4: #cf6f86; --line-5: #8f93c2;
|
||||||
|
|
||||||
/* ---- elevation shadows ---- */
|
/* Elevation */
|
||||||
--shadow-sm: 0 1px 3px rgba(0,0,0,.30), 0 1px 2px rgba(0,0,0,.22);
|
--shadow-sm: 0 1px 2px rgba(0,0,0,.28);
|
||||||
--shadow-md: 0 4px 16px rgba(0,0,0,.34), 0 2px 6px rgba(0,0,0,.24);
|
--shadow-md: 0 3px 12px rgba(0,0,0,.32), 0 1px 4px rgba(0,0,0,.24);
|
||||||
--shadow-lg: 0 12px 36px rgba(0,0,0,.42), 0 4px 12px rgba(0,0,0,.28);
|
--shadow-lg: 0 10px 28px rgba(0,0,0,.38), 0 3px 10px rgba(0,0,0,.26);
|
||||||
--shadow-xl: 0 24px 64px rgba(0,0,0,.52), 0 8px 24px rgba(0,0,0,.32);
|
--shadow-xl: 0 18px 48px rgba(0,0,0,.46), 0 6px 18px rgba(0,0,0,.30);
|
||||||
|
|
||||||
/* ---- glass panel effect ---- */
|
/* ---- glass panel effect ---- */
|
||||||
--glass-border: 1px solid rgba(255,255,255,.055);
|
--glass-border: 1px solid rgba(255,255,255,.055);
|
||||||
@@ -83,7 +82,7 @@
|
|||||||
--s6:24px; --s8:32px; --s10:40px; --s12:48px;
|
--s6:24px; --s8:32px; --s10:40px; --s12:48px;
|
||||||
|
|
||||||
/* ---- radii ---- */
|
/* ---- radii ---- */
|
||||||
--r-pill:6px; --r-sm:9px; --r-md:12px; --r-lg:16px;
|
--r-pill:5px; --r-sm:7px; --r-md:9px; --r-lg:12px;
|
||||||
|
|
||||||
/* ---- containers ---- */
|
/* ---- containers ---- */
|
||||||
--w-public:1320px;
|
--w-public:1320px;
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
{% block page_class %}page--landing{% endblock %}
|
{% block page_class %}page--landing{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<!-- ── Hero ──────────────────────────────────────────────────── -->
|
|
||||||
<div class="lp-hero">
|
<div class="lp-hero">
|
||||||
<div class="lp-hero__content">
|
<div class="lp-hero__content">
|
||||||
<p class="lp-kicker">Home Poker Tracking</p>
|
<p class="lp-kicker">Home Poker Tracking</p>
|
||||||
@@ -99,7 +98,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- ── Stats bar ──────────────────────────────────────────────── -->
|
|
||||||
<div class="lp-stats-bar">
|
<div class="lp-stats-bar">
|
||||||
<div class="lp-stats-bar__inner">
|
<div class="lp-stats-bar__inner">
|
||||||
<div class="lp-stats-bar__item">
|
<div class="lp-stats-bar__item">
|
||||||
@@ -124,7 +122,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- ── Features ──────────────────────────────────────────────── -->
|
|
||||||
<section class="lp-features">
|
<section class="lp-features">
|
||||||
<div class="lp-features__inner">
|
<div class="lp-features__inner">
|
||||||
<div class="lp-sec-head">
|
<div class="lp-sec-head">
|
||||||
@@ -169,7 +166,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ── App showcase ───────────────────────────────────────────── -->
|
|
||||||
<section class="lp-showcase">
|
<section class="lp-showcase">
|
||||||
<div class="lp-showcase__inner">
|
<div class="lp-showcase__inner">
|
||||||
<div class="lp-sec-head">
|
<div class="lp-sec-head">
|
||||||
@@ -179,7 +175,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="lp-showcase__grid" aria-hidden="true">
|
<div class="lp-showcase__grid" aria-hidden="true">
|
||||||
|
|
||||||
<!-- Sessions panel -->
|
|
||||||
<div class="lp-demo__card">
|
<div class="lp-demo__card">
|
||||||
<div class="lp-demo__head">
|
<div class="lp-demo__head">
|
||||||
<div>
|
<div>
|
||||||
@@ -247,7 +242,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Session results panel -->
|
|
||||||
<div class="lp-demo__card">
|
<div class="lp-demo__card">
|
||||||
<div class="lp-demo__head">
|
<div class="lp-demo__head">
|
||||||
<div>
|
<div>
|
||||||
@@ -316,7 +310,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ── Leaderboard callout ────────────────────────────────────── -->
|
|
||||||
<section class="lp-callout">
|
<section class="lp-callout">
|
||||||
<div class="lp-callout__inner">
|
<div class="lp-callout__inner">
|
||||||
<div class="lp-callout__text">
|
<div class="lp-callout__text">
|
||||||
@@ -394,7 +387,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ── Bottom CTA ─────────────────────────────────────────────── -->
|
|
||||||
{% if not is_logged_in %}
|
{% if not is_logged_in %}
|
||||||
<section class="lp-bottom-cta">
|
<section class="lp-bottom-cta">
|
||||||
<div class="lp-bottom-cta__inner">
|
<div class="lp-bottom-cta__inner">
|
||||||
|
|||||||
@@ -208,7 +208,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Card menu: open with fixed positioning to escape overflow:hidden panels
|
// Keep the menu outside clipped card panels.
|
||||||
document.querySelectorAll('.card-menu__trigger').forEach(function (trigger) {
|
document.querySelectorAll('.card-menu__trigger').forEach(function (trigger) {
|
||||||
trigger.addEventListener('click', function (e) {
|
trigger.addEventListener('click', function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
@@ -234,7 +234,6 @@
|
|||||||
});
|
});
|
||||||
document.addEventListener('click', closeAllDropdowns);
|
document.addEventListener('click', closeAllDropdowns);
|
||||||
|
|
||||||
// Edit player
|
|
||||||
document.querySelectorAll('.card-menu__item[data-edit-action]').forEach(function (item) {
|
document.querySelectorAll('.card-menu__item[data-edit-action]').forEach(function (item) {
|
||||||
item.addEventListener('click', function () {
|
item.addEventListener('click', function () {
|
||||||
closeAllDropdowns();
|
closeAllDropdowns();
|
||||||
@@ -246,7 +245,6 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Archive player
|
|
||||||
document.querySelectorAll('.card-menu__item[data-archive-action]').forEach(function (item) {
|
document.querySelectorAll('.card-menu__item[data-archive-action]').forEach(function (item) {
|
||||||
item.addEventListener('click', function () {
|
item.addEventListener('click', function () {
|
||||||
closeAllDropdowns();
|
closeAllDropdowns();
|
||||||
@@ -256,7 +254,6 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Modal close
|
|
||||||
document.querySelectorAll('[data-close-modal]').forEach(function (btn) {
|
document.querySelectorAll('[data-close-modal]').forEach(function (btn) {
|
||||||
btn.addEventListener('click', function () {
|
btn.addEventListener('click', function () {
|
||||||
this.closest('.modal-backdrop').setAttribute('hidden', '');
|
this.closest('.modal-backdrop').setAttribute('hidden', '');
|
||||||
|
|||||||
@@ -213,7 +213,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Void event modal -->
|
|
||||||
{% if is_owner %}
|
{% if is_owner %}
|
||||||
<div class="modal-backdrop" id="modal-void-event" hidden>
|
<div class="modal-backdrop" id="modal-void-event" hidden>
|
||||||
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-void-title">
|
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-void-title">
|
||||||
@@ -238,7 +237,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Delete confirmation modal -->
|
|
||||||
<div class="modal-backdrop" id="modal-delete-session" hidden>
|
<div class="modal-backdrop" id="modal-delete-session" hidden>
|
||||||
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-delete-title">
|
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-delete-title">
|
||||||
<div class="modal-card__head">
|
<div class="modal-card__head">
|
||||||
@@ -256,7 +254,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Edit session modal -->
|
|
||||||
{% if can_manage %}
|
{% if can_manage %}
|
||||||
<div class="modal-backdrop" id="modal-edit-session" hidden>
|
<div class="modal-backdrop" id="modal-edit-session" hidden>
|
||||||
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-edit-session-title">
|
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-edit-session-title">
|
||||||
@@ -300,7 +297,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Reopen confirmation modal -->
|
|
||||||
<div class="modal-backdrop" id="modal-reopen-session" hidden>
|
<div class="modal-backdrop" id="modal-reopen-session" hidden>
|
||||||
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-reopen-title">
|
<div class="modal-card" role="dialog" aria-modal="true" aria-labelledby="modal-reopen-title">
|
||||||
<div class="modal-card__head">
|
<div class="modal-card__head">
|
||||||
@@ -319,7 +315,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Player search — map display name → player id
|
|
||||||
const playerMap = {
|
const playerMap = {
|
||||||
{% for player in players %}"{{ player.display_name | replace('"', '\\"') }}": "{{ player.id }}"{% if not loop.last %},{% endif %}
|
{% for player in players %}"{{ player.display_name | replace('"', '\\"') }}": "{{ player.id }}"{% if not loop.last %},{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@@ -332,13 +327,11 @@ if (searchInput && idInput) {
|
|||||||
searchInput.addEventListener('input', function () {
|
searchInput.addEventListener('input', function () {
|
||||||
idInput.value = playerMap[this.value.trim()] || '';
|
idInput.value = playerMap[this.value.trim()] || '';
|
||||||
});
|
});
|
||||||
// Also handle datalist selection which fires change
|
|
||||||
searchInput.addEventListener('change', function () {
|
searchInput.addEventListener('change', function () {
|
||||||
idInput.value = playerMap[this.value.trim()] || '';
|
idInput.value = playerMap[this.value.trim()] || '';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear player field when event type is "note"
|
|
||||||
if (eventTypeSelect && searchInput && idInput) {
|
if (eventTypeSelect && searchInput && idInput) {
|
||||||
eventTypeSelect.addEventListener('change', function () {
|
eventTypeSelect.addEventListener('change', function () {
|
||||||
if (this.value === 'note') {
|
if (this.value === 'note') {
|
||||||
@@ -349,13 +342,11 @@ if (eventTypeSelect && searchInput && idInput) {
|
|||||||
searchInput.placeholder = 'Start typing a name…';
|
searchInput.placeholder = 'Start typing a name…';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// Set initial placeholder if note is selected
|
|
||||||
if (eventTypeSelect.value === 'note') {
|
if (eventTypeSelect.value === 'note') {
|
||||||
searchInput.placeholder = 'No player (session note)';
|
searchInput.placeholder = 'No player (session note)';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Modal logic
|
|
||||||
document.querySelectorAll('[data-modal]').forEach(function(btn) {
|
document.querySelectorAll('[data-modal]').forEach(function(btn) {
|
||||||
btn.addEventListener('click', function() {
|
btn.addEventListener('click', function() {
|
||||||
var target = document.getElementById(this.dataset.modal);
|
var target = document.getElementById(this.dataset.modal);
|
||||||
@@ -373,7 +364,6 @@ document.querySelectorAll('.modal-backdrop').forEach(function(backdrop) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Void event modal
|
|
||||||
document.querySelectorAll('[data-void-id]').forEach(function(btn) {
|
document.querySelectorAll('[data-void-id]').forEach(function(btn) {
|
||||||
btn.addEventListener('click', function() {
|
btn.addEventListener('click', function() {
|
||||||
var player = this.dataset.voidPlayer;
|
var player = this.dataset.voidPlayer;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>4. Cookies and transient data</h2>
|
<h2>4. Cookies and transient data</h2>
|
||||||
<p>We set <strong>one cookie</strong>: <code>poker_portal_session</code>. This is a functional authentication cookie that keeps you signed in. It contains only an encrypted reference to your session. We do not use advertising cookies, tracking cookies, or any third-party cookies.</p>
|
<p>We set <strong>one cookie</strong>: <code>myboker_org_session</code>. This is a functional authentication cookie that keeps you signed in. It contains only an encrypted reference to your session. We do not use advertising cookies, tracking cookies, or any third-party cookies.</p>
|
||||||
<p>Our rate-limiting system temporarily processes your IP address in memory to prevent abuse. IP addresses are not written to disk or retained once the request completes.</p>
|
<p>Our rate-limiting system temporarily processes your IP address in memory to prevent abuse. IP addresses are not written to disk or retained once the request completes.</p>
|
||||||
<p>Password-reset and league-invitation links are cryptographically signed tokens that expire automatically (1 hour for resets, 7 days for invitations). They are stateless and not stored in our database.</p>
|
<p>Password-reset and league-invitation links are cryptographically signed tokens that expire automatically (1 hour for resets, 7 days for invitations). They are stateless and not stored in our database.</p>
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
<a href="mailto:support@cedarline.digital">support@cedarline.digital</a>
|
<a href="mailto:support@cedarline.digital">support@cedarline.digital</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div><!-- /.legal-doc__body -->
|
</div>
|
||||||
</div><!-- /.legal-doc -->
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
<a href="mailto:support@cedarline.digital">support@cedarline.digital</a>
|
<a href="mailto:support@cedarline.digital">support@cedarline.digital</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div><!-- /.legal-doc__body -->
|
</div>
|
||||||
</div><!-- /.legal-doc -->
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in new issue
Block a user