1+ /* Designer-facing theme tokens live here. Component rules should prefer these
2+ semantic tokens over one-off hex or rgba colors. */
13: root {
24 --canvas : # f2f4f5 ;
35 --paper : # ffffff ;
2830 --surface-strong : var (--paper );
2931 --accent : var (--teal );
3032 --accent-soft : var (--teal-wash );
33+ --control-bg : rgba (255 , 255 , 255 , 0.9 );
34+ --control-bg-hover : rgba (248 , 252 , 251 , 0.98 );
35+ --control-text : # 334756 ;
36+ --control-muted : # 526575 ;
37+ --control-border : rgba (86 , 107 , 125 , 0.24 );
38+ --control-border-hover : rgba (8 , 123 , 114 , 0.3 );
39+ --control-disabled-bg : # edf3f2 ;
40+ --control-disabled-text : # 72817e ;
41+ --control-selected-bg : rgba (15 , 118 , 110 , 0.1 );
42+ --control-selected-text : var (--accent );
43+ --chip-bg : rgba (247 , 249 , 251 , 0.9 );
44+ --chip-text : # 536273 ;
45+ --chip-border : rgba (148 , 163 , 184 , 0.28 );
46+ --field-bg : # ffffff ;
3147 --green : # 23845f ;
3248 --green-soft : # e8f4ee ;
3349 --shadow : 0 24px 70px rgba (20 , 30 , 43 , 0.14 );
7187 --bg : var (--canvas );
7288 --surface : rgba (32 , 43 , 47 , 0.94 );
7389 --surface-strong : # 263338 ;
90+ --control-bg : rgba (31 , 42 , 46 , 0.98 );
91+ --control-bg-hover : rgba (35 , 50 , 54 , 0.98 );
92+ --control-text : # eef7f4 ;
93+ --control-muted : # c8d6d2 ;
94+ --control-border : rgba (163 , 183 , 190 , 0.28 );
95+ --control-border-hover : rgba (42 , 161 , 152 , 0.44 );
96+ --control-disabled-bg : rgba (42 , 54 , 58 , 0.82 );
97+ --control-disabled-text : # aebfbb ;
98+ --control-selected-bg : rgba (42 , 161 , 152 , 0.18 );
99+ --control-selected-text : # e8fbf7 ;
100+ --chip-bg : rgba (39 , 52 , 57 , 0.92 );
101+ --chip-text : # c8d6d2 ;
102+ --chip-border : rgba (163 , 183 , 190 , 0.22 );
103+ --field-bg : rgba (22 , 31 , 34 , 0.92 );
74104 --shadow : 0 24px 70px rgba (0 , 0 , 0 , 0.28 );
75105 --tight-shadow : 0 14px 36px rgba (0 , 0 , 0 , 0.22 );
76106}
677707}
678708
679709.primary-button : disabled {
680- background : # dbe7e5 ;
681- color : # 6c7d7a ;
710+ background : var ( --control-disabled-bg ) ;
711+ color : var ( --control-disabled-text ) ;
682712 box-shadow : none;
683713}
684714
@@ -711,14 +741,14 @@ p {
711741
712742.secondary-button {
713743 padding : 0 18px ;
714- border : 1px solid rgba ( 86 , 107 , 125 , 0.22 );
715- background : rgba ( 255 , 255 , 255 , 0.86 );
716- color : # 405563 ;
744+ border : 1px solid var ( --control-border );
745+ background : var ( --control-bg );
746+ color : var ( --control-text ) ;
717747}
718748
719749.secondary-button : hover : not (: disabled ) {
720- border-color : rgba ( 8 , 123 , 114 , 0.24 );
721- background : rgba ( 248 , 252 , 251 , 0.98 );
750+ border-color : var ( --control-border-hover );
751+ background : var ( --control-bg-hover );
722752 color : var (--accent );
723753 box-shadow : 0 8px 20px rgba (8 , 123 , 114 , 0.1 );
724754}
818848}
819849
820850.secondary-button : disabled ,
851+ .mount-details-button : disabled ,
852+ .icon-button : disabled {
853+ border-color : var (--control-border );
854+ background : var (--control-disabled-bg );
855+ color : var (--control-disabled-text );
856+ opacity : 1 ;
857+ box-shadow : none;
858+ }
859+
821860.text-button : disabled {
822- opacity : 0.58 ;
861+ color : var (--control-disabled-text );
862+ opacity : 1 ;
823863}
824864
825865.text-button {
@@ -2326,9 +2366,9 @@ button.home-stat:hover {
23262366 gap : 10px ;
23272367 min-width : 0 ;
23282368 padding : 10px ;
2329- border : 1px solid rgba ( 8 , 123 , 114 , 0.18 );
2369+ border : 1px solid var ( --control-border-hover );
23302370 border-radius : 8px ;
2331- background : rgba ( 248 , 252 , 251 , 0.94 );
2371+ background : var ( --surface );
23322372}
23332373
23342374.source-ready-card strong ,
@@ -2364,8 +2404,8 @@ button.home-stat:hover {
23642404}
23652405
23662406.mount-card .active {
2367- border-color : rgba ( 8 , 123 , 114 , 0.28 );
2368- background : rgba ( 248 , 252 , 251 , 0.96 );
2407+ border-color : var ( --control-border-hover );
2408+ background : var ( --surface-strong );
23692409}
23702410
23712411.mount-card-top {
@@ -2444,7 +2484,7 @@ button.home-stat:hover {
24442484 padding : 5px 6px 5px 9px ;
24452485 border : 1px solid var (--line );
24462486 border-radius : 8px ;
2447- background : # ffffff ;
2487+ background : var ( --field-bg ) ;
24482488}
24492489
24502490.mount-card-path code {
@@ -2467,17 +2507,18 @@ button.home-stat:hover {
24672507.mount-card-meta span {
24682508 min-height : 23px ;
24692509 padding : 4px 7px ;
2470- border : 1px solid var (--line );
2510+ border : 1px solid var (--chip-border );
24712511 border-radius : 999px ;
2472- background : rgba ( 247 , 249 , 251 , 0.86 );
2473- color : var (--muted );
2512+ background : var ( --chip-bg );
2513+ color : var (--chip-text );
24742514 font-size : 10px ;
24752515 font-weight : 850 ;
24762516}
24772517
24782518.mount-card-meta span .primary {
2479- background : var (--accent-soft );
2480- color : var (--accent );
2519+ border-color : var (--control-border-hover );
2520+ background : var (--control-selected-bg );
2521+ color : var (--control-selected-text );
24812522}
24822523
24832524.mount-card-footer {
@@ -2504,17 +2545,17 @@ button.home-stat:hover {
25042545 gap : 4px ;
25052546 min-height : 28px ;
25062547 padding : 0 8px ;
2507- border : 1px solid rgba ( 86 , 107 , 125 , 0.2 );
2548+ border : 1px solid var ( --control-border );
25082549 border-radius : 8px ;
2509- background : # fff ;
2510- color : # 4f6170 ;
2550+ background : var ( --control-bg ) ;
2551+ color : var ( --control-text ) ;
25112552 font-size : 11px ;
25122553 font-weight : 850 ;
25132554}
25142555
25152556.mount-details-button : hover : not (: disabled ) {
2516- border-color : rgba ( 8 , 123 , 114 , 0.26 );
2517- background : rgba ( 248 , 252 , 251 , 0.98 );
2557+ border-color : var ( --control-border-hover );
2558+ background : var ( --control-bg-hover );
25182559 color : var (--accent );
25192560}
25202561
@@ -2830,7 +2871,7 @@ button.home-stat:hover {
28302871 padding : 0 11px ;
28312872 border : 1px solid var (--line );
28322873 border-radius : 10px ;
2833- background : # ffffff ;
2874+ background : var ( --field-bg ) ;
28342875}
28352876
28362877.source-search-row svg {
@@ -2854,7 +2895,7 @@ button.home-stat:hover {
28542895 padding : 3px ;
28552896 border : 1px solid var (--line );
28562897 border-radius : 10px ;
2857- background : # ffffff ;
2898+ background : var ( --field-bg ) ;
28582899}
28592900
28602901.source-view-toggle button {
@@ -2867,17 +2908,17 @@ button.home-stat:hover {
28672908 border : 0 ;
28682909 border-radius : 8px ;
28692910 background : transparent;
2870- color : var (--muted );
2911+ color : var (--control- muted );
28712912 font : inherit;
28722913 font-size : 12px ;
28732914 font-weight : 850 ;
28742915 cursor : pointer;
28752916}
28762917
28772918.source-view-toggle button .active {
2878- background : rgba ( 8 , 123 , 114 , 0.1 );
2879- color : var (--teal );
2880- box-shadow : inset 0 0 0 1px rgba ( 8 , 123 , 114 , 0.14 );
2919+ background : var ( --control-selected-bg );
2920+ color : var (--control-selected-text );
2921+ box-shadow : inset 0 0 0 1px var ( --control-border-hover );
28812922}
28822923
28832924.source-view-toggle button : focus-visible {
@@ -2913,7 +2954,7 @@ button.home-stat:hover {
29132954 padding : 12px ;
29142955 border : 1px solid var (--line );
29152956 border-radius : 10px ;
2916- background : rgba ( 255 , 255 , 255 , 0.84 );
2957+ background : var ( --surface );
29172958}
29182959
29192960.connector-choice-grid .tiles .connector-choice-card {
@@ -2924,13 +2965,13 @@ button.home-stat:hover {
29242965}
29252966
29262967.connector-choice-card .active {
2927- border-color : rgba ( 8 , 123 , 114 , 0.24 );
2928- background : rgba ( 248 , 252 , 251 , 0.98 );
2968+ border-color : var ( --control-border-hover );
2969+ background : var ( --surface-strong );
29292970}
29302971
29312972.connector-choice-card .mounted {
2932- border-color : rgba ( 37 , 124 , 93 , 0.18 );
2933- background : rgba ( 247 , 249 , 251 , 0.86 );
2973+ border-color : var ( --chip-border );
2974+ background : var ( --chip-bg );
29342975}
29352976
29362977.connector-choice-card .disabled {
@@ -3386,10 +3427,10 @@ button.home-stat:hover {
33863427 flex : 0 0 32px ;
33873428 width : 32px ;
33883429 height : 32px ;
3389- border : 1px solid rgba ( 86 , 107 , 125 , 0.2 );
3430+ border : 1px solid var ( --control-border );
33903431 border-radius : 8px ;
3391- background : rgba ( 255 , 255 , 255 , 0.82 );
3392- color : # 526575 ;
3432+ background : var ( --control-bg );
3433+ color : var ( --control-text ) ;
33933434 transition :
33943435 background-color 170ms ease,
33953436 border-color 170ms ease,
@@ -3400,8 +3441,8 @@ button.home-stat:hover {
34003441}
34013442
34023443.icon-button : hover : not (: disabled ) {
3403- border-color : rgba ( 8 , 123 , 114 , 0.26 );
3404- background : rgba ( 248 , 252 , 251 , 0.98 );
3444+ border-color : var ( --control-border-hover );
3445+ background : var ( --control-bg-hover );
34053446 color : var (--accent );
34063447 box-shadow : 0 8px 18px rgba (8 , 123 , 114 , 0.09 );
34073448}
@@ -3411,8 +3452,8 @@ button.home-stat:hover {
34113452}
34123453
34133454.icon-button : disabled {
3414- color : var (--subtle );
3415- opacity : 0.7 ;
3455+ color : var (--control-disabled-text );
3456+ opacity : 1 ;
34163457}
34173458
34183459.icon-button svg {
@@ -4181,20 +4222,35 @@ button.home-stat:hover {
41814222: root [data-theme = "dark" ] .settings-empty-state ,
41824223: root [data-theme = "dark" ] input ,
41834224: root [data-theme = "dark" ] textarea {
4184- border-color : var (--line );
4185- background : rgba ( 22 , 31 , 34 , 0.92 );
4225+ border-color : var (--control-border );
4226+ background : var ( --control-bg );
41864227 color : var (--ink );
41874228}
41884229
4230+ : root [data-theme = "dark" ] input ,
4231+ : root [data-theme = "dark" ] textarea {
4232+ background : var (--field-bg );
4233+ }
4234+
41894235: root [data-theme = "dark" ] .secondary-button : hover : not (: disabled ),
41904236: root [data-theme = "dark" ] .icon-button : hover : not (: disabled ),
41914237: root [data-theme = "dark" ] .mount-details-button : hover : not (: disabled ),
41924238: root [data-theme = "dark" ] .settings-activity-row : hover {
4193- border-color : rgba ( 15 , 118 , 110 , 0.38 );
4194- background : rgba ( 18 , 39 , 39 , 0.94 );
4239+ border-color : var ( --control-border-hover );
4240+ background : var ( --control-bg-hover );
41954241 color : var (--accent );
41964242}
41974243
4244+ : root [data-theme = "dark" ] .secondary-button : disabled ,
4245+ : root [data-theme = "dark" ] .icon-button : disabled ,
4246+ : root [data-theme = "dark" ] .mount-details-button : disabled {
4247+ border-color : var (--control-border );
4248+ background : var (--control-disabled-bg );
4249+ color : var (--control-disabled-text );
4250+ opacity : 1 ;
4251+ box-shadow : none;
4252+ }
4253+
41984254: root [data-theme = "dark" ] .source-view-toggle button .active ,
41994255: root [data-theme = "dark" ] .file-filter-bar button .active ,
42004256: root [data-theme = "dark" ] .file-filter-bar button : hover ,
@@ -4203,9 +4259,9 @@ button.home-stat:hover {
42034259: root [data-theme = "dark" ] .settings-nav button .active ,
42044260: root [data-theme = "dark" ] .theme-segmented button .active ,
42054261: root [data-theme = "dark" ] .option-row : hover {
4206- border-color : rgba ( 42 , 161 , 152 , 0.32 );
4207- background : rgba ( 42 , 161 , 152 , 0.16 );
4208- color : # dff8f4 ;
4262+ border-color : var ( --control-border-hover );
4263+ background : var ( --control-selected-bg );
4264+ color : var ( --control-selected-text ) ;
42094265 box-shadow : inset 0 0 0 1px rgba (42 , 161 , 152 , 0.12 );
42104266}
42114267
@@ -4231,8 +4287,8 @@ button.home-stat:hover {
42314287: root [data-theme = "dark" ] .connector-choice-card .mounted ,
42324288: root [data-theme = "dark" ] .workspace-path-row ,
42334289: root [data-theme = "dark" ] .workspace-facts span {
4234- border-color : var (--line );
4235- background : rgba ( 22 , 31 , 34 , 0.9 );
4290+ border-color : var (--control-border );
4291+ background : var ( --control-bg );
42364292 color : var (--ink );
42374293}
42384294
0 commit comments