4343 cursor : grabbing;
4444}
4545
46- /* Hand Selector */
47- .hand-selector-container { display : flex; align-items : center; justify-content : center; gap : 10px ; }
48- .hand-analog { display : flex; flex-direction : column; align-items : center; }
49- .analog-ring {
50- position : relative;
51- width : 9em ; height : 9em ;
52- border-radius : 50% ;
53- background : radial-gradient (circle, # f8f8f8 0% , # ebebeb 70% , # ddd 100% );
54- border : 3px solid # ccc ;
55- cursor : pointer;
56- transition : border-color 0.25s , box-shadow 0.25s , transform 0.15s ;
57- }
58- .analog-ring : hover { border-color : # 888 ; box-shadow : 0 0 14px rgba (0 , 0 , 0 , 0.10 ); transform : scale (1.04 ); }
59- .analog-ring .active { border-color : # 4dabf7 ; box-shadow : 0 0 18px rgba (77 , 171 , 247 , 0.35 ); }
60- .analog-stick {
61- position : absolute;
62- top : 50% ; left : 50% ;
63- transform : translate (-50% , -50% );
64- width : 32px ; height : 32px ;
65- border-radius : 50% ;
66- background : linear-gradient (145deg , # fff, # e6e6e6 );
67- box-shadow : inset 0 2px 4px rgba (0 , 0 , 0 , 0.06 ), 0 2px 8px rgba (0 , 0 , 0 , 0.08 );
68- display : flex;
69- align-items : center;
70- justify-content : center;
71- pointer-events : none;
72- }
73- .analog-center-label {
74- font-size : 10px ;
75- font-weight : 700 ;
76- color : # 444 ;
77- line-height : 1.1 ;
78- text-align : center;
79- }
80-
81- /* Finger dots */
82- .finger-dot {
83- position : absolute;
84- width : 3em ; height : 3em ;
85- border-radius : 50% ;
86- border : 2px solid # aaa ;
87- background : # fff ;
88- display : flex;
89- align-items : center;
90- justify-content : center;
91- cursor : pointer;
92- transition : all 0.2s ;
93- z-index : 2 ;
94- padding : 0 ;
95- box-shadow : 0 1px 4px rgba (0 , 0 , 0 , 0.1 );
96- }
97- .finger-dot : hover {
98- background : # 4dabf7 ;
99- border-color : # 4dabf7 ;
100- color : # fff ;
101- transform : scale (1.2 );
102- box-shadow : 0 0 10px rgba (77 , 171 , 247 , 0.5 );
103- z-index : 100 ;
104- }
105- .finger-dot .active {
106- background : # 4dabf7 ;
107- border-color : # 228be6 ;
108- color : # fff ;
109- box-shadow : 0 0 12px rgba (77 , 171 , 247 , 0.6 );
110- transform : scale (1.15 );
111- }
112- .finger-letter { font-size : 0.8em ; font-weight : 700 ; line-height : 1 ; pointer-events : none; }
113-
11446.finger-select {
115- margin : 12px auto; box-sizing : border-box; justify-content : center; align-content : center;
116- }
117-
118- /* Finger positions */
119- .finger-thumb-left { top : 58% ; right : -12px ; }
120- .finger-index-left { top : 4% ; right : 4px ; }
121- .finger-middle-left { top : -10px ; left : 50% ; transform : translateX (-50% ); }
122- .finger-ring-left { top : 4% ; left : 4px ; }
123- .finger-little-left { top : 42% ; left : -12px ; }
124- .finger-thumb-right { top : 58% ; left : -12px ; }
125- .finger-index-right { top : 4% ; left : 4px ; }
126- .finger-middle-right { top : -10px ; left : 50% ; transform : translateX (-50% ); }
127- .finger-ring-right { top : 4% ; right : 4px ; }
128- .finger-little-right { top : 42% ; right : -12px ; }
47+ font : inherit;
48+ font-size : 75% ;
12949
130- /* Fix: Middle fingers need combined transform to keep centering on hover/active */
131- .finger-middle-left : hover ,
132- .finger-middle-right : hover {
133- transform : translateX (-50% ) scale (1.2 );
134- }
135- .finger-middle-left .active ,
136- .finger-middle-right .active {
137- transform : translateX (-50% ) scale (1.15 );
50+ top : 9px ;
51+ right : 15px ;
52+ background-color : # fff ;
53+ border : 2px solid # e8e8e8 ;
54+ border-radius : 5px ;
13855}
13956
140- .finger-dot [data-tooltip ]: hover ::after { bottom : 115% ; font-size : 10px ; }
57+ .finger-radio {
58+ padding : 5px ;
59+ font-size : 75% ;
14160
142- /* Hand divider & actions */
143- .hand-divider { display : flex; align-items : center; color : # aaa ; font-size : 12px ; font-style : italic; position : relative; z-index : 10 ; }
144- .hand-actions { display : flex; justify-content : center; gap : 6px ; flex-wrap : wrap; }
145- .hand-action-btn {
146- padding : 5px 12px ;
147- border : 2px solid rgba (0 , 0 , 0 , 0.1 );
148- border-radius : 16px ;
149- background : rgba (248 , 248 , 248 , 0.9 );
150- color : # 555 ;
151- font-size : 11px ;
152- font-weight : 600 ;
153- cursor : pointer;
154- transition : all 0.2s ;
61+ top : 9px ;
62+ right : 15px ;
63+ background-color : # fff ;
64+ border : 2px solid # e8e8e8 ;
65+ border-radius : 5px ;
15566}
156- .hand-action-btn : hover { background : # e8f4fd ; border-color : # 4dabf7 ; color : # 228be6 ; transform : translateY (-1px ); z-index : 100 ; }
157- .hand-action-btn .active { background : # 4dabf7 ; border-color : # 228be6 ; color : # fff ; }
15867
15968/* Finger context */
16069.finger-context { font-size : 11px ; color : # 555 ; text-align : center; line-height : 1.3 ; min-height : 16px ; font-style : italic; max-width : 320px ; }
211120
212121/* Responsive */
213122@media (max-width : 900px ) {
214- .analog-ring { width : 9em ; height : 9em ; }
215- .analog-stick { width : 34px ; height : 34px ; }
216- .analog-center-label { font-size : 10px ; }
217- .finger-dot { width : 2em ; height : 2em ; }
218- .finger-letter { font-size : 0.8em ; }
219123 select { min-width : 180px ; font-size : 12px ; }
220124}
221125
222126@media (max-width : 768px ) {
223127 .bottom-bar { padding : 10px 14px ; }
224- .finger-preference-legend {
225- position : static;
226- right : auto;
227- bottom : auto;
228- }
229- .hand-selector-container { gap : 8px ; }
230- .analog-ring { width : 9em ; height : 9em ; }
231- .analog-stick { width : 30px ; height : 30px ; }
232- .analog-center-label { font-size : 10px ; }
233- .finger-dot { width : 2em ; height : 2em ; }
234- .finger-letter { font-size : 0.8em ; }
235128}
236129
237130@media (max-width : 480px ) {
238- .top-bar { gap : 6px ; padding : 8px 10px ; padding-top : 34px ; }
239131 .bottom-bar { gap : 6px ; padding : 8px 10px ; }
240132 select { min-width : 140px ; font-size : 12px ; padding : 6px 10px ; }
241- .color-btn { padding : 4px 8px ; font-size : 10px ; }
242- .reset-btn { padding : 4px 8px ; font-size : 10px ; }
243- .selection-badge { font-size : 11px ; padding : 5px 10px ; }
244- .selection-icon { font-size : 14px ; }
245133 .heatmap-legend { font-size : 10px ; }
246134 .heatmap-gradient { width : 60px ; height : 8px ; }
247- .hand-selector-container {
248- flex-direction : row;
249- flex-wrap : nowrap;
250- align-items : center;
251- justify-content : center;
252- gap : 6px ;
253- }
254- .hand-divider { transform : none; }
255- .analog-ring { width : 7em ; height : 7em ; }
256- .analog-stick { width : 26px ; height : 26px ; }
257- .analog-center-label { font-size : 8px ; }
258- .finger-dot { width : 2em ; height : 2em ; border-width : 1.5px ; }
259- .finger-letter { font-size : 8px ; }
260- .hand-action-btn { padding : 4px 7px ; font-size : 9px ; }
261- .side-panel { max-height : 60vh ; }
262- .hand-face-map { flex-direction : column; align-items : center; }
263135}
0 commit comments