feat: unify trading workspace visual system

This commit is contained in:
leefer
2026-08-06 02:48:46 +08:00
parent b3a21d05b7
commit bd97ba1829
25 changed files with 803 additions and 800 deletions
+12 -12
View File
@@ -436,18 +436,18 @@
"code_hotspots": [ "code_hotspots": [
{ {
"path": "frontend/pages/heaven/foundation.css", "path": "frontend/pages/heaven/foundation.css",
"bytes": 184959, "bytes": 185468,
"lines": 11685 "lines": 11721
}, },
{ {
"path": "frontend/pages/screener/foundation.css", "path": "frontend/pages/screener/foundation.css",
"bytes": 103075, "bytes": 101609,
"lines": 6606 "lines": 6509
}, },
{ {
"path": "frontend/pages/heaven/page.js", "path": "frontend/pages/heaven/page.js",
"bytes": 96724, "bytes": 97189,
"lines": 2057 "lines": 2069
}, },
{ {
"path": "backend/features/heaven/engine.py", "path": "backend/features/heaven/engine.py",
@@ -461,8 +461,8 @@
}, },
{ {
"path": "frontend/shared/shell.css", "path": "frontend/shared/shell.css",
"bytes": 40260, "bytes": 40845,
"lines": 2800 "lines": 2825
}, },
{ {
"path": "backend/features/screener/catalog.py", "path": "backend/features/screener/catalog.py",
@@ -471,8 +471,8 @@
}, },
{ {
"path": "frontend/pages/auction/foundation.css", "path": "frontend/pages/auction/foundation.css",
"bytes": 32818, "bytes": 32995,
"lines": 2305 "lines": 2317
}, },
{ {
"path": "database.py", "path": "database.py",
@@ -506,8 +506,8 @@
}, },
{ {
"path": "frontend/pages/screener/page.html", "path": "frontend/pages/screener/page.html",
"bytes": 19663, "bytes": 19579,
"lines": 233 "lines": 229
}, },
{ {
"path": "frontend/pages/market/preview.js", "path": "frontend/pages/market/preview.js",
+73 -61
View File
@@ -16,25 +16,25 @@
--line-strong: var(--border-strong); --line-strong: var(--border-strong);
--surface-muted: #f8fafc; --surface-muted: var(--surface-subtle);
border-radius: 8px; border-radius: 0;
color: rgb(31, 41, 55); color: var(--text-primary);
--action: #1769c2; --action: var(--primary);
--action-hover: #10569f; --action-hover: var(--primary-hover);
--action-soft: #eaf2fb; --action-soft: var(--surface-selected);
--border: #dfe4e9; --border: var(--color-border);
--border-strong: #cbd3dc; --border-strong: var(--color-border-strong);
border-color: var(--border); border-color: transparent;
background: var(--surface); background: transparent;
} }
.auction-phase-notice > div { .auction-phase-notice > div {
@@ -378,7 +378,7 @@
} }
.auction-table tbody tr:hover td { .auction-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.auction-stock-cell { .auction-stock-cell {
@@ -488,7 +488,7 @@
padding-left: 4px; padding-left: 4px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(180, 83, 9); color: rgb(180, 83, 9);
@@ -548,7 +548,7 @@
border-bottom-color: rgb(232, 237, 241); border-bottom-color: rgb(232, 237, 241);
background: rgb(244, 247, 249); background: var(--table-header);
} }
.auction-phase-notice { .auction-phase-notice {
@@ -566,7 +566,7 @@
border: 0px; border: 0px;
background: rgb(243, 244, 246); background: var(--surface-muted);
border-radius: 5px; border-radius: 5px;
} }
@@ -652,13 +652,13 @@
margin-left: auto; margin-left: auto;
padding: 14px 16px 18px; padding: var(--page-pad-y) 0 18px;
} }
.auction-page-head-v2 { .auction-page-head-v2 {
min-width: 0px; min-width: 0px;
min-height: 62px; min-height: 40px;
display: flex; display: flex;
@@ -718,13 +718,15 @@
gap: 7px; gap: 7px;
padding: 6px 10px; padding: 0 0 0 12px;
border: 1px solid var(--r2-line); border: 0;
border-radius: 7px; border-left: 1px solid var(--r2-line);
background: rgb(255, 255, 255); border-radius: 0;
background: transparent;
color: var(--r2-sub); color: var(--r2-sub);
@@ -778,21 +780,21 @@
} }
.auction-phase-notice-v2[data-phase="selection"] { .auction-phase-notice-v2[data-phase="selection"] {
border-color: rgb(242, 214, 164); border-color: var(--warning-color);
background: rgb(255, 250, 241); background: transparent;
} }
.auction-phase-notice-v2[data-phase="selection"] .auction-phase-marker { .auction-phase-notice-v2[data-phase="selection"] .auction-phase-marker {
background: rgb(217, 119, 6); background: var(--warning-color);
animation: 1.8s ease-in-out 0s infinite normal none running auction-pulse; animation: 1.8s ease-in-out 0s infinite normal none running auction-pulse;
} }
.auction-phase-notice-v2[data-phase="finalized"] { .auction-phase-notice-v2[data-phase="finalized"] {
border-color: rgb(207, 224, 215); border-color: var(--market-down);
background: rgb(244, 251, 247); background: transparent;
} }
.auction-phase-notice-v2[data-phase="finalized"] .auction-phase-marker { .auction-phase-notice-v2[data-phase="finalized"] .auction-phase-marker {
@@ -831,25 +833,27 @@
} }
.auction-summary-v2 { .auction-summary-v2 {
min-width: 390px; min-width: 348px;
display: grid; display: grid;
grid-template-columns: repeat(4, minmax(82px, 1fr)); grid-template-columns: repeat(4, minmax(82px, 1fr));
border: 1px solid var(--r2-line); border: 0;
border-radius: 9px; border-left: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); border-radius: 0;
box-shadow: var(--r2-shadow); background: var(--surface);
box-shadow: none;
} }
.auction-summary-v2 > div { .auction-summary-v2 > div {
min-width: 0px; min-width: 0px;
min-height: 48px; min-height: 44px;
display: grid; display: grid;
@@ -908,9 +912,9 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: var(--text-primary);
font-size: 12px; font-size: 12px;
@@ -953,9 +957,9 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--card-shadow);
} }
.auction-primary-card { .auction-primary-card {
@@ -965,9 +969,9 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--card-shadow);
min-height: 0px; min-height: 0px;
@@ -1073,7 +1077,7 @@
justify-content: space-between; justify-content: space-between;
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
.auction-expectation-v2, .auction-expectation-v2,
@@ -1128,13 +1132,13 @@
} }
.auction-filter-segments button.active { .auction-filter-segments button.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
font-weight: 600; font-weight: 600;
box-shadow: rgba(0, 0, 0, 0.08) 0px 1px 2px; box-shadow: var(--shadow-xs);
} }
.auction-search-v2 { .auction-search-v2 {
@@ -1154,7 +1158,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.auction-search-v2 .lucide { .auction-search-v2 .lucide {
@@ -1182,7 +1186,7 @@
.auction-search-v2:focus-within { .auction-search-v2:focus-within {
border-color: var(--r2-blue-line); border-color: var(--r2-blue-line);
box-shadow: rgba(37, 99, 235, 0.08) 0px 0px 0px 2px; box-shadow: 0 0 0 2px var(--focus-ring);
} }
.auction-export-button:focus-visible, .auction-export-button:focus-visible,
@@ -1227,7 +1231,7 @@
height: 35px; height: 35px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1279,7 +1283,7 @@
} }
.auction-table-v2 tbody tr:hover td { .auction-table-v2 tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.auction-stock-cell-v2 { .auction-stock-cell-v2 {
@@ -1349,7 +1353,7 @@
border-radius: 3px; border-radius: 3px;
background: rgb(240, 242, 245); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1361,7 +1365,7 @@
.auction-source-tags-v2 b:nth-child(n+2) { .auction-source-tags-v2 b:nth-child(n+2) {
background: var(--r2-blue-soft); background: var(--r2-blue-soft);
color: rgb(70, 100, 160); color: var(--r2-blue);
} }
#auctionView .auction-core-tags { #auctionView .auction-core-tags {
@@ -1397,7 +1401,7 @@
} }
#auctionView .auction-score { #auctionView .auction-score {
color: rgb(49, 95, 123); color: var(--r2-blue);
font-weight: 750; font-weight: 750;
} }
@@ -1431,9 +1435,9 @@
} }
#auctionView .auction-expectation.matched { #auctionView .auction-expectation.matched {
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(75, 85, 99); color: var(--text-secondary);
} }
#auctionView .auction-expectation.below { #auctionView .auction-expectation.below {
@@ -1541,7 +1545,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1619,15 +1623,15 @@
} }
#auctionView .auction-theme-status.strong { #auctionView .auction-theme-status.strong {
background: rgb(219, 231, 255); background: var(--r2-blue-soft);
color: rgb(40, 88, 188); color: var(--r2-blue);
} }
#auctionView .auction-theme-status.steady { #auctionView .auction-theme-status.steady {
background: rgb(233, 240, 255); background: var(--r2-blue-soft);
color: rgb(70, 100, 160); color: var(--r2-blue);
} }
#auctionView .auction-theme-status.mixed { #auctionView .auction-theme-status.mixed {
@@ -1637,7 +1641,7 @@
} }
#auctionView .auction-theme-status.weak { #auctionView .auction-theme-status.weak {
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
} }
@@ -1707,7 +1711,7 @@
background: var(--r2-blue-soft); background: var(--r2-blue-soft);
color: rgb(70, 100, 160); color: var(--r2-blue);
font-size: 10px; font-size: 10px;
} }
@@ -1873,7 +1877,7 @@
padding-left: 3px; padding-left: 3px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(217, 119, 6); color: rgb(217, 119, 6);
@@ -2102,7 +2106,7 @@
@media (min-width: 721px) and (max-height: 900px) { @media (min-width: 721px) and (max-height: 900px) {
.redesigned-auction-view { .redesigned-auction-view {
padding: 10px 12px 12px; padding: 10px 0 12px;
} }
.auction-page-head-v2 { .auction-page-head-v2 {
@@ -2250,7 +2254,7 @@
background: var(--surface); background: var(--surface);
} }
:root[data-theme="dark"] #auctionView :is(.auction-phase-notice-v2, .auction-export-button, .auction-refresh-button, .auction-filter-segments, .auction-table-v2 thead th) { :root[data-theme="dark"] #auctionView :is(.auction-export-button, .auction-refresh-button, .auction-filter-segments, .auction-table-v2 thead th) {
border-color: var(--border); border-color: var(--border);
background: var(--surface-muted); background: var(--surface-muted);
@@ -2258,16 +2262,24 @@
color: var(--text-secondary); color: var(--text-secondary);
} }
:root[data-theme="dark"] #auctionView .auction-phase-notice-v2 {
border-left-color: var(--border);
background: transparent;
color: var(--text-secondary);
}
:root[data-theme="dark"] #auctionView .auction-phase-notice-v2[data-phase="selection"] { :root[data-theme="dark"] #auctionView .auction-phase-notice-v2[data-phase="selection"] {
border-color: var(--warning-line); border-color: var(--warning-line);
background: var(--warning-soft); background: transparent;
} }
:root[data-theme="dark"] #auctionView .auction-phase-notice-v2[data-phase="finalized"] { :root[data-theme="dark"] #auctionView .auction-phase-notice-v2[data-phase="finalized"] {
border-color: var(--market-down-soft); border-color: var(--market-down-soft);
background: var(--market-down-soft); background: transparent;
} }
:root[data-theme="dark"] #auctionView :is(.auction-filter-segments button.active, .auction-source-tags-v2 b) { :root[data-theme="dark"] #auctionView :is(.auction-filter-segments button.active, .auction-source-tags-v2 b) {
+21 -21
View File
@@ -68,7 +68,7 @@
.dragon-filter.active { .dragon-filter.active {
background: var(--blue); background: var(--blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.trader-operations { .trader-operations {
@@ -130,7 +130,7 @@
} }
.unclassified-heading:hover { .unclassified-heading:hover {
background: rgb(241, 246, 248); background: var(--surface-hover);
} }
.unclassified-heading h3 { .unclassified-heading h3 {
@@ -492,7 +492,7 @@
background: var(--card-accent); background: var(--card-accent);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-family: STKaiti, KaiTi, serif; font-family: STKaiti, KaiTi, serif;
@@ -859,7 +859,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -885,7 +885,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
} }
@@ -897,7 +897,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -913,7 +913,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -999,7 +999,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(244, 245, 247); background: var(--surface-muted);
} }
.dragon-view-tabs-v2 button { .dragon-view-tabs-v2 button {
@@ -1021,7 +1021,7 @@
} }
.dragon-view-tabs-v2 button.active { .dragon-view-tabs-v2 button.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -1077,7 +1077,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1145,7 +1145,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1195,7 +1195,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.dragon-filter-v2 { .dragon-filter-v2 {
@@ -1223,7 +1223,7 @@
} }
.dragon-filter-v2.active { .dragon-filter-v2.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-blue); color: var(--r2-blue);
@@ -1307,7 +1307,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(248, 249, 251); background: var(--surface-subtle);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1327,7 +1327,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
} }
.dragon-stage-heading-v2 > div { .dragon-stage-heading-v2 > div {
@@ -1381,7 +1381,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1435,11 +1435,11 @@
z-index: 2; z-index: 2;
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
#dragonView .dragon-operation-table tbody tr:hover { #dragonView .dragon-operation-table tbody tr:hover {
background: rgb(247, 249, 252); background: var(--table-hover);
} }
#dragonView .dragon-unclassified-v2 { #dragonView .dragon-unclassified-v2 {
@@ -1451,7 +1451,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1459,7 +1459,7 @@
#dragonView .dragon-unclassified-v2 .unclassified-heading { #dragonView .dragon-unclassified-v2 .unclassified-heading {
border-bottom-color: var(--r2-line-soft); border-bottom-color: var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
} }
.dragon-empty-state-v2 { .dragon-empty-state-v2 {
@@ -1479,7 +1479,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
+5 -5
View File
@@ -770,7 +770,7 @@ body[data-active-view="heavenView"] .workspace-view {
border-radius: 50%; border-radius: 50%;
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 12px; font-size: 12px;
} }
@@ -5129,7 +5129,7 @@ body[data-active-view="heavenView"] .workspace-view {
background: rgb(154, 91, 69); background: rgb(154, 91, 69);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
#heavenHeartPanel .button:disabled { #heavenHeartPanel .button:disabled {
@@ -6083,7 +6083,7 @@ body[data-active-view="heavenView"] .workspace-view {
.heaven-reading-history-item.active, .heaven-reading-history-item.active,
.heaven-reading-history-item:hover { .heaven-reading-history-item:hover {
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: rgb(154, 91, 69) 3px 0px inset; box-shadow: rgb(154, 91, 69) 3px 0px inset;
} }
@@ -6343,13 +6343,13 @@ body[data-active-view="heavenView"] .workspace-view {
border-color: var(--blue); border-color: var(--blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.btn.primary:hover { .btn.primary:hover {
background: var(--blue-d); background: var(--blue-d);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.phase-pick .pp.on { .phase-pick .pp.on {
+8 -8
View File
@@ -380,7 +380,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.ladder-sort-segment button { .ladder-sort-segment button {
@@ -394,7 +394,7 @@
} }
.ladder-sort-segment button.active { .ladder-sort-segment button.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -422,7 +422,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -532,7 +532,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -742,7 +742,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -774,7 +774,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -874,7 +874,7 @@
border-radius: 4px; border-radius: 4px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.market-ladder-pyramid-row > i b { .market-ladder-pyramid-row > i b {
@@ -954,7 +954,7 @@
border-radius: 4px; border-radius: 4px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.market-ladder-rate-list > div > i b { .market-ladder-rate-list > div > i b {
+9 -9
View File
@@ -791,21 +791,21 @@
} }
:is(.global-search-dialog, .stock-dialog, .settings-dialog:not(.heaven-reading-dialog)) { :is(.global-search-dialog, .stock-dialog, .settings-dialog:not(.heaven-reading-dialog)) {
--dialog-line: #e1e6ec; --dialog-line: var(--border);
--dialog-line-strong: #cfd7e1; --dialog-line-strong: var(--border-strong);
--dialog-muted: #f7f9fb; --dialog-muted: var(--surface-subtle);
--dialog-ink: #1f2937; --dialog-ink: var(--text-primary);
--dialog-sub: #687586; --dialog-sub: var(--text-secondary);
border: 1px solid var(--dialog-line-strong); border: 1px solid var(--dialog-line-strong);
border-radius: 10px; border-radius: 10px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--dialog-ink); color: var(--dialog-ink);
@@ -1026,7 +1026,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
grid-template-columns: repeat(4, minmax(0px, 1fr)); grid-template-columns: repeat(4, minmax(0px, 1fr));
} }
@@ -1040,7 +1040,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
grid-template-columns: repeat(3, minmax(0px, 1fr)); grid-template-columns: repeat(3, minmax(0px, 1fr));
} }
@@ -1060,7 +1060,7 @@
border-bottom: 1px solid var(--dialog-line); border-bottom: 1px solid var(--dialog-line);
background: rgb(255, 255, 255); background: var(--surface);
} }
.stock-dialog .moneyflow-grid > div:last-child { .stock-dialog .moneyflow-grid > div:last-child {
+104 -80
View File
@@ -605,7 +605,7 @@
@media (max-width: 900px) { @media (max-width: 900px) {
body[data-active-view="mentorView"] .workspace-view { body[data-active-view="mentorView"] .workspace-view {
padding: 10px 10px 84px; padding: 10px 0 84px;
} }
} }
@@ -624,7 +624,7 @@ body[data-active-view="mentorView"] .workspace-view {
box-shadow: none; box-shadow: none;
padding: 14px 16px 24px; padding: var(--page-pad-y) 0 24px;
} }
.mentor-page-controls .mentor-evidence-filters { .mentor-page-controls .mentor-evidence-filters {
@@ -720,35 +720,35 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView { #mentorView {
--mentor-blue: #2563eb; --mentor-blue: var(--action);
--mentor-blue-dark: #1d4ed8; --mentor-blue-dark: var(--action-hover);
--mentor-blue-soft: #eff4ff; --mentor-blue-soft: var(--action-soft);
--mentor-blue-line: #c7d8fb; --mentor-blue-line: var(--color-action-line);
--mentor-line: #e5e7eb; --mentor-line: var(--border);
--mentor-line-soft: #eef0f3; --mentor-line-soft: var(--border-subtle);
--mentor-ink: #1f2937; --mentor-ink: var(--text-primary);
--mentor-sub: #6b7280; --mentor-sub: var(--text-secondary);
--mentor-faint: #9ca3af; --mentor-faint: var(--text-tertiary);
color: var(--mentor-ink); color: var(--mentor-ink);
} }
#mentorView .mentor-page-header { #mentorView .mentor-page-header {
min-height: 42px; min-height: 36px;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 18px; gap: var(--space-12);
margin-bottom: 12px; margin-bottom: 12px;
@@ -774,9 +774,9 @@ body[data-active-view="mentorView"] .overview-strip {
color: var(--mentor-ink); color: var(--mentor-ink);
font-size: 18px; font-size: var(--font-size-page-title);
font-weight: 760; font-weight: var(--font-weight-bold);
letter-spacing: 0px; letter-spacing: 0px;
} }
@@ -786,7 +786,7 @@ body[data-active-view="mentorView"] .overview-strip {
color: var(--mentor-faint); color: var(--mentor-faint);
font-size: 11.5px; font-size: var(--font-size-caption);
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -818,7 +818,7 @@ body[data-active-view="mentorView"] .overview-strip {
border-radius: 8px; border-radius: 8px;
background: rgb(238, 240, 243); background: var(--surface-muted);
} }
#mentorView .mentor-evidence-filters button { #mentorView .mentor-evidence-filters button {
@@ -872,13 +872,13 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-evidence-filters button.active { #mentorView .mentor-evidence-filters button.active {
background: rgb(255, 255, 255); background: var(--control-surface);
color: var(--mentor-ink); color: var(--mentor-ink);
font-weight: 650; font-weight: var(--font-weight-semibold);
box-shadow: rgba(16, 24, 40, 0.09) 0px 1px 2px; box-shadow: var(--shadow-xs);
} }
#mentorView .mentor-evidence-filters button[data-mentor-grade="A"] { #mentorView .mentor-evidence-filters button[data-mentor-grade="A"] {
@@ -894,7 +894,7 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-evidence-filters button:focus-visible { #mentorView .mentor-evidence-filters button:focus-visible {
outline: rgba(37, 99, 235, 0.35) solid 2px; outline: var(--action) solid 2px;
outline-offset: 1px; outline-offset: 1px;
} }
@@ -968,11 +968,11 @@ body[data-active-view="mentorView"] .overview-strip {
border: 1px solid var(--mentor-line); border: 1px solid var(--mentor-line);
border-radius: 10px; border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: rgba(16, 24, 40, 0.05) 0px 1px 2px; box-shadow: var(--card-shadow);
position: relative; position: relative;
@@ -1004,15 +1004,15 @@ body[data-active-view="mentorView"] .overview-strip {
padding: 0px; padding: 0px;
background: rgb(255, 255, 255); background: var(--surface);
} }
#mentorView .mentor-directory-heading { #mentorView .mentor-directory-heading {
border-bottom: 1px solid var(--mentor-line-soft); border-bottom: 1px solid var(--mentor-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
min-height: 48px; min-height: 44px;
display: flex; display: flex;
@@ -1148,7 +1148,7 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-search-field { #mentorView .mentor-search-field {
height: 34px; height: var(--control-height);
display: grid; display: grid;
@@ -1164,17 +1164,17 @@ body[data-active-view="mentorView"] .overview-strip {
border: 1px solid var(--mentor-line); border: 1px solid var(--mentor-line);
border-radius: 7px; border-radius: var(--radius-md);
background: rgb(255, 255, 255); background: var(--control-surface);
color: var(--mentor-faint); color: var(--mentor-faint);
} }
#mentorView .mentor-search-field:focus-within { #mentorView .mentor-search-field:focus-within {
border-color: var(--mentor-blue-line); border-color: var(--mentor-blue);
box-shadow: rgba(37, 99, 235, 0.08) 0px 0px 0px 2px; box-shadow: 0 0 0 3px var(--focus-ring);
} }
#mentorView .mentor-search-field .lucide { #mentorView .mentor-search-field .lucide {
@@ -1260,7 +1260,7 @@ body[data-active-view="mentorView"] .overview-strip {
#mentorView .mentor-option { #mentorView .mentor-option {
width: 100%; width: 100%;
min-height: 82px; min-height: 70px;
display: grid; display: grid;
@@ -1286,21 +1286,21 @@ body[data-active-view="mentorView"] .overview-strip {
border-radius: 0px; border-radius: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--mentor-ink); color: var(--mentor-ink);
box-shadow: none; box-shadow: none;
transition: background-color 150ms, box-shadow 150ms; transition: background-color var(--motion-fast), box-shadow var(--motion-fast);
} }
#mentorView .mentor-option:hover { #mentorView .mentor-option:hover {
background: rgb(248, 250, 255); background: var(--surface-hover);
} }
#mentorView .mentor-option.active { #mentorView .mentor-option.active {
background: var(--mentor-blue-soft); background: var(--surface-selected);
box-shadow: inset 2px 0 0 var(--mentor-blue); box-shadow: inset 2px 0 0 var(--mentor-blue);
} }
@@ -1318,11 +1318,11 @@ body[data-active-view="mentorView"] .overview-strip {
#mentorView .mentor-option-main { #mentorView .mentor-option-main {
min-width: 0px; min-width: 0px;
min-height: 81px; min-height: 69px;
display: block; display: block;
padding: 10px 7px 9px 14px; padding: 9px 7px 8px 14px;
border: 0px; border: 0px;
@@ -1342,7 +1342,7 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-option-main:focus-visible { #mentorView .mentor-option-main:focus-visible {
outline: rgba(37, 99, 235, 0.42) solid 2px; outline: var(--action) solid 2px;
outline-offset: -3px; outline-offset: -3px;
} }
@@ -1504,7 +1504,7 @@ body[data-active-view="mentorView"] .overview-strip {
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--mentor-sub); color: var(--mentor-sub);
@@ -1560,7 +1560,7 @@ body[data-active-view="mentorView"] .overview-strip {
#mentorView .mentor-badge.quality { #mentorView .mentor-badge.quality {
border-color: transparent; border-color: transparent;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--mentor-faint); color: var(--mentor-faint);
} }
@@ -1704,11 +1704,11 @@ body[data-active-view="mentorView"] .overview-strip {
border: 1px solid var(--mentor-line); border: 1px solid var(--mentor-line);
border-radius: 10px; border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: rgba(16, 24, 40, 0.05) 0px 1px 2px; box-shadow: var(--card-shadow);
height: 100%; height: 100%;
@@ -1720,9 +1720,9 @@ body[data-active-view="mentorView"] .overview-strip {
#mentorView .mentor-chat-header { #mentorView .mentor-chat-header {
border-bottom: 1px solid var(--mentor-line-soft); border-bottom: 1px solid var(--mentor-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
min-height: 69px; min-height: 64px;
display: flex; display: flex;
@@ -1870,9 +1870,9 @@ body[data-active-view="mentorView"] .overview-strip {
overflow-y: auto; overflow-y: auto;
padding: 18px; padding: 20px 24px;
background: rgb(251, 252, 253); background: var(--surface);
scrollbar-color: rgb(215, 220, 228) transparent; scrollbar-color: rgb(215, 220, 228) transparent;
@@ -1910,9 +1910,9 @@ body[data-active-view="mentorView"] .overview-strip {
border-radius: 8px; border-radius: 8px;
background: rgb(243, 246, 251); background: var(--action-soft);
color: rgb(100, 130, 183); color: var(--action);
} }
#mentorView .mentor-empty-mark .lucide { #mentorView .mentor-empty-mark .lucide {
@@ -1924,7 +1924,7 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-empty-state strong { #mentorView .mentor-empty-state strong {
color: rgb(75, 85, 99); color: var(--text-primary);
font-size: 13px; font-size: 13px;
@@ -1944,33 +1944,45 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-message { #mentorView .mentor-message {
width: fit-content; width: min(100%, 900px);
max-width: min(84%, 820px); max-width: 100%;
margin: 0px 0px 12px; margin: 0px 0px 18px;
padding: 10px 12px; padding: 2px 8px 18px 16px;
border: 1px solid var(--mentor-line); border: 0px;
border-radius: 8px; border-bottom: 1px solid var(--mentor-line-soft);
background: rgb(255, 255, 255); border-left: 2px solid var(--mentor-blue);
box-shadow: rgba(16, 24, 40, 0.024) 0px 1px 1px; border-radius: 0px;
background: transparent;
box-shadow: none;
} }
#mentorView .mentor-message.user { #mentorView .mentor-message.user {
width: fit-content;
max-width: min(72%, 680px);
margin-left: auto; margin-left: auto;
border-color: var(--mentor-blue-line); padding: 9px 12px;
border: 1px solid var(--mentor-blue-line);
border-radius: var(--radius-md);
background: var(--mentor-blue-soft); background: var(--mentor-blue-soft);
} }
#mentorView .mentor-message.assistant { #mentorView .mentor-message.assistant {
border-left: 2px solid var(--mentor-blue); margin-right: auto;
} }
#mentorView .mentor-message-label { #mentorView .mentor-message-label {
@@ -1988,11 +2000,11 @@ body[data-active-view="mentorView"] .overview-strip {
overflow-wrap: anywhere; overflow-wrap: anywhere;
color: rgb(55, 65, 81); color: var(--text-primary);
font-size: 13px; font-size: 13px;
line-height: 1.62; line-height: 1.72;
white-space: normal; white-space: normal;
} }
@@ -2082,7 +2094,7 @@ body[data-active-view="mentorView"] .overview-strip {
border-top: 1px solid var(--mentor-line-soft); border-top: 1px solid var(--mentor-line-soft);
background: rgb(255, 255, 255); background: var(--surface-subtle);
scrollbar-width: none; scrollbar-width: none;
} }
@@ -2110,9 +2122,9 @@ body[data-active-view="mentorView"] .overview-strip {
border: 1px solid var(--mentor-line); border: 1px solid var(--mentor-line);
border-radius: 14px; border-radius: var(--radius-md);
background: rgb(255, 255, 255); background: var(--control-surface);
color: var(--mentor-sub); color: var(--mentor-sub);
@@ -2144,11 +2156,11 @@ body[data-active-view="mentorView"] .overview-strip {
gap: 8px; gap: 8px;
padding: 8px 14px; padding: 9px 14px;
border-top: 1px solid var(--mentor-line-soft); border-top: 1px solid var(--mentor-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
} }
#mentorView .mentor-chat-form textarea { #mentorView .mentor-chat-form textarea {
@@ -2168,11 +2180,11 @@ body[data-active-view="mentorView"] .overview-strip {
border: 1px solid var(--mentor-line); border: 1px solid var(--mentor-line);
border-radius: 8px; border-radius: var(--radius-md);
outline: 0px; outline: 0px;
background: rgb(255, 255, 255); background: var(--control-surface);
color: var(--mentor-ink); color: var(--mentor-ink);
@@ -2204,9 +2216,9 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-chat-form textarea:focus { #mentorView .mentor-chat-form textarea:focus {
border-color: var(--mentor-blue-line); border-color: var(--mentor-blue);
box-shadow: rgba(37, 99, 235, 0.08) 0px 0px 0px 2px; box-shadow: 0 0 0 3px var(--focus-ring);
} }
#mentorView .mentor-chat-form .button { #mentorView .mentor-chat-form .button {
@@ -2230,7 +2242,7 @@ body[data-active-view="mentorView"] .overview-strip {
background: var(--mentor-blue); background: var(--mentor-blue);
color: rgb(255, 255, 255); color: var(--on-action);
font-size: 12.5px; font-size: 12.5px;
} }
@@ -2252,7 +2264,7 @@ body[data-active-view="mentorView"] .overview-strip {
padding: 0px 14px 8px; padding: 0px 14px 8px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--mentor-faint); color: var(--mentor-faint);
@@ -2263,7 +2275,7 @@ body[data-active-view="mentorView"] .overview-strip {
@media (min-width: 721px) and (max-width: 1100px) { @media (min-width: 721px) and (max-width: 1100px) {
#mentorView .mentor-layout { #mentorView .mentor-layout {
grid-template-columns: 292px minmax(0px, 1fr); grid-template-columns: 272px minmax(0px, 1fr);
} }
#mentorView .mentor-directory-title > span { #mentorView .mentor-directory-title > span {
@@ -2365,7 +2377,7 @@ body[data-active-view="mentorView"] .overview-strip {
border: 0px; border: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--mentor-ink); color: var(--mentor-ink);
@@ -2509,6 +2521,14 @@ body[data-active-view="mentorView"] .overview-strip {
border-radius: 9px; border-radius: 9px;
} }
#mentorView .chat-box {
height: 100%;
min-height: 0px;
overflow: hidden;
}
#mentorView .mentor-chat-header { #mentorView .mentor-chat-header {
min-height: 68px; min-height: 68px;
@@ -2535,6 +2555,10 @@ body[data-active-view="mentorView"] .overview-strip {
} }
#mentorView .mentor-messages { #mentorView .mentor-messages {
flex: 1 1 0%;
min-height: 0px;
padding: 12px 10px; padding: 12px 10px;
} }
@@ -2747,13 +2771,13 @@ body[data-active-view="mentorView"] .overview-strip {
} }
:root[data-theme="dark"] #mentorView :is(.mentor-messages, .mentor-empty-mark) { :root[data-theme="dark"] #mentorView :is(.mentor-messages, .mentor-empty-mark) {
background: var(--surface-muted); background: var(--surface);
} }
:root[data-theme="dark"] #mentorView .mentor-message { :root[data-theme="dark"] #mentorView .mentor-message {
border-color: var(--line-soft); border-color: var(--border-subtle);
background: var(--surface-subtle); background: transparent;
box-shadow: none; box-shadow: none;
} }
+40 -40
View File
@@ -24,7 +24,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
vertical-align: middle; vertical-align: middle;
} }
@@ -54,7 +54,7 @@
padding-block: 8px; padding-block: 8px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -64,13 +64,13 @@
} }
.redesigned-pool-view .data-table th[data-sort]:hover { .redesigned-pool-view .data-table th[data-sort]:hover {
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-blue); color: var(--r2-blue);
} }
.redesigned-pool-view .data-table tbody tr:hover td { .redesigned-pool-view .data-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.redesigned-pool-view .data-table .row-number { .redesigned-pool-view .data-table .row-number {
@@ -127,7 +127,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
vertical-align: middle; vertical-align: middle;
} }
@@ -157,7 +157,7 @@
padding-block: 8px; padding-block: 8px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -199,7 +199,7 @@
} }
.redesigned-broken-view .data-table tbody tr:hover td { .redesigned-broken-view .data-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.redesigned-broken-view .data-table .row-number { .redesigned-broken-view .data-table .row-number {
@@ -255,7 +255,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
vertical-align: middle; vertical-align: middle;
} }
@@ -285,7 +285,7 @@
padding-block: 8px; padding-block: 8px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -327,7 +327,7 @@
} }
.redesigned-down-view .data-table tbody tr:hover td { .redesigned-down-view .data-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.redesigned-down-view .data-table .row-number { .redesigned-down-view .data-table .row-number {
@@ -375,7 +375,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
vertical-align: middle; vertical-align: middle;
} }
@@ -405,7 +405,7 @@
padding-block: 8px; padding-block: 8px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -447,7 +447,7 @@
} }
.redesigned-yesterday-view .data-table tbody tr:hover td { .redesigned-yesterday-view .data-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.redesigned-yesterday-view .data-table .row-number { .redesigned-yesterday-view .data-table .row-number {
@@ -635,7 +635,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -667,7 +667,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
} }
@@ -743,7 +743,7 @@
#limitPool .table-frame { #limitPool .table-frame {
border-radius: 10px; border-radius: 10px;
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--shadow-xs); box-shadow: var(--shadow-xs);
} }
@@ -755,7 +755,7 @@
border-radius: 10px; border-radius: 10px;
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--shadow-xs); box-shadow: var(--shadow-xs);
@@ -813,7 +813,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.pool-search-field .lucide { .pool-search-field .lucide {
@@ -873,7 +873,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -917,7 +917,7 @@
} }
.pool-state-tag.broken { .pool-state-tag.broken {
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(107, 114, 128); color: rgb(107, 114, 128);
} }
@@ -947,7 +947,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -981,7 +981,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1233,7 +1233,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -1263,7 +1263,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1377,7 +1377,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -1407,7 +1407,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1493,7 +1493,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -1519,7 +1519,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1547,7 +1547,7 @@
border-radius: 0px; border-radius: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -1559,7 +1559,7 @@
} }
.yesterday-summary-cell:hover { .yesterday-summary-cell:hover {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.yesterday-summary-cell.active { .yesterday-summary-cell.active {
@@ -1678,7 +1678,7 @@
.yesterday-outcome-tag.fail { .yesterday-outcome-tag.fail {
border: 1px solid var(--r2-line); border: 1px solid var(--r2-line);
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(75, 85, 99); color: rgb(75, 85, 99);
} }
@@ -1800,7 +1800,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1854,7 +1854,7 @@
.performance-status-tag.is-neutral { .performance-status-tag.is-neutral {
border-color: var(--r2-line); border-color: var(--r2-line);
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(75, 85, 99); color: rgb(75, 85, 99);
} }
@@ -1918,7 +1918,7 @@
border-radius: 3px; border-radius: 3px;
background: rgb(240, 242, 245); background: var(--surface-muted);
} }
.performance-stage-track i { .performance-stage-track i {
@@ -1954,7 +1954,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-faint); color: var(--r2-faint);
@@ -1980,7 +1980,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1990,7 +1990,7 @@
padding: 0px; padding: 0px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.performance-panel-head { .performance-panel-head {
@@ -2024,7 +2024,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -2066,7 +2066,7 @@
border-radius: 6px; border-radius: 6px;
background: rgb(240, 242, 245); background: var(--surface-muted);
} }
.performance-width-bar i { .performance-width-bar i {
@@ -2305,7 +2305,7 @@
font-size: 12.5px; font-size: 12.5px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
+7 -7
View File
@@ -40,7 +40,7 @@
:where(#popularityView) #popularitySummary { :where(#popularityView) #popularitySummary {
margin-bottom: 12px; margin-bottom: 12px;
background: rgb(255, 255, 255); background: var(--surface);
} }
#popularityView .data-table { #popularityView .data-table {
@@ -148,7 +148,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(244, 245, 247); background: var(--surface-muted);
} }
.popularity-source-tabs-v2 button { .popularity-source-tabs-v2 button {
@@ -174,7 +174,7 @@
} }
.popularity-source-tabs-v2 button.active { .popularity-source-tabs-v2 button.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -308,7 +308,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -489,7 +489,7 @@
} }
.popularity-table-v2 tbody tr:hover { .popularity-table-v2 tbody tr:hover {
background: rgb(247, 249, 252); background: var(--table-hover);
} }
.popularity-rank-v2 { .popularity-rank-v2 {
@@ -587,7 +587,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -792,7 +792,7 @@
} }
.hot3 .hc { .hot3 .hc {
background: rgb(255, 255, 255); background: var(--surface);
border: 1px solid var(--line); border: 1px solid var(--line);
+38 -38
View File
@@ -176,7 +176,7 @@
@media (max-width: 900px) { @media (max-width: 900px) {
body[data-active-view="reviewWorkspaceView"] .workspace-view { body[data-active-view="reviewWorkspaceView"] .workspace-view {
padding: 10px 10px 84px; padding: 10px 0 84px;
} }
.review-workspace .notes-history-section, .review-workspace .notes-history-section,
@@ -200,7 +200,7 @@ body[data-active-view="reviewWorkspaceView"] .workspace-view {
box-shadow: none; box-shadow: none;
padding: 14px 16px 24px; padding: var(--page-pad-y) 0 24px;
} }
.review-workspace .workspace-section + .workspace-section { .review-workspace .workspace-section + .workspace-section {
@@ -234,7 +234,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
.review-workspace .workspace-section { .review-workspace .workspace-section {
background: rgb(255, 255, 255); background: var(--surface);
border: 1px solid var(--border); border: 1px solid var(--border);
@@ -326,23 +326,23 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
#reviewWorkspaceView { #reviewWorkspaceView {
--review-blue: #2563eb; --review-blue: var(--action);
--review-blue-dark: #1d4ed8; --review-blue-dark: var(--action-hover);
--review-blue-soft: #eff4ff; --review-blue-soft: var(--action-soft);
--review-blue-line: #c7d8fb; --review-blue-line: var(--color-action-line);
--review-line: #e5e7eb; --review-line: var(--border);
--review-line-soft: #eef0f3; --review-line-soft: var(--border-subtle);
--review-ink: #1f2937; --review-ink: var(--text-primary);
--review-sub: #6b7280; --review-sub: var(--text-secondary);
--review-faint: #9ca3af; --review-faint: var(--text-tertiary);
color: var(--review-ink); color: var(--review-ink);
} }
@@ -400,7 +400,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -467,7 +467,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 10px; border-radius: 10px;
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: rgba(16, 24, 40, 0.05) 0px 1px 2px; box-shadow: rgba(16, 24, 40, 0.05) 0px 1px 2px;
} }
@@ -503,7 +503,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--review-sub); color: var(--review-sub);
@@ -521,7 +521,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-bottom: 1px solid var(--review-line-soft); border-bottom: 1px solid var(--review-line-soft);
background: rgb(250, 251, 252); background: var(--surface-subtle);
color: var(--review-faint); color: var(--review-faint);
@@ -547,7 +547,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
#reviewWorkspaceView .data-table tbody tr:hover { #reviewWorkspaceView .data-table tbody tr:hover {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
#reviewWorkspaceView .stock-cell { #reviewWorkspaceView .stock-cell {
@@ -625,7 +625,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
#reviewWorkspaceView .table-action.down:hover { #reviewWorkspaceView .table-action.down:hover {
background: rgb(245, 246, 248); background: var(--surface-hover);
color: rgb(209, 67, 67); color: rgb(209, 67, 67);
} }
@@ -683,7 +683,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
background: var(--review-blue); background: var(--review-blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 11.5px; font-size: 11.5px;
} }
@@ -715,7 +715,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-bottom: 1px solid var(--review-line-soft); border-bottom: 1px solid var(--review-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
} }
#reviewWorkspaceView .trade-log-summary:empty { #reviewWorkspaceView .trade-log-summary:empty {
@@ -799,7 +799,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 5px; border-radius: 5px;
background: rgb(248, 249, 251); background: var(--surface-subtle);
color: var(--review-sub); color: var(--review-sub);
@@ -821,7 +821,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 5px; border-radius: 5px;
background: rgb(248, 249, 251); background: var(--surface-subtle);
color: var(--review-sub); color: var(--review-sub);
@@ -947,7 +947,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 6px; border-radius: 6px;
background: rgb(248, 249, 251); background: var(--surface-subtle);
color: var(--review-sub); color: var(--review-sub);
@@ -961,7 +961,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
padding: 14px 16px 16px; padding: 14px 16px 16px;
background: rgb(255, 255, 255); background: var(--surface);
} }
#reviewWorkspaceView .journal-form .form-field:nth-of-type(2) textarea { #reviewWorkspaceView .journal-form .form-field:nth-of-type(2) textarea {
@@ -973,11 +973,11 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
#reviewWorkspaceView .journal-form textarea:focus { #reviewWorkspaceView .journal-form textarea:focus {
border-color: var(--review-blue-line); border-color: var(--review-blue-line);
box-shadow: rgba(37, 99, 235, 0.08) 0px 0px 0px 2px; box-shadow: 0 0 0 2px var(--focus-ring);
} }
#reviewWorkspaceView .journal-form textarea::placeholder { #reviewWorkspaceView .journal-form textarea::placeholder {
color: rgb(166, 173, 183); color: var(--review-faint);
} }
#reviewWorkspaceView .journal-form .dialog-actions { #reviewWorkspaceView .journal-form .dialog-actions {
@@ -1005,7 +1005,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
background: var(--review-blue); background: var(--review-blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 12px; font-size: 12px;
} }
@@ -1035,7 +1035,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
overflow-y: auto; overflow-y: auto;
background: rgb(255, 255, 255); background: var(--surface);
} }
#reviewWorkspaceView .note-row { #reviewWorkspaceView .note-row {
@@ -1273,7 +1273,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-bottom: 1px solid var(--review-line-soft); border-bottom: 1px solid var(--review-line-soft);
background: rgb(255, 255, 255); background: var(--surface);
min-height: 48px; min-height: 48px;
@@ -1418,7 +1418,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
outline: 0px; outline: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--review-ink); color: var(--review-ink);
@@ -1470,7 +1470,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
outline: 0px; outline: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--review-ink); color: var(--review-ink);
@@ -1565,7 +1565,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 8px; border-radius: 8px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.watchlist-search-control:focus-within { .watchlist-search-control:focus-within {
@@ -1649,7 +1649,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-image: none; border-image: none;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(31, 41, 55); color: rgb(31, 41, 55);
@@ -1657,7 +1657,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
.watchlist-search-results button:hover { .watchlist-search-results button:hover {
background: rgb(245, 248, 255); background: var(--surface-selected);
} }
.watchlist-search-results button > span { .watchlist-search-results button > span {
@@ -1713,7 +1713,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
border-radius: 8px; border-radius: 8px;
background: rgb(247, 249, 254); background: var(--surface-subtle);
} }
.watchlist-selection[hidden] { .watchlist-selection[hidden] {
@@ -1869,7 +1869,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
} }
#reviewWorkspaceView .journal-form .form-field > span { #reviewWorkspaceView .journal-form .form-field > span {
color: rgb(55, 65, 81); color: var(--review-sub);
font-size: 12px; font-size: 12px;
@@ -1937,7 +1937,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
padding: 18px 20px 20px; padding: 18px 20px 20px;
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
.trade-log-dialog .trade-log-form-grid { .trade-log-dialog .trade-log-form-grid {
@@ -1992,7 +1992,7 @@ body[data-active-view="reviewWorkspaceView"] .overview-strip {
padding: 5px 10px; padding: 5px 10px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.search .ico { .search .ico {
+17 -17
View File
@@ -89,7 +89,7 @@
border-radius: 4px; border-radius: 4px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.rotation-legend span { .rotation-legend span {
@@ -225,7 +225,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.rotation-order-control button { .rotation-order-control button {
@@ -247,7 +247,7 @@
} }
.rotation-order-control button.active { .rotation-order-control button.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -280,7 +280,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -303,7 +303,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -315,7 +315,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
@@ -379,7 +379,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -579,7 +579,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -623,7 +623,7 @@
border-radius: 0px; border-radius: 0px;
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: none; box-shadow: none;
} }
@@ -639,7 +639,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(248, 250, 252); background: var(--table-header);
} }
#rotationView .rotation-day > header time { #rotationView .rotation-day > header time {
@@ -681,7 +681,7 @@
background: var(--r2-blue); background: var(--r2-blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 9px; font-size: 9px;
@@ -757,19 +757,19 @@
#rotationView .rotation-rank.rank-1 { #rotationView .rotation-rank.rank-1 {
background: rgb(224, 69, 54); background: rgb(224, 69, 54);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
#rotationView .rotation-rank.rank-2 { #rotationView .rotation-rank.rank-2 {
background: rgb(240, 113, 79); background: rgb(240, 113, 79);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
#rotationView .rotation-rank.rank-3 { #rotationView .rotation-rank.rank-3 {
background: rgb(245, 166, 35); background: rgb(245, 166, 35);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
#rotationView .rotation-sector-chip strong { #rotationView .rotation-sector-chip strong {
@@ -837,7 +837,7 @@
background: var(--r2-ink); background: var(--r2-ink);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 10.5px; font-size: 10.5px;
@@ -870,7 +870,7 @@
border-bottom: 1px solid var(--r2-line); border-bottom: 1px solid var(--r2-line);
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -966,7 +966,7 @@
} }
#rotationView .trend-flat { #rotationView .trend-flat {
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
} }
File diff suppressed because it is too large Load Diff
+5 -9
View File
@@ -55,15 +55,6 @@
</div> </div>
</section> </section>
</div> </div>
<div class="screener-runbar runbar">
<div class="screener-run-actions">
<button id="screenerExportButton" class="button" type="button">导出 CSV</button>
</div>
<div class="screener-pipeline-status" aria-live="polite">
<span>因子 <strong id="factorTaskStatus">等待检查</strong></span>
<span>编译 <strong id="compilerStatus">本地模板编译</strong></span>
</div>
</div>
<div data-screener-results-slot="smart"></div> <div data-screener-results-slot="smart"></div>
</div> </div>
<div class="curated-screener-panel" data-screener-panel="curated" hidden> <div class="curated-screener-panel" data-screener-panel="curated" hidden>
@@ -150,12 +141,17 @@
<div class="section-toolbar result-toolbar"> <div class="section-toolbar result-toolbar">
<div class="section-title-group"><h2 id="screenerResultTitle">候选结果</h2><span id="screenerResultCount" class="count-badge">0 只</span><span id="screenerResultSource" class="screener-result-source" hidden></span></div> <div class="section-title-group"><h2 id="screenerResultTitle">候选结果</h2><span id="screenerResultCount" class="count-badge">0 只</span><span id="screenerResultSource" class="screener-result-source" hidden></span></div>
<div class="screener-result-tools"> <div class="screener-result-tools">
<div class="screener-pipeline-status" aria-live="polite">
<span>因子 <strong id="factorTaskStatus">等待检查</strong></span>
<span>编译 <strong id="compilerStatus">本地模板编译</strong></span>
</div>
<div class="segmented screener-archive-tabs" role="tablist" aria-label="候选结果范围"> <div class="segmented screener-archive-tabs" role="tablist" aria-label="候选结果范围">
<button class="segment active" type="button" role="tab" aria-selected="true" data-screener-archive-view="latest">最新候选</button> <button class="segment active" type="button" role="tab" aria-selected="true" data-screener-archive-view="latest">最新候选</button>
<button class="segment" type="button" role="tab" aria-selected="false" data-screener-archive-view="active">持续有效</button> <button class="segment" type="button" role="tab" aria-selected="false" data-screener-archive-view="active">持续有效</button>
<button class="segment" type="button" role="tab" aria-selected="false" data-screener-archive-view="history">入选历史</button> <button class="segment" type="button" role="tab" aria-selected="false" data-screener-archive-view="history">入选历史</button>
</div> </div>
<span id="screenerDisclaimer" class="section-subtitle">历史统计不代表未来收益</span> <span id="screenerDisclaimer" class="section-subtitle">历史统计不代表未来收益</span>
<button id="screenerExportButton" class="button" type="button"><i data-lucide="download"></i>导出 CSV</button>
</div> </div>
</div> </div>
<div id="screenerBatchNotice" class="screener-batch-notice" hidden></div> <div id="screenerBatchNotice" class="screener-batch-notice" hidden></div>
+19 -19
View File
@@ -240,11 +240,11 @@
} }
.sentiment-history-table .sentiment-history-groups .group-ladder { .sentiment-history-table .sentiment-history-groups .group-ladder {
background: rgb(244, 245, 239); background: var(--warning-soft);
} }
.sentiment-history-table .sentiment-history-groups .group-risk { .sentiment-history-table .sentiment-history-groups .group-risk {
background: rgb(248, 238, 238); background: var(--market-up-soft);
} }
.sentiment-history-table .sentiment-history-groups .group-feedback { .sentiment-history-table .sentiment-history-groups .group-feedback {
@@ -258,7 +258,7 @@
z-index: 5; z-index: 5;
background: rgb(247, 249, 250); background: var(--table-header);
color: rgb(57, 74, 86); color: rgb(57, 74, 86);
@@ -298,7 +298,7 @@
z-index: 7; z-index: 7;
background: rgb(247, 249, 250); background: var(--table-header);
} }
.sentiment-history-table .sentiment-history-columns th:nth-child(2) { .sentiment-history-table .sentiment-history-columns th:nth-child(2) {
@@ -310,19 +310,19 @@
z-index: 7; z-index: 7;
background: rgb(247, 249, 250); background: var(--table-header);
} }
.sentiment-history-table tbody tr:nth-child(2n) td { .sentiment-history-table tbody tr:nth-child(2n) td {
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
.sentiment-history-table tbody tr:hover td { .sentiment-history-table tbody tr:hover td {
background: rgb(241, 246, 249); background: var(--table-hover);
} }
.sentiment-history-table tbody tr.latest-row td { .sentiment-history-table tbody tr.latest-row td {
background: rgb(242, 247, 253); background: var(--table-selected);
font-weight: 650; font-weight: 650;
} }
@@ -495,7 +495,7 @@
border-radius: 50%; border-radius: 50%;
background: conic-gradient(var(--coral) calc(var(--score) * 1%), #e5eaee 0); background: conic-gradient(var(--coral) calc(var(--score) * 1%), var(--border) 0);
position: relative; position: relative;
@@ -810,7 +810,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -838,7 +838,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -854,7 +854,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -973,7 +973,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1021,7 +1021,7 @@
background: var(--r2-ink); background: var(--r2-ink);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 11px; font-size: 11px;
@@ -1243,7 +1243,7 @@
border-radius: 5px; border-radius: 5px;
background: rgb(240, 242, 245); background: var(--surface-muted);
} }
.redesigned-sentiment-view .sentiment-component-item:nth-child(n) .sentiment-component-track i, .redesigned-sentiment-view .sentiment-component-item:nth-child(n) .sentiment-component-track i,
@@ -1280,7 +1280,7 @@
border-radius: var(--r2-radius) var(--r2-radius) 0 0; border-radius: var(--r2-radius) var(--r2-radius) 0 0;
background: rgb(255, 255, 255); background: var(--surface);
} }
.redesigned-sentiment-view .sentiment-detail-toolbar h2 { .redesigned-sentiment-view .sentiment-detail-toolbar h2 {
@@ -1298,7 +1298,7 @@
border-radius: 0 0 var(--r2-radius) var(--r2-radius); border-radius: 0 0 var(--r2-radius) var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -1317,7 +1317,7 @@
} }
.redesigned-sentiment-view .sentiment-history-table thead th { .redesigned-sentiment-view .sentiment-history-table thead th {
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1327,7 +1327,7 @@
} }
.redesigned-sentiment-view .sentiment-history-groups th { .redesigned-sentiment-view .sentiment-history-groups th {
background: rgb(243, 245, 247); background: var(--table-header);
} }
@media (max-width: 1180px) { @media (max-width: 1180px) {
+22 -22
View File
@@ -245,7 +245,7 @@
border-radius: var(--card-radius); border-radius: var(--card-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--card-shadow); box-shadow: var(--card-shadow);
@@ -313,7 +313,7 @@
font-size: 11px; font-size: 11px;
font-weight: 650; font-weight: var(--font-weight-semibold);
white-space: nowrap; white-space: nowrap;
} }
@@ -341,11 +341,11 @@
padding: 0px 10px; padding: 0px 10px;
border: 1px solid rgb(216, 221, 229); border: 1px solid var(--control-border);
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-faint); color: var(--r2-faint);
@@ -353,9 +353,9 @@
} }
.theme-search-v2:focus-within { .theme-search-v2:focus-within {
border-color: rgb(150, 181, 242); border-color: var(--action);
box-shadow: rgba(37, 99, 235, 0.09) 0px 0px 0px 3px; box-shadow: 0 0 0 3px var(--focus-ring);
} }
.theme-search-v2 .lucide { .theme-search-v2 .lucide {
@@ -417,7 +417,7 @@
border-radius: var(--r2-radius); border-radius: var(--r2-radius);
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: var(--r2-shadow); box-shadow: var(--r2-shadow);
} }
@@ -451,7 +451,7 @@
font-size: 19px; font-size: 19px;
font-weight: 750; font-weight: var(--font-weight-bold);
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
} }
@@ -549,13 +549,13 @@
border-radius: 5px; border-radius: 5px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
font-size: 10.5px; font-size: 10.5px;
font-weight: 650; font-weight: var(--font-weight-semibold);
} }
.theme-directory-labels-v2 { .theme-directory-labels-v2 {
@@ -571,7 +571,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(250, 251, 252); background: var(--surface-subtle);
color: var(--r2-faint); color: var(--r2-faint);
@@ -651,7 +651,7 @@
} }
.theme-directory-item-v2:hover { .theme-directory-item-v2:hover {
background: rgb(247, 249, 252); background: var(--surface-hover);
} }
.theme-directory-item-v2.active { .theme-directory-item-v2.active {
@@ -685,7 +685,7 @@
.theme-directory-item-v2:nth-child(-n+3) .theme-rank-v2 { .theme-directory-item-v2:nth-child(-n+3) .theme-rank-v2 {
color: var(--r2-amber); color: var(--r2-amber);
font-weight: 750; font-weight: var(--font-weight-bold);
} }
.theme-directory-copy-v2 { .theme-directory-copy-v2 {
@@ -703,7 +703,7 @@
font-size: 13px; font-size: 13px;
font-weight: 650; font-weight: var(--font-weight-semibold);
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -848,7 +848,7 @@
font-size: 18px; font-size: 18px;
font-weight: 750; font-weight: var(--font-weight-bold);
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -862,7 +862,7 @@
border-radius: 4px; border-radius: 4px;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: var(--r2-sub); color: var(--r2-sub);
@@ -888,7 +888,7 @@
.theme-change-v2 strong { .theme-change-v2 strong {
font-size: 22px; font-size: 22px;
font-weight: 750; font-weight: var(--font-weight-bold);
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
} }
@@ -902,7 +902,7 @@
border-bottom: 1px solid var(--r2-line-soft); border-bottom: 1px solid var(--r2-line-soft);
background: rgb(252, 252, 253); background: var(--table-header);
} }
.theme-detail-metrics-v2 > div { .theme-detail-metrics-v2 > div {
@@ -1034,7 +1034,7 @@
border-bottom-color: var(--r2-line); border-bottom-color: var(--r2-line);
background: rgb(250, 251, 252); background: var(--surface-subtle);
color: var(--r2-sub); color: var(--r2-sub);
@@ -1054,17 +1054,17 @@
} }
.theme-members-table-v2 tbody tr:hover { .theme-members-table-v2 tbody tr:hover {
background: rgb(247, 249, 252); background: var(--table-hover);
} }
.theme-members-table-v2 .stock-name { .theme-members-table-v2 .stock-name {
color: var(--r2-ink); color: var(--r2-ink);
font-weight: 650; font-weight: var(--font-weight-semibold);
} }
.theme-members-table-v2 .stock-code { .theme-members-table-v2 .stock-code {
color: rgb(64, 85, 115); color: var(--action);
} }
@media (min-width: 1181px) { @media (min-width: 1181px) {
+5 -5
View File
@@ -315,7 +315,7 @@
border-radius: 4px; border-radius: 4px;
background: rgb(255, 255, 255); background: var(--surface);
} }
.membership-expiry { .membership-expiry {
@@ -729,7 +729,7 @@ button.account-role-badge:focus-visible {
.vip-role-badge.is-nonmember b { .vip-role-badge.is-nonmember b {
background: rgb(135, 147, 158); background: rgb(135, 147, 158);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.vip-role-badge b { .vip-role-badge b {
@@ -1216,7 +1216,7 @@ button.account-role-badge:focus-visible {
background: rgb(37, 99, 235); background: rgb(37, 99, 235);
color: rgb(255, 255, 255); color: var(--text-inverse);
box-shadow: none; box-shadow: none;
@@ -1401,7 +1401,7 @@ button.account-role-badge:focus-visible {
border-radius: 7px; border-radius: 7px;
background: rgb(248, 250, 252); background: var(--table-header);
} }
.account-settings-dialog .membership-status-grid span { .account-settings-dialog .membership-status-grid span {
@@ -1439,7 +1439,7 @@ button.account-role-badge:focus-visible {
} }
.account-settings-dialog .membership-comparison-head { .account-settings-dialog .membership-comparison-head {
background: rgb(245, 247, 249); background: var(--table-header);
} }
.account-settings-dialog .membership-topup-row { .account-settings-dialog .membership-topup-row {
+6 -6
View File
@@ -54,7 +54,7 @@ html {
color: var(--r2-ink); color: var(--r2-ink);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-family: inherit;
font-size: 13px; font-size: 13px;
} }
@@ -80,7 +80,7 @@ body {
color: var(--ink); color: var(--ink);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-family: inherit;
font-size: 13px; font-size: 13px;
@@ -98,7 +98,7 @@ time {
} }
[tabindex]:focus-visible { [tabindex]:focus-visible {
outline: rgba(8, 127, 174, 0.48) solid 2px; outline: var(--action) solid 2px;
outline-offset: 2px; outline-offset: 2px;
} }
@@ -110,17 +110,17 @@ dialog {
border: 1px solid var(--border); border: 1px solid var(--border);
border-radius: 9px; border-radius: var(--radius-lg);
background: var(--surface); background: var(--surface);
color: var(--text); color: var(--text);
box-shadow: var(--shadow); box-shadow: var(--shadow-float);
} }
dialog::backdrop { dialog::backdrop {
background: rgba(27, 38, 49, 0.48); background: var(--backdrop);
backdrop-filter: blur(2px); backdrop-filter: blur(2px);
} }
+30 -28
View File
@@ -201,13 +201,13 @@
} }
.card { .card {
background: var(--card); background: var(--card-bg);
border: 1px solid var(--line); border: 1px solid var(--card-border);
border-radius: var(--radius); border-radius: var(--card-radius);
box-shadow: var(--shadow); box-shadow: var(--card-shadow);
} }
.card-h { .card-h {
@@ -219,19 +219,21 @@
padding: 11px 14px; padding: 11px 14px;
border-bottom: 1px solid var(--line-soft); border-bottom: 1px solid var(--border-subtle);
} }
.card-h h3 { .card-h h3 {
font-size: 14px; color: var(--text-primary);
font-weight: 700; font-size: var(--font-size-card-title);
font-weight: var(--font-weight-bold);
} }
.card-h .sub { .card-h .sub {
font-size: 11px; font-size: var(--font-size-caption);
color: var(--faint); color: var(--text-tertiary);
} }
.card-h .right { .card-h .right {
@@ -285,11 +287,11 @@
} }
.tag.neu { .tag.neu {
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(75, 85, 99); color: var(--text-secondary);
border-color: rgb(229, 231, 235); border-color: var(--border);
} }
.tag.red { .tag.red {
@@ -313,7 +315,7 @@
.tag.b3 { .tag.b3 {
background: var(--blue); background: var(--blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.field { .field {
@@ -335,9 +337,9 @@
.src { .src {
display: inline-block; display: inline-block;
background: rgb(243, 244, 246); background: var(--surface-muted);
color: rgb(107, 114, 128); color: var(--text-secondary);
border-radius: 4px; border-radius: 4px;
@@ -435,7 +437,7 @@
background: var(--up-soft); background: var(--up-soft);
border: 1px solid rgb(245, 207, 201); border: 1px solid var(--up);
border-radius: 10px; border-radius: 10px;
@@ -467,7 +469,7 @@
.phase-info .sum { .phase-info .sum {
font-size: 12.5px; font-size: 12.5px;
color: rgb(55, 65, 81); color: var(--text-primary);
line-height: 1.7; line-height: 1.7;
} }
@@ -651,19 +653,19 @@
} }
.tier.t4 .lab { .tier.t4 .lab {
background: linear-gradient(90deg, rgb(253, 241, 239), rgb(255, 255, 255)); background: var(--up-soft);
} }
.tier.t3 .lab { .tier.t3 .lab {
background: linear-gradient(90deg, rgb(253, 246, 236), rgb(255, 255, 255)); background: var(--warning-soft);
} }
.tier.t2 .lab { .tier.t2 .lab {
background: linear-gradient(90deg, rgb(236, 247, 241), rgb(255, 255, 255)); background: var(--down-soft);
} }
.tier.t1 .lab { .tier.t1 .lab {
background: linear-gradient(90deg, rgb(238, 244, 253), rgb(255, 255, 255)); background: var(--action-soft);
} }
.tier.gap .cards { .tier.gap .cards {
@@ -797,7 +799,7 @@
height: 8px; height: 8px;
background: rgb(243, 244, 246); background: var(--surface-muted);
border-radius: 4px; border-radius: 4px;
@@ -875,7 +877,7 @@
height: 9px; height: 9px;
background: rgb(240, 242, 245); background: var(--surface-muted);
border-radius: 5px; border-radius: 5px;
@@ -887,7 +889,7 @@
height: 100%; height: 100%;
background: linear-gradient(90deg,#93b4f5,var(--blue)); background: var(--blue);
border-radius: 5px; border-radius: 5px;
} }
@@ -913,7 +915,7 @@
} }
.perf-card { .perf-card {
background: rgb(255, 255, 255); background: var(--surface);
border: 1px solid var(--line); border: 1px solid var(--line);
@@ -939,7 +941,7 @@
.perf-card .bar { .perf-card .bar {
height: 6px; height: 6px;
background: rgb(240, 242, 245); background: var(--surface-muted);
border-radius: 3px; border-radius: 3px;
@@ -973,7 +975,7 @@
} }
.width-bar .dn { .width-bar .dn {
background: rgb(22, 163, 74); background: var(--down);
} }
.width-legend { .width-legend {
@@ -1011,7 +1013,7 @@
} }
.model:hover { .model:hover {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.model .r1 { .model .r1 {
+23 -23
View File
@@ -87,7 +87,7 @@ textarea:focus-visible {
} }
.sidebar-collapse-button:hover { .sidebar-collapse-button:hover {
background: rgb(241, 244, 247); background: var(--control-hover);
color: var(--text-primary); color: var(--text-primary);
} }
@@ -203,7 +203,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.icon-button:hover { .icon-button:hover {
border-color: rgb(148, 181, 216); border-color: rgb(148, 181, 216);
background: rgb(248, 251, 255); background: var(--surface-selected);
color: var(--action-hover); color: var(--action-hover);
@@ -454,7 +454,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
min-height: var(--control-height); min-height: var(--control-height);
border-color: var(--border-strong); border-color: var(--control-border);
border-radius: var(--radius-md); border-radius: var(--radius-md);
@@ -462,13 +462,13 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
padding: 0px 12px; padding: 0px 12px;
background: var(--surface-raised); background: var(--control-surface);
color: var(--xb-gray-700); color: var(--text-primary);
font-size: 12px; font-size: var(--font-size-label);
font-weight: 620; font-weight: var(--font-weight-semibold);
transition: border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast); transition: border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);
} }
@@ -476,17 +476,17 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.button:hover { .button:hover {
box-shadow: none; box-shadow: none;
border-color: rgb(184, 199, 232); border-color: var(--color-action-line);
color: var(--primary); color: var(--primary);
background: var(--xb-gray-25); background: var(--control-hover);
} }
.button:active { .button:active {
box-shadow: none; box-shadow: none;
transform: translateY(1px); transform: scale(.98);
} }
.button.primary { .button.primary {
@@ -494,7 +494,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
background: var(--primary); background: var(--primary);
color: rgb(255, 255, 255); color: var(--on-action);
} }
.button.primary:hover { .button.primary:hover {
@@ -502,7 +502,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
background: var(--primary-hover); background: var(--primary-hover);
color: rgb(255, 255, 255); color: var(--on-action);
} }
.form-field input { .form-field input {
@@ -520,7 +520,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md); border-radius: var(--radius-md);
background: var(--surface-raised); background: var(--control-surface);
box-shadow: none; box-shadow: none;
} }
@@ -531,7 +531,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md); border-radius: var(--radius-md);
background: var(--surface-raised); background: var(--control-surface);
box-shadow: none; box-shadow: none;
} }
@@ -579,7 +579,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md); border-radius: var(--radius-md);
background: var(--surface-raised); background: var(--control-surface);
box-shadow: none; box-shadow: none;
} }
@@ -588,9 +588,9 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.form-field select:focus, .form-field select:focus,
.form-field textarea:focus, .form-field textarea:focus,
.search-field:focus-within { .search-field:focus-within {
border-color: rgb(142, 172, 239); border-color: var(--action);
box-shadow: rgba(53, 106, 230, 0.1) 0px 0px 0px 3px; box-shadow: 0 0 0 3px var(--focus-ring);
} }
@media (max-width: 720px) { @media (max-width: 720px) {
@@ -682,7 +682,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: 0px; border-radius: 0px;
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-sub); color: var(--r2-sub);
@@ -714,7 +714,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(75, 85, 99); color: rgb(75, 85, 99);
@@ -732,7 +732,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--surface);
color: rgb(55, 65, 81); color: rgb(55, 65, 81);
@@ -748,7 +748,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
background: var(--r2-blue); background: var(--r2-blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
@media (max-width: 1023px) and (min-width: 721px) { @media (max-width: 1023px) and (min-width: 721px) {
@@ -830,7 +830,7 @@ textarea {
} }
.seg button.on { .seg button.on {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--ink); color: var(--ink);
@@ -922,7 +922,7 @@ textarea {
.method button.on { .method button.on {
background: var(--blue); background: var(--blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
} }
.factor input[type="range"] { .factor input[type="range"] {
+4 -4
View File
@@ -40,7 +40,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
@keyframes overlay-enter { @keyframes overlay-enter {
@@ -266,7 +266,7 @@
background: var(--market-up); background: var(--market-up);
color: rgb(255, 255, 255); color: var(--text-inverse);
font-size: 9px; font-size: 9px;
@@ -977,7 +977,7 @@
border-radius: 7px; border-radius: 7px;
background: rgb(250, 251, 252); background: var(--surface-subtle);
} }
.global-search-empty { .global-search-empty {
@@ -1193,7 +1193,7 @@
bottom: 0px; bottom: 0px;
background: rgb(255, 255, 255); background: var(--surface);
z-index: 95; z-index: 95;
+1 -5
View File
@@ -132,7 +132,7 @@
background: rgb(33, 49, 60); background: rgb(33, 49, 60);
color: rgb(255, 255, 255); color: var(--text-inverse);
box-shadow: var(--shadow); box-shadow: var(--shadow);
@@ -364,14 +364,10 @@
@keyframes stage18-dialog-enter { @keyframes stage18-dialog-enter {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(7px) scale(0.992);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateY(0px) scale(1);
} }
} }
@@ -114,7 +114,7 @@
border-radius: 8px; border-radius: 8px;
background: rgb(243, 244, 246); background: var(--surface-muted);
} }
.redesigned-page-head .segment { .redesigned-page-head .segment {
@@ -134,7 +134,7 @@
} }
.redesigned-page-head .segment.active { .redesigned-page-head .segment.active {
background: rgb(255, 255, 255); background: var(--surface);
color: var(--r2-ink); color: var(--r2-ink);
@@ -204,7 +204,7 @@
.seg { .seg {
display: inline-flex; display: inline-flex;
background: rgb(243, 244, 246); background: var(--surface-muted);
border-radius: 8px; border-radius: 8px;
+20 -20
View File
@@ -6,7 +6,7 @@
} }
.data-table th[data-sort]:hover { .data-table th[data-sort]:hover {
background: rgb(227, 237, 242); background: var(--surface-hover);
color: var(--blue-dark); color: var(--blue-dark);
} }
@@ -76,7 +76,7 @@
} }
.data-table:not(#limitTable) th[data-auto-sort]:hover { .data-table:not(#limitTable) th[data-auto-sort]:hover {
background: rgb(227, 237, 242); background: var(--surface-hover);
color: var(--action-hover); color: var(--action-hover);
} }
@@ -110,7 +110,7 @@
} }
.data-table td { .data-table td {
background: var(--surface); background: transparent;
text-align: left; text-align: left;
@@ -120,7 +120,7 @@
border-right: 0px; border-right: 0px;
border-bottom: 1px solid rgb(232, 237, 241); border-bottom: 1px solid var(--border-subtle);
line-height: 1.4; line-height: 1.4;
} }
@@ -138,23 +138,23 @@
border-right: 0px; border-right: 0px;
border-bottom: 1px solid rgb(232, 237, 241); border-bottom: 1px solid var(--border);
line-height: 1.4; line-height: 1.4;
height: 38px; height: 38px;
background: rgb(244, 247, 249); background: var(--table-header);
color: rgb(82, 98, 115); color: var(--text-secondary);
font-size: 11.5px; font-size: var(--font-size-label);
font-weight: 700; font-weight: var(--font-weight-semibold);
} }
.data-table tbody tr.selected td { .data-table tbody tr.selected td {
background: rgb(237, 245, 255); background: var(--table-selected);
} }
@media (max-width: 720px) { @media (max-width: 720px) {
@@ -188,13 +188,13 @@
white-space: nowrap; white-space: nowrap;
color: rgb(38, 51, 64); color: var(--text-primary);
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
font-size: 12.5px; font-size: var(--font-size-table);
} }
.data-table tbody tr:last-child td { .data-table tbody tr:last-child td {
@@ -208,7 +208,7 @@
} }
.data-table tbody tr:hover td { .data-table tbody tr:hover td {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.data-table .stock-name { .data-table .stock-name {
@@ -246,25 +246,25 @@
border-bottom: 1px solid var(--border); border-bottom: 1px solid var(--border);
background: var(--surface-subtle); background: var(--table-header);
color: var(--text-secondary); color: var(--text-secondary);
font-weight: 650; font-weight: var(--font-weight-semibold);
white-space: nowrap; white-space: nowrap;
height: 36px; height: 36px;
font-size: 11.5px; font-size: var(--font-size-label);
} }
.data-table tbody td { .data-table tbody td {
padding: 6px 11px; padding: 6px 11px;
border-bottom: 1px solid rgb(237, 240, 244); border-bottom: 1px solid var(--border-subtle);
color: var(--xb-gray-700); color: var(--text-primary);
height: 41px; height: 41px;
} }
@@ -294,7 +294,7 @@
top: 0px; top: 0px;
background: rgb(248, 250, 252); background: var(--table-header);
color: var(--sub); color: var(--sub);
@@ -346,7 +346,7 @@
} }
.tbl tbody tr:hover { .tbl tbody tr:hover {
background: rgb(248, 250, 255); background: var(--table-hover);
} }
.tbl.compact tbody td { .tbl.compact tbody td {
+74 -49
View File
@@ -848,7 +848,7 @@ body.sidebar-collapsed .app-main {
.header-actions > .icon-button:hover { .header-actions > .icon-button:hover {
border-color: transparent; border-color: transparent;
background: rgb(241, 243, 246); background: var(--control-hover);
color: var(--primary); color: var(--primary);
} }
@@ -880,7 +880,7 @@ body.sidebar-collapsed .app-main {
text-align: left; text-align: left;
color: rgb(75, 85, 101); color: var(--text-secondary);
transition: color var(--duration-fast), background var(--duration-fast); transition: color var(--duration-fast), background var(--duration-fast);
@@ -906,13 +906,13 @@ body.sidebar-collapsed .app-main {
stroke-width: 1.75; stroke-width: 1.75;
color: rgb(136, 147, 164); color: var(--text-tertiary);
} }
.module-tab.active { .module-tab.active {
border: 0px; border: 0px;
background: var(--xb-blue-50); background: var(--surface-selected);
color: var(--primary); color: var(--primary);
@@ -920,7 +920,7 @@ body.sidebar-collapsed .app-main {
position: relative; position: relative;
font-weight: 650; font-weight: var(--font-weight-semibold);
} }
.module-tab.active::before { .module-tab.active::before {
@@ -1053,17 +1053,17 @@ body.sidebar-collapsed .app-main {
width: 100%; width: 100%;
height: 108px; height: var(--mobile-header-height);
min-height: 108px; min-height: var(--mobile-header-height);
position: relative; position: relative;
display: flex; display: flex;
align-items: flex-start; align-items: center;
padding: 8px 10px 0px; padding: var(--mobile-shell-pad) 10px;
} }
.brand-mark { .brand-mark {
@@ -1075,25 +1075,29 @@ body.sidebar-collapsed .app-main {
.header-actions { .header-actions {
grid-area: 1 / 2; grid-area: 1 / 2;
position: absolute; position: static;
inset: 56px 10px auto; inset: auto;
display: flex; display: flex;
justify-content: space-between; justify-content: flex-start;
gap: 6px; gap: var(--space-4);
} }
.header-date-group { .header-date-group {
gap: 1px; gap: 1px;
height: 42px; height: 36px;
min-width: 0px; min-width: 0px;
flex: 1 1 0%; flex: 1 1 auto;
}
.header-date-group > .icon-button {
display: none;
} }
.header-date-group .date-input { .header-date-group .date-input {
@@ -1101,17 +1105,17 @@ body.sidebar-collapsed .app-main {
font-size: 11.5px; font-size: 11.5px;
width: 104px; width: 100%;
flex: 1 1 0%; flex: 1 1 0%;
} }
.header-actions > .icon-button { .header-actions > .icon-button {
width: 40px; width: 36px;
min-width: 40px; min-width: 36px;
min-height: 42px; min-height: 36px;
} }
.module-nav { .module-nav {
@@ -1354,7 +1358,7 @@ body.sidebar-collapsed {
background: var(--r2-blue); background: var(--r2-blue);
color: rgb(255, 255, 255); color: var(--on-action);
font-size: 14px; font-size: 14px;
@@ -1450,7 +1454,7 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
background: transparent; background: transparent;
color: rgb(55, 65, 81); color: var(--text-secondary);
font-size: 13px; font-size: 13px;
@@ -1470,7 +1474,7 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
} }
.module-nav .module-tab:hover { .module-nav .module-tab:hover {
background: rgb(246, 247, 249); background: var(--surface-hover);
color: var(--r2-ink); color: var(--r2-ink);
} }
@@ -1492,11 +1496,11 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
} }
.module-nav .module-tab.active::before { .module-nav .module-tab.active::before {
display: none; display: block;
} }
.module-nav .module-tab.mobile-active::before { .module-nav .module-tab.mobile-active::before {
display: none; display: block;
} }
body.sidebar-collapsed .module-nav { body.sidebar-collapsed .module-nav {
@@ -1518,7 +1522,7 @@ body.sidebar-collapsed .module-nav {
border-right: 1px solid var(--r2-line); border-right: 1px solid var(--r2-line);
background: rgb(255, 255, 255); background: var(--surface);
width: 64px; width: 64px;
@@ -1566,7 +1570,7 @@ body.sidebar-collapsed .module-nav .module-tab {
background: transparent; background: transparent;
color: rgb(55, 65, 81); color: var(--text-secondary);
font-size: 13px; font-size: 13px;
@@ -1632,7 +1636,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--control-surface);
} }
.header-date-group .date-input { .header-date-group .date-input {
@@ -1666,9 +1670,9 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--control-surface);
color: rgb(75, 85, 99); color: var(--text-secondary);
box-shadow: none; box-shadow: none;
} }
@@ -1684,9 +1688,9 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px; border-radius: 7px;
background: rgb(255, 255, 255); background: var(--control-surface);
color: rgb(75, 85, 99); color: var(--text-secondary);
box-shadow: none; box-shadow: none;
@@ -1726,7 +1730,7 @@ body.sidebar-collapsed .module-nav .module-tab {
margin: 0px; margin: 0px;
padding: 0px 16px 14px; padding: 0 var(--page-pad-x) var(--page-pad-y);
overflow: auto; overflow: auto;
} }
@@ -1738,9 +1742,9 @@ body.sidebar-collapsed .module-nav .module-tab {
grid-template-columns: minmax(178px, 1.15fr) repeat(5, minmax(68px, 0.52fr)) minmax(168px, 0.9fr) 92px; grid-template-columns: minmax(178px, 1.15fr) repeat(5, minmax(68px, 0.52fr)) minmax(168px, 0.9fr) 92px;
height: 32px; height: var(--summary-height);
min-height: 34px; min-height: var(--summary-height);
display: flex; display: flex;
@@ -1764,7 +1768,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 0px; border-radius: 0px;
background: rgb(255, 255, 255); background: var(--surface);
box-shadow: none; box-shadow: none;
} }
@@ -1832,7 +1836,7 @@ body.sidebar-collapsed .module-nav .module-tab {
} }
.overview-strip .full .cell { .overview-strip .full .cell {
background: rgb(255, 255, 255); background: var(--surface);
padding: 10px 16px; padding: 10px 16px;
} }
@@ -1954,7 +1958,7 @@ body.sidebar-collapsed .module-nav .module-tab {
max-width: none; max-width: none;
margin: 14px 0px 0px; margin: 0;
border-width: 0px; border-width: 0px;
@@ -1962,15 +1966,15 @@ body.sidebar-collapsed .module-nav .module-tab {
border-image: none; border-image: none;
padding: 14px 16px 24px; padding: var(--page-pad-y) 0 24px;
border-color: var(--r2-line); border-color: transparent;
border-radius: var(--r2-radius); border-radius: 0;
background: rgb(255, 255, 255); background: transparent;
box-shadow: var(--r2-shadow); box-shadow: none;
} }
.status-bar { .status-bar {
@@ -2006,7 +2010,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-top: 1px solid var(--line); border-top: 1px solid var(--line);
background: rgb(255, 255, 255); background: var(--surface);
color: var(--faint); color: var(--faint);
@@ -2109,9 +2113,9 @@ body.sidebar-collapsed .status-bar {
.workspace-view:is(#auctionView, #themeLibraryView, #popularityView, #dragonView) { .workspace-view:is(#auctionView, #themeLibraryView, #popularityView, #dragonView) {
width: auto; width: auto;
margin: 14px 0px 0px; margin: 0;
padding: 14px 16px 22px; padding: var(--page-pad-y) var(--page-pad-x) 22px;
overflow: visible; overflow: visible;
@@ -2152,7 +2156,7 @@ body.sidebar-collapsed .status-bar {
width: var(--sidebar-width); width: var(--sidebar-width);
background: rgb(255, 255, 255); background: var(--surface);
border-right: 1px solid var(--line); border-right: 1px solid var(--line);
@@ -2184,7 +2188,7 @@ body.sidebar-collapsed .status-bar {
background: var(--blue); background: var(--blue);
color: rgb(255, 255, 255); color: var(--text-inverse);
display: flex; display: flex;
@@ -2282,7 +2286,7 @@ body.sidebar-collapsed .status-bar {
z-index: 50; z-index: 50;
background: rgb(255, 255, 255); background: var(--surface);
border-bottom: 1px solid var(--line); border-bottom: 1px solid var(--line);
@@ -2481,7 +2485,17 @@ body.sidebar-collapsed .status-bar {
} }
.header-command-group { .header-command-group {
position: absolute; position: fixed;
top: calc(var(--mobile-header-height) + var(--space-4));
right: var(--mobile-shell-pad);
display: none;
}
.header-command-group.is-open {
display: flex;
} }
.module-nav { .module-nav {
@@ -2620,6 +2634,11 @@ body.sidebar-collapsed .status-bar {
display: inline; display: inline;
} }
.module-nav .module-tab.active::before,
.module-nav .module-tab.mobile-active::before {
display: none;
}
.module-nav .module-tab.mobile-primary-tab .nav-label-desktop { .module-nav .module-tab.mobile-primary-tab .nav-label-desktop {
display: none; display: none;
} }
@@ -2664,6 +2683,12 @@ body.sidebar-collapsed .status-bar {
padding-inline: var(--mobile-shell-pad); padding-inline: var(--mobile-shell-pad);
overflow-x: auto; overflow-x: auto;
scrollbar-width: none;
}
.overview-strip::-webkit-scrollbar {
display: none;
} }
.overview-strip .row { .overview-strip .row {
+73 -28
View File
@@ -14,38 +14,38 @@
--color-white: #ffffff; --color-white: #ffffff;
--color-gray-25: #fcfcfd; --color-gray-25: #fcfcfd;
--color-gray-50: #f8f9fb; --color-gray-50: #f8f9fb;
--color-gray-100: #f2f4f7; --color-gray-100: #f3f4f6;
--color-gray-200: #e5e8ee; --color-gray-200: #e5e7eb;
--color-gray-300: #d4d9e2; --color-gray-300: #d1d5db;
--color-gray-500: #697386; --color-gray-500: #6b7280;
--color-gray-700: #344054; --color-gray-700: #374151;
--color-gray-900: #172033; --color-gray-900: #1f2937;
--color-shell-canvas: #f1f4f6; --color-shell-canvas: #f4f5f7;
--color-page-canvas: #f4f5f7; --color-page-canvas: #f4f5f7;
--color-surface-muted: #f6f8fa; --color-surface-muted: #f3f4f6;
--color-surface-subtle: #f8fafc; --color-surface-subtle: #f8fafc;
--color-border: #e5e7eb; --color-border: #e5e7eb;
--color-border-strong: #d1d5db; --color-border-strong: #d1d5db;
--color-text-primary: #1f2937; --color-text-primary: #1f2937;
--color-text-secondary: #6b7280; --color-text-secondary: #6b7280;
--color-text-tertiary: #9ca3af; --color-text-tertiary: #9ca3af;
--color-action-base: #1769c2; --color-action-base: #2563eb;
--color-action-base-hover: #10569f; --color-action-base-hover: #1d4ed8;
--color-action-base-soft: #eaf2fb; --color-action-base-soft: #eff4ff;
--color-action: #2563eb; --color-action: #2563eb;
--color-action-hover: #1d4ed8; --color-action-hover: #1d4ed8;
--color-action-soft: #eff4ff; --color-action-soft: #eff4ff;
--color-action-line: #c7d8fb; --color-action-line: #c7d8fb;
--color-market-up-base: #d33f49; --color-market-up-base: #e04536;
--color-market-up-base-soft: #fff0f1; --color-market-up-base-soft: #fdecea;
--color-market-up: #e04536; --color-market-up: #e04536;
--color-market-up-soft: #fdecea; --color-market-up-soft: #fdecea;
--color-market-down-base: #07805b; --color-market-down-base: #16a34a;
--color-market-down-base-soft: #eaf7f2; --color-market-down-base-soft: #e9f7ee;
--color-market-down: #16a34a; --color-market-down: #16a34a;
--color-market-down-soft: #e9f7ee; --color-market-down-soft: #e9f7ee;
--color-warning-base: #aa6800; --color-warning-base: #b45309;
--color-warning-base-soft: #fff6e5; --color-warning-base-soft: #fdf3e3;
--color-warning: #b45309; --color-warning: #b45309;
--color-warning-soft: #fdf3e3; --color-warning-soft: #fdf3e3;
@@ -55,16 +55,16 @@
--size-control: 32px; --size-control: 32px;
--size-sidebar: 200px; --size-sidebar: 200px;
--size-topbar: 46px; --size-topbar: 46px;
--size-summary: 34px; --size-summary: 36px;
--size-statusbar: 30px; --size-statusbar: 30px;
--size-page-pad-y: 14px; --size-page-pad-y: 14px;
--size-page-pad-x: 16px; --size-page-pad-x: 16px;
--size-card-gap: 12px; --size-card-gap: 12px;
--elevation-card: 0 1px 2px rgba(16, 24, 40, .05); --elevation-card: 0 1px 2px rgba(16, 24, 40, .05);
--elevation-soft: 0 1px 2px rgba(22, 34, 46, .04), 0 5px 18px rgba(22, 34, 46, .035); --elevation-soft: 0 1px 2px rgba(16, 24, 40, .05);
--elevation-raised: 0 4px 14px rgba(16, 24, 40, .06); --elevation-raised: 0 4px 14px rgba(16, 24, 40, .06);
--elevation-float: 0 14px 38px rgba(16, 24, 40, .14); --elevation-float: 0 12px 32px rgba(0, 0, 0, .18);
--motion-instant: 100ms; --motion-instant: 100ms;
--motion-fast: 140ms; --motion-fast: 140ms;
--motion-medium: 200ms; --motion-medium: 200ms;
@@ -79,12 +79,18 @@
--surface-subtle: var(--color-surface-subtle); --surface-subtle: var(--color-surface-subtle);
--surface-canvas: var(--color-page-canvas); --surface-canvas: var(--color-page-canvas);
--surface-raised: var(--color-white); --surface-raised: var(--color-white);
--surface-selected: #eef4ff; --surface-sunken: #eef0f3;
--surface-hover: #f8faff;
--surface-selected: #eff4ff;
--surface-overlay: var(--color-white);
--border: var(--color-border); --border: var(--color-border);
--border-strong: var(--color-border-strong); --border-strong: var(--color-border-strong);
--border-subtle: #eef0f3;
--text-primary: var(--color-text-primary); --text-primary: var(--color-text-primary);
--text-secondary: var(--color-text-secondary); --text-secondary: var(--color-text-secondary);
--text-tertiary: var(--color-text-tertiary); --text-tertiary: var(--color-text-tertiary);
--text-inverse: #ffffff;
--on-action: #ffffff;
--action: var(--color-action-base); --action: var(--color-action-base);
--action-hover: var(--color-action-base-hover); --action-hover: var(--color-action-base-hover);
--action-soft: var(--color-action-base-soft); --action-soft: var(--color-action-base-soft);
@@ -94,6 +100,14 @@
--market-down-soft: var(--color-market-down-base-soft); --market-down-soft: var(--color-market-down-base-soft);
--warning-color: var(--color-warning-base); --warning-color: var(--color-warning-base);
--warning-soft: var(--color-warning-base-soft); --warning-soft: var(--color-warning-base-soft);
--control-surface: var(--surface-raised);
--control-hover: var(--surface-hover);
--control-border: var(--border-strong);
--table-header: var(--surface-subtle);
--table-hover: #f8faff;
--table-selected: var(--surface-selected);
--focus-ring: rgba(37, 99, 235, .16);
--backdrop: rgba(17, 24, 39, .48);
--primary: var(--color-action); --primary: var(--color-action);
--primary-hover: var(--color-action-hover); --primary-hover: var(--color-action-hover);
--danger: var(--color-market-up); --danger: var(--color-market-up);
@@ -116,6 +130,25 @@
--duration-fast: 150ms; --duration-fast: 150ms;
--duration-normal: 220ms; --duration-normal: 220ms;
--font-size-aux: 10.5px;
--font-size-caption: 11px;
--font-size-label: 12px;
--font-size-table: 12.5px;
--font-size-body: 13px;
--font-size-card-title: 14px;
--font-size-page-title: 17px;
--font-size-metric: 22px;
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--space-4: 4px;
--space-8: 8px;
--space-12: 12px;
--space-16: 16px;
--space-24: 24px;
--sidebar-width: var(--size-sidebar); --sidebar-width: var(--size-sidebar);
--topbar-height: var(--size-topbar); --topbar-height: var(--size-topbar);
--summary-height: var(--size-summary); --summary-height: var(--size-summary);
@@ -146,8 +179,7 @@
--mobile-shell-pad: 8px; --mobile-shell-pad: 8px;
--mobile-page-pad: 10px; --mobile-page-pad: 10px;
--mobile-min-width: 320px; --mobile-min-width: 320px;
--space-4: 4px; --font-aux: var(--font-size-aux);
--font-aux: 10.5px;
--dragon-profile-list-width: 340px; --dragon-profile-list-width: 340px;
--dragon-profile-detail-min-height: 460px; --dragon-profile-detail-min-height: 460px;
@@ -216,7 +248,7 @@
--sub: var(--text-secondary); --sub: var(--text-secondary);
--faint: var(--text-tertiary); --faint: var(--text-tertiary);
--line: var(--border); --line: var(--border);
--line-soft: #eef0f3; --line-soft: var(--border-subtle);
--line-strong: var(--border-strong); --line-strong: var(--border-strong);
--text: var(--text-primary); --text: var(--text-primary);
--text-muted: var(--text-secondary); --text-muted: var(--text-secondary);
@@ -253,7 +285,7 @@
--r2-sub: var(--text-secondary); --r2-sub: var(--text-secondary);
--r2-faint: var(--text-tertiary); --r2-faint: var(--text-tertiary);
--r2-line: var(--border); --r2-line: var(--border);
--r2-line-soft: #eef0f3; --r2-line-soft: var(--border-subtle);
--r2-bg: var(--surface-canvas); --r2-bg: var(--surface-canvas);
--r2-card: var(--surface-raised); --r2-card: var(--surface-raised);
--r2-radius: var(--size-radius-lg); --r2-radius: var(--size-radius-lg);
@@ -271,12 +303,17 @@
--surface-subtle: #24282d; --surface-subtle: #24282d;
--surface-canvas: var(--canvas); --surface-canvas: var(--canvas);
--surface-raised: var(--surface); --surface-raised: var(--surface);
--surface-sunken: #16191c;
--surface-hover: #24282d;
--surface-selected: #23364a; --surface-selected: #23364a;
--surface-overlay: #24282d;
--border: #343a40; --border: #343a40;
--border-strong: #474f57; --border-strong: #474f57;
--border-subtle: #2a2f34;
--text-primary: #e8eaed; --text-primary: #e8eaed;
--text-secondary: #adb5bd; --text-secondary: #adb5bd;
--text-tertiary: #7f8993; --text-tertiary: #7f8993;
--text-inverse: #ffffff;
--action: #6ca8e8; --action: #6ca8e8;
--action-hover: #8bbcf0; --action-hover: #8bbcf0;
--action-soft: #23364a; --action-soft: #23364a;
@@ -286,6 +323,14 @@
--market-down-soft: #1d382f; --market-down-soft: #1d382f;
--warning-color: #e2ad58; --warning-color: #e2ad58;
--warning-soft: #3d3220; --warning-soft: #3d3220;
--control-surface: #202428;
--control-hover: #2a2f34;
--control-border: #474f57;
--table-header: #202428;
--table-hover: #242f39;
--table-selected: #23364a;
--focus-ring: rgba(108, 168, 232, .22);
--backdrop: rgba(0, 0, 0, .66);
--primary: var(--action); --primary: var(--action);
--primary-hover: var(--action-hover); --primary-hover: var(--action-hover);
--danger: var(--market-up); --danger: var(--market-up);
@@ -319,7 +364,7 @@
--sub: var(--text-secondary); --sub: var(--text-secondary);
--faint: var(--text-tertiary); --faint: var(--text-tertiary);
--line: var(--border); --line: var(--border);
--line-soft: #2a2f34; --line-soft: var(--border-subtle);
--line-strong: var(--border-strong); --line-strong: var(--border-strong);
--text: var(--text-primary); --text: var(--text-primary);
--text-muted: var(--text-secondary); --text-muted: var(--text-secondary);
@@ -352,7 +397,7 @@
--r2-sub: var(--text-secondary); --r2-sub: var(--text-secondary);
--r2-faint: var(--text-tertiary); --r2-faint: var(--text-tertiary);
--r2-line: var(--border); --r2-line: var(--border);
--r2-line-soft: #2a2f34; --r2-line-soft: var(--border-subtle);
--r2-bg: var(--canvas); --r2-bg: var(--canvas);
--r2-card: var(--surface); --r2-card: var(--surface);
--r2-shadow: var(--shadow-soft); --r2-shadow: var(--shadow-soft);
@@ -384,7 +429,7 @@
--warning-line: #6d5a38; --warning-line: #6d5a38;
--warning-line-strong: #66502d; --warning-line-strong: #66502d;
--control-shadow: 0 1px 3px rgba(0, 0, 0, .3); --control-shadow: 0 1px 3px rgba(0, 0, 0, .3);
--dialog-backdrop: rgba(0, 0, 0, .62); --dialog-backdrop: var(--backdrop);
--ladder-level-1: #2d2426; --ladder-level-1: #2d2426;
--ladder-level-2: #2b2822; --ladder-level-2: #2b2822;
--ladder-level-3: #252a2d; --ladder-level-3: #252a2d;