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
+5 -5
View File
@@ -315,7 +315,7 @@
border-radius: 4px;
background: rgb(255, 255, 255);
background: var(--surface);
}
.membership-expiry {
@@ -729,7 +729,7 @@ button.account-role-badge:focus-visible {
.vip-role-badge.is-nonmember b {
background: rgb(135, 147, 158);
color: rgb(255, 255, 255);
color: var(--text-inverse);
}
.vip-role-badge b {
@@ -1216,7 +1216,7 @@ button.account-role-badge:focus-visible {
background: rgb(37, 99, 235);
color: rgb(255, 255, 255);
color: var(--text-inverse);
box-shadow: none;
@@ -1401,7 +1401,7 @@ button.account-role-badge:focus-visible {
border-radius: 7px;
background: rgb(248, 250, 252);
background: var(--table-header);
}
.account-settings-dialog .membership-status-grid span {
@@ -1439,7 +1439,7 @@ button.account-role-badge:focus-visible {
}
.account-settings-dialog .membership-comparison-head {
background: rgb(245, 247, 249);
background: var(--table-header);
}
.account-settings-dialog .membership-topup-row {
+6 -6
View File
@@ -54,7 +54,7 @@ html {
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;
}
@@ -80,7 +80,7 @@ body {
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;
@@ -98,7 +98,7 @@ time {
}
[tabindex]:focus-visible {
outline: rgba(8, 127, 174, 0.48) solid 2px;
outline: var(--action) solid 2px;
outline-offset: 2px;
}
@@ -110,17 +110,17 @@ dialog {
border: 1px solid var(--border);
border-radius: 9px;
border-radius: var(--radius-lg);
background: var(--surface);
color: var(--text);
box-shadow: var(--shadow);
box-shadow: var(--shadow-float);
}
dialog::backdrop {
background: rgba(27, 38, 49, 0.48);
background: var(--backdrop);
backdrop-filter: blur(2px);
}
+30 -28
View File
@@ -201,13 +201,13 @@
}
.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 {
@@ -219,19 +219,21 @@
padding: 11px 14px;
border-bottom: 1px solid var(--line-soft);
border-bottom: 1px solid var(--border-subtle);
}
.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 {
font-size: 11px;
font-size: var(--font-size-caption);
color: var(--faint);
color: var(--text-tertiary);
}
.card-h .right {
@@ -285,11 +287,11 @@
}
.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 {
@@ -313,7 +315,7 @@
.tag.b3 {
background: var(--blue);
color: rgb(255, 255, 255);
color: var(--text-inverse);
}
.field {
@@ -335,9 +337,9 @@
.src {
display: inline-block;
background: rgb(243, 244, 246);
background: var(--surface-muted);
color: rgb(107, 114, 128);
color: var(--text-secondary);
border-radius: 4px;
@@ -435,7 +437,7 @@
background: var(--up-soft);
border: 1px solid rgb(245, 207, 201);
border: 1px solid var(--up);
border-radius: 10px;
@@ -467,7 +469,7 @@
.phase-info .sum {
font-size: 12.5px;
color: rgb(55, 65, 81);
color: var(--text-primary);
line-height: 1.7;
}
@@ -651,19 +653,19 @@
}
.tier.t4 .lab {
background: linear-gradient(90deg, rgb(253, 241, 239), rgb(255, 255, 255));
background: var(--up-soft);
}
.tier.t3 .lab {
background: linear-gradient(90deg, rgb(253, 246, 236), rgb(255, 255, 255));
background: var(--warning-soft);
}
.tier.t2 .lab {
background: linear-gradient(90deg, rgb(236, 247, 241), rgb(255, 255, 255));
background: var(--down-soft);
}
.tier.t1 .lab {
background: linear-gradient(90deg, rgb(238, 244, 253), rgb(255, 255, 255));
background: var(--action-soft);
}
.tier.gap .cards {
@@ -797,7 +799,7 @@
height: 8px;
background: rgb(243, 244, 246);
background: var(--surface-muted);
border-radius: 4px;
@@ -875,7 +877,7 @@
height: 9px;
background: rgb(240, 242, 245);
background: var(--surface-muted);
border-radius: 5px;
@@ -887,7 +889,7 @@
height: 100%;
background: linear-gradient(90deg,#93b4f5,var(--blue));
background: var(--blue);
border-radius: 5px;
}
@@ -913,7 +915,7 @@
}
.perf-card {
background: rgb(255, 255, 255);
background: var(--surface);
border: 1px solid var(--line);
@@ -939,7 +941,7 @@
.perf-card .bar {
height: 6px;
background: rgb(240, 242, 245);
background: var(--surface-muted);
border-radius: 3px;
@@ -973,7 +975,7 @@
}
.width-bar .dn {
background: rgb(22, 163, 74);
background: var(--down);
}
.width-legend {
@@ -1011,7 +1013,7 @@
}
.model:hover {
background: rgb(248, 250, 255);
background: var(--table-hover);
}
.model .r1 {
+23 -23
View File
@@ -87,7 +87,7 @@ textarea:focus-visible {
}
.sidebar-collapse-button:hover {
background: rgb(241, 244, 247);
background: var(--control-hover);
color: var(--text-primary);
}
@@ -203,7 +203,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.icon-button:hover {
border-color: rgb(148, 181, 216);
background: rgb(248, 251, 255);
background: var(--surface-selected);
color: var(--action-hover);
@@ -454,7 +454,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
min-height: var(--control-height);
border-color: var(--border-strong);
border-color: var(--control-border);
border-radius: var(--radius-md);
@@ -462,13 +462,13 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
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);
}
@@ -476,17 +476,17 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.button:hover {
box-shadow: none;
border-color: rgb(184, 199, 232);
border-color: var(--color-action-line);
color: var(--primary);
background: var(--xb-gray-25);
background: var(--control-hover);
}
.button:active {
box-shadow: none;
transform: translateY(1px);
transform: scale(.98);
}
.button.primary {
@@ -494,7 +494,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
background: var(--primary);
color: rgb(255, 255, 255);
color: var(--on-action);
}
.button.primary:hover {
@@ -502,7 +502,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
background: var(--primary-hover);
color: rgb(255, 255, 255);
color: var(--on-action);
}
.form-field input {
@@ -520,7 +520,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md);
background: var(--surface-raised);
background: var(--control-surface);
box-shadow: none;
}
@@ -531,7 +531,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md);
background: var(--surface-raised);
background: var(--control-surface);
box-shadow: none;
}
@@ -579,7 +579,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: var(--radius-md);
background: var(--surface-raised);
background: var(--control-surface);
box-shadow: none;
}
@@ -588,9 +588,9 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
.form-field select:focus,
.form-field textarea:focus,
.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) {
@@ -682,7 +682,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
border-radius: 0px;
background: rgb(255, 255, 255);
background: var(--surface);
color: var(--r2-sub);
@@ -714,7 +714,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
border-radius: 7px;
background: rgb(255, 255, 255);
background: var(--surface);
color: rgb(75, 85, 99);
@@ -732,7 +732,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
border-radius: 7px;
background: rgb(255, 255, 255);
background: var(--surface);
color: rgb(55, 65, 81);
@@ -748,7 +748,7 @@ body.sidebar-collapsed .sidebar-collapse-button {
background: var(--r2-blue);
color: rgb(255, 255, 255);
color: var(--text-inverse);
}
@media (max-width: 1023px) and (min-width: 721px) {
@@ -830,7 +830,7 @@ textarea {
}
.seg button.on {
background: rgb(255, 255, 255);
background: var(--surface);
color: var(--ink);
@@ -922,7 +922,7 @@ textarea {
.method button.on {
background: var(--blue);
color: rgb(255, 255, 255);
color: var(--text-inverse);
}
.factor input[type="range"] {
+4 -4
View File
@@ -40,7 +40,7 @@
border-radius: 7px;
background: rgb(250, 251, 252);
background: var(--surface-subtle);
}
@keyframes overlay-enter {
@@ -266,7 +266,7 @@
background: var(--market-up);
color: rgb(255, 255, 255);
color: var(--text-inverse);
font-size: 9px;
@@ -977,7 +977,7 @@
border-radius: 7px;
background: rgb(250, 251, 252);
background: var(--surface-subtle);
}
.global-search-empty {
@@ -1193,7 +1193,7 @@
bottom: 0px;
background: rgb(255, 255, 255);
background: var(--surface);
z-index: 95;
+1 -5
View File
@@ -132,7 +132,7 @@
background: rgb(33, 49, 60);
color: rgb(255, 255, 255);
color: var(--text-inverse);
box-shadow: var(--shadow);
@@ -364,14 +364,10 @@
@keyframes stage18-dialog-enter {
0% {
opacity: 0;
transform: translateY(7px) scale(0.992);
}
100% {
opacity: 1;
transform: translateY(0px) scale(1);
}
}
@@ -114,7 +114,7 @@
border-radius: 8px;
background: rgb(243, 244, 246);
background: var(--surface-muted);
}
.redesigned-page-head .segment {
@@ -134,7 +134,7 @@
}
.redesigned-page-head .segment.active {
background: rgb(255, 255, 255);
background: var(--surface);
color: var(--r2-ink);
@@ -204,7 +204,7 @@
.seg {
display: inline-flex;
background: rgb(243, 244, 246);
background: var(--surface-muted);
border-radius: 8px;
+20 -20
View File
@@ -6,7 +6,7 @@
}
.data-table th[data-sort]:hover {
background: rgb(227, 237, 242);
background: var(--surface-hover);
color: var(--blue-dark);
}
@@ -76,7 +76,7 @@
}
.data-table:not(#limitTable) th[data-auto-sort]:hover {
background: rgb(227, 237, 242);
background: var(--surface-hover);
color: var(--action-hover);
}
@@ -110,7 +110,7 @@
}
.data-table td {
background: var(--surface);
background: transparent;
text-align: left;
@@ -120,7 +120,7 @@
border-right: 0px;
border-bottom: 1px solid rgb(232, 237, 241);
border-bottom: 1px solid var(--border-subtle);
line-height: 1.4;
}
@@ -138,23 +138,23 @@
border-right: 0px;
border-bottom: 1px solid rgb(232, 237, 241);
border-bottom: 1px solid var(--border);
line-height: 1.4;
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 {
background: rgb(237, 245, 255);
background: var(--table-selected);
}
@media (max-width: 720px) {
@@ -188,13 +188,13 @@
white-space: nowrap;
color: rgb(38, 51, 64);
color: var(--text-primary);
width: 100%;
border-collapse: collapse;
font-size: 12.5px;
font-size: var(--font-size-table);
}
.data-table tbody tr:last-child td {
@@ -208,7 +208,7 @@
}
.data-table tbody tr:hover td {
background: rgb(248, 250, 255);
background: var(--table-hover);
}
.data-table .stock-name {
@@ -246,25 +246,25 @@
border-bottom: 1px solid var(--border);
background: var(--surface-subtle);
background: var(--table-header);
color: var(--text-secondary);
font-weight: 650;
font-weight: var(--font-weight-semibold);
white-space: nowrap;
height: 36px;
font-size: 11.5px;
font-size: var(--font-size-label);
}
.data-table tbody td {
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;
}
@@ -294,7 +294,7 @@
top: 0px;
background: rgb(248, 250, 252);
background: var(--table-header);
color: var(--sub);
@@ -346,7 +346,7 @@
}
.tbl tbody tr:hover {
background: rgb(248, 250, 255);
background: var(--table-hover);
}
.tbl.compact tbody td {
+74 -49
View File
@@ -848,7 +848,7 @@ body.sidebar-collapsed .app-main {
.header-actions > .icon-button:hover {
border-color: transparent;
background: rgb(241, 243, 246);
background: var(--control-hover);
color: var(--primary);
}
@@ -880,7 +880,7 @@ body.sidebar-collapsed .app-main {
text-align: left;
color: rgb(75, 85, 101);
color: var(--text-secondary);
transition: color var(--duration-fast), background var(--duration-fast);
@@ -906,13 +906,13 @@ body.sidebar-collapsed .app-main {
stroke-width: 1.75;
color: rgb(136, 147, 164);
color: var(--text-tertiary);
}
.module-tab.active {
border: 0px;
background: var(--xb-blue-50);
background: var(--surface-selected);
color: var(--primary);
@@ -920,7 +920,7 @@ body.sidebar-collapsed .app-main {
position: relative;
font-weight: 650;
font-weight: var(--font-weight-semibold);
}
.module-tab.active::before {
@@ -1053,17 +1053,17 @@ body.sidebar-collapsed .app-main {
width: 100%;
height: 108px;
height: var(--mobile-header-height);
min-height: 108px;
min-height: var(--mobile-header-height);
position: relative;
display: flex;
align-items: flex-start;
align-items: center;
padding: 8px 10px 0px;
padding: var(--mobile-shell-pad) 10px;
}
.brand-mark {
@@ -1075,25 +1075,29 @@ body.sidebar-collapsed .app-main {
.header-actions {
grid-area: 1 / 2;
position: absolute;
position: static;
inset: 56px 10px auto;
inset: auto;
display: flex;
justify-content: space-between;
justify-content: flex-start;
gap: 6px;
gap: var(--space-4);
}
.header-date-group {
gap: 1px;
height: 42px;
height: 36px;
min-width: 0px;
flex: 1 1 0%;
flex: 1 1 auto;
}
.header-date-group > .icon-button {
display: none;
}
.header-date-group .date-input {
@@ -1101,17 +1105,17 @@ body.sidebar-collapsed .app-main {
font-size: 11.5px;
width: 104px;
width: 100%;
flex: 1 1 0%;
}
.header-actions > .icon-button {
width: 40px;
width: 36px;
min-width: 40px;
min-width: 36px;
min-height: 42px;
min-height: 36px;
}
.module-nav {
@@ -1354,7 +1358,7 @@ body.sidebar-collapsed {
background: var(--r2-blue);
color: rgb(255, 255, 255);
color: var(--on-action);
font-size: 14px;
@@ -1450,7 +1454,7 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
background: transparent;
color: rgb(55, 65, 81);
color: var(--text-secondary);
font-size: 13px;
@@ -1470,7 +1474,7 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
}
.module-nav .module-tab:hover {
background: rgb(246, 247, 249);
background: var(--surface-hover);
color: var(--r2-ink);
}
@@ -1492,11 +1496,11 @@ body.sidebar-collapsed .module-nav .nav-group + .nav-group {
}
.module-nav .module-tab.active::before {
display: none;
display: block;
}
.module-nav .module-tab.mobile-active::before {
display: none;
display: block;
}
body.sidebar-collapsed .module-nav {
@@ -1518,7 +1522,7 @@ body.sidebar-collapsed .module-nav {
border-right: 1px solid var(--r2-line);
background: rgb(255, 255, 255);
background: var(--surface);
width: 64px;
@@ -1566,7 +1570,7 @@ body.sidebar-collapsed .module-nav .module-tab {
background: transparent;
color: rgb(55, 65, 81);
color: var(--text-secondary);
font-size: 13px;
@@ -1632,7 +1636,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px;
background: rgb(255, 255, 255);
background: var(--control-surface);
}
.header-date-group .date-input {
@@ -1666,9 +1670,9 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px;
background: rgb(255, 255, 255);
background: var(--control-surface);
color: rgb(75, 85, 99);
color: var(--text-secondary);
box-shadow: none;
}
@@ -1684,9 +1688,9 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 7px;
background: rgb(255, 255, 255);
background: var(--control-surface);
color: rgb(75, 85, 99);
color: var(--text-secondary);
box-shadow: none;
@@ -1726,7 +1730,7 @@ body.sidebar-collapsed .module-nav .module-tab {
margin: 0px;
padding: 0px 16px 14px;
padding: 0 var(--page-pad-x) var(--page-pad-y);
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;
height: 32px;
height: var(--summary-height);
min-height: 34px;
min-height: var(--summary-height);
display: flex;
@@ -1764,7 +1768,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-radius: 0px;
background: rgb(255, 255, 255);
background: var(--surface);
box-shadow: none;
}
@@ -1832,7 +1836,7 @@ body.sidebar-collapsed .module-nav .module-tab {
}
.overview-strip .full .cell {
background: rgb(255, 255, 255);
background: var(--surface);
padding: 10px 16px;
}
@@ -1954,7 +1958,7 @@ body.sidebar-collapsed .module-nav .module-tab {
max-width: none;
margin: 14px 0px 0px;
margin: 0;
border-width: 0px;
@@ -1962,15 +1966,15 @@ body.sidebar-collapsed .module-nav .module-tab {
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 {
@@ -2006,7 +2010,7 @@ body.sidebar-collapsed .module-nav .module-tab {
border-top: 1px solid var(--line);
background: rgb(255, 255, 255);
background: var(--surface);
color: var(--faint);
@@ -2109,9 +2113,9 @@ body.sidebar-collapsed .status-bar {
.workspace-view:is(#auctionView, #themeLibraryView, #popularityView, #dragonView) {
width: auto;
margin: 14px 0px 0px;
margin: 0;
padding: 14px 16px 22px;
padding: var(--page-pad-y) var(--page-pad-x) 22px;
overflow: visible;
@@ -2152,7 +2156,7 @@ body.sidebar-collapsed .status-bar {
width: var(--sidebar-width);
background: rgb(255, 255, 255);
background: var(--surface);
border-right: 1px solid var(--line);
@@ -2184,7 +2188,7 @@ body.sidebar-collapsed .status-bar {
background: var(--blue);
color: rgb(255, 255, 255);
color: var(--text-inverse);
display: flex;
@@ -2282,7 +2286,7 @@ body.sidebar-collapsed .status-bar {
z-index: 50;
background: rgb(255, 255, 255);
background: var(--surface);
border-bottom: 1px solid var(--line);
@@ -2481,7 +2485,17 @@ body.sidebar-collapsed .status-bar {
}
.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 {
@@ -2620,6 +2634,11 @@ body.sidebar-collapsed .status-bar {
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 {
display: none;
}
@@ -2664,6 +2683,12 @@ body.sidebar-collapsed .status-bar {
padding-inline: var(--mobile-shell-pad);
overflow-x: auto;
scrollbar-width: none;
}
.overview-strip::-webkit-scrollbar {
display: none;
}
.overview-strip .row {
+73 -28
View File
@@ -14,38 +14,38 @@
--color-white: #ffffff;
--color-gray-25: #fcfcfd;
--color-gray-50: #f8f9fb;
--color-gray-100: #f2f4f7;
--color-gray-200: #e5e8ee;
--color-gray-300: #d4d9e2;
--color-gray-500: #697386;
--color-gray-700: #344054;
--color-gray-900: #172033;
--color-shell-canvas: #f1f4f6;
--color-gray-100: #f3f4f6;
--color-gray-200: #e5e7eb;
--color-gray-300: #d1d5db;
--color-gray-500: #6b7280;
--color-gray-700: #374151;
--color-gray-900: #1f2937;
--color-shell-canvas: #f4f5f7;
--color-page-canvas: #f4f5f7;
--color-surface-muted: #f6f8fa;
--color-surface-muted: #f3f4f6;
--color-surface-subtle: #f8fafc;
--color-border: #e5e7eb;
--color-border-strong: #d1d5db;
--color-text-primary: #1f2937;
--color-text-secondary: #6b7280;
--color-text-tertiary: #9ca3af;
--color-action-base: #1769c2;
--color-action-base-hover: #10569f;
--color-action-base-soft: #eaf2fb;
--color-action-base: #2563eb;
--color-action-base-hover: #1d4ed8;
--color-action-base-soft: #eff4ff;
--color-action: #2563eb;
--color-action-hover: #1d4ed8;
--color-action-soft: #eff4ff;
--color-action-line: #c7d8fb;
--color-market-up-base: #d33f49;
--color-market-up-base-soft: #fff0f1;
--color-market-up-base: #e04536;
--color-market-up-base-soft: #fdecea;
--color-market-up: #e04536;
--color-market-up-soft: #fdecea;
--color-market-down-base: #07805b;
--color-market-down-base-soft: #eaf7f2;
--color-market-down-base: #16a34a;
--color-market-down-base-soft: #e9f7ee;
--color-market-down: #16a34a;
--color-market-down-soft: #e9f7ee;
--color-warning-base: #aa6800;
--color-warning-base-soft: #fff6e5;
--color-warning-base: #b45309;
--color-warning-base-soft: #fdf3e3;
--color-warning: #b45309;
--color-warning-soft: #fdf3e3;
@@ -55,16 +55,16 @@
--size-control: 32px;
--size-sidebar: 200px;
--size-topbar: 46px;
--size-summary: 34px;
--size-summary: 36px;
--size-statusbar: 30px;
--size-page-pad-y: 14px;
--size-page-pad-x: 16px;
--size-card-gap: 12px;
--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-float: 0 14px 38px rgba(16, 24, 40, .14);
--elevation-float: 0 12px 32px rgba(0, 0, 0, .18);
--motion-instant: 100ms;
--motion-fast: 140ms;
--motion-medium: 200ms;
@@ -79,12 +79,18 @@
--surface-subtle: var(--color-surface-subtle);
--surface-canvas: var(--color-page-canvas);
--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-strong: var(--color-border-strong);
--border-subtle: #eef0f3;
--text-primary: var(--color-text-primary);
--text-secondary: var(--color-text-secondary);
--text-tertiary: var(--color-text-tertiary);
--text-inverse: #ffffff;
--on-action: #ffffff;
--action: var(--color-action-base);
--action-hover: var(--color-action-base-hover);
--action-soft: var(--color-action-base-soft);
@@ -94,6 +100,14 @@
--market-down-soft: var(--color-market-down-base-soft);
--warning-color: var(--color-warning-base);
--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-hover: var(--color-action-hover);
--danger: var(--color-market-up);
@@ -116,6 +130,25 @@
--duration-fast: 150ms;
--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);
--topbar-height: var(--size-topbar);
--summary-height: var(--size-summary);
@@ -146,8 +179,7 @@
--mobile-shell-pad: 8px;
--mobile-page-pad: 10px;
--mobile-min-width: 320px;
--space-4: 4px;
--font-aux: 10.5px;
--font-aux: var(--font-size-aux);
--dragon-profile-list-width: 340px;
--dragon-profile-detail-min-height: 460px;
@@ -216,7 +248,7 @@
--sub: var(--text-secondary);
--faint: var(--text-tertiary);
--line: var(--border);
--line-soft: #eef0f3;
--line-soft: var(--border-subtle);
--line-strong: var(--border-strong);
--text: var(--text-primary);
--text-muted: var(--text-secondary);
@@ -253,7 +285,7 @@
--r2-sub: var(--text-secondary);
--r2-faint: var(--text-tertiary);
--r2-line: var(--border);
--r2-line-soft: #eef0f3;
--r2-line-soft: var(--border-subtle);
--r2-bg: var(--surface-canvas);
--r2-card: var(--surface-raised);
--r2-radius: var(--size-radius-lg);
@@ -271,12 +303,17 @@
--surface-subtle: #24282d;
--surface-canvas: var(--canvas);
--surface-raised: var(--surface);
--surface-sunken: #16191c;
--surface-hover: #24282d;
--surface-selected: #23364a;
--surface-overlay: #24282d;
--border: #343a40;
--border-strong: #474f57;
--border-subtle: #2a2f34;
--text-primary: #e8eaed;
--text-secondary: #adb5bd;
--text-tertiary: #7f8993;
--text-inverse: #ffffff;
--action: #6ca8e8;
--action-hover: #8bbcf0;
--action-soft: #23364a;
@@ -286,6 +323,14 @@
--market-down-soft: #1d382f;
--warning-color: #e2ad58;
--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-hover: var(--action-hover);
--danger: var(--market-up);
@@ -319,7 +364,7 @@
--sub: var(--text-secondary);
--faint: var(--text-tertiary);
--line: var(--border);
--line-soft: #2a2f34;
--line-soft: var(--border-subtle);
--line-strong: var(--border-strong);
--text: var(--text-primary);
--text-muted: var(--text-secondary);
@@ -352,7 +397,7 @@
--r2-sub: var(--text-secondary);
--r2-faint: var(--text-tertiary);
--r2-line: var(--border);
--r2-line-soft: #2a2f34;
--r2-line-soft: var(--border-subtle);
--r2-bg: var(--canvas);
--r2-card: var(--surface);
--r2-shadow: var(--shadow-soft);
@@ -384,7 +429,7 @@
--warning-line: #6d5a38;
--warning-line-strong: #66502d;
--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-2: #2b2822;
--ladder-level-3: #252a2d;