kristaller486 commited on
Commit
f826ec0
·
verified ·
1 Parent(s): 7c92275

Upload style.css

Browse files
Files changed (1) hide show
  1. style.css +162 -28
style.css CHANGED
@@ -1,28 +1,162 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
- }
5
-
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
- }
10
-
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
- }
17
-
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
- }
25
-
26
- .card p:last-child {
27
- margin-bottom: 0;
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Reset */
2
+ *{margin:0;padding:0;box-sizing:border-box}
3
+
4
+ /* Base */
5
+ :root{
6
+ --bg:#f5f7fb;
7
+ --card:#ffffff;
8
+ --text:#1f2937;
9
+ --muted:#6b7280;
10
+ --line:#e5e7eb;
11
+ --blue:#2563eb;
12
+ --blue-600:#1d4ed8;
13
+ --blue-100:#e8f0ff;
14
+ --blue-grad:linear-gradient(90deg,#60a5fa 0%,#2563eb 100%);
15
+ --header-grad:linear-gradient(180deg,#eaf2ff 0%,#dbe8ff 100%);
16
+ }
17
+
18
+ body{
19
+ font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,'Helvetica Neue',Arial,sans-serif;
20
+ background:var(--bg);
21
+ color:var(--text);
22
+ min-height:100vh;
23
+ padding:28px 16px;
24
+ }
25
+
26
+ .container{max-width:1200px;margin:0 auto}
27
+
28
+ /* Header */
29
+ header{margin-bottom:18px}
30
+ h1{font-size:24px;font-weight:800;letter-spacing:.2px;color:#0f172a}
31
+ .subtitle{margin-top:6px;color:var(--muted);font-size:14px}
32
+
33
+ /* Toggle */
34
+ .view-toggle{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
35
+ .toggle-btn{padding:6px 10px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}
36
+ .toggle-btn.is-active{border-color:var(--blue);background:var(--blue-600);color:#fff}
37
+
38
+ /* Card */
39
+ .leaderboard{
40
+ background:var(--card);
41
+ border:1px solid var(--line);
42
+ border-radius:10px;
43
+ box-shadow:0 4px 18px rgba(0,0,0,.04);
44
+ overflow:hidden;
45
+ }
46
+
47
+ /* Table */
48
+ table{width:100%;border-collapse:collapse}
49
+ .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
50
+ .table-wrap table{min-width:760px}
51
+
52
+ thead th{
53
+ position:sticky;top:0;z-index:2;
54
+ background:var(--header-grad);
55
+ color:#0f172a;
56
+ font-size:12px;
57
+ font-weight:700;
58
+ text-transform:uppercase;
59
+ letter-spacing:.6px;
60
+ padding:12px 10px;
61
+ border-bottom:1px solid var(--line);
62
+ }
63
+
64
+ tbody tr{border-bottom:1px solid var(--line)}
65
+ tbody tr:hover{background:#f9fbff}
66
+
67
+ td{
68
+ padding:12px 10px;
69
+ font-size:14px;
70
+ vertical-align:middle;
71
+ }
72
+
73
+ th:first-child,td:first-child{width:56px}
74
+ th.score-col{min-width:280px}
75
+
76
+ /* Sticky first columns (table view) */
77
+ .table-wrap{position:relative}
78
+ thead th.sticky-0, thead th.sticky-1{position:sticky;z-index:3;background:var(--header-grad)}
79
+ thead th.sticky-0{left:0}
80
+ thead th.sticky-1{left:56px}
81
+ tbody td.sticky-0, tbody td.sticky-1{position:sticky;z-index:1;background:var(--card)}
82
+ tbody td.sticky-0{left:0}
83
+ tbody td.sticky-1{left:56px}
84
+ thead th.sticky-0, thead th.sticky-1, tbody td.sticky-0, tbody td.sticky-1{box-shadow:1px 0 0 var(--line)}
85
+
86
+ .rank{color:var(--blue);font-weight:800}
87
+ .model-name{font-weight:600}
88
+
89
+ /* Numbers */
90
+ .num{text-align:center;font-variant-numeric:tabular-nums}
91
+ .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
92
+
93
+ /* Score bar (больше заливки = лучше, т.е. меньше ошибок) */
94
+ .score-cell{display:flex;align-items:center;gap:10px}
95
+ .progress-bar{
96
+ flex:1;height:18px;border-radius:9px;overflow:hidden;
97
+ background:var(--blue-100);outline:1px solid rgba(37,99,235,.15);
98
+ }
99
+ .progress-fill{height:100%;background:var(--blue-grad);transition:width .35s ease}
100
+ .score-value{min-width:100px;text-align:right;color:var(--blue-600);font-weight:700}
101
+
102
+ /* Link */
103
+ td a{color:var(--blue);text-decoration:none;font-weight:600}
104
+ td a:hover{text-decoration:underline}
105
+
106
+ /* Info */
107
+ .info-text{padding:12px;color:var(--muted);text-align:center;font-size:13px}
108
+
109
+ .legend{margin:12px 0 8px;padding:0 4px;color:var(--muted);font-size:13px;line-height:1.55}
110
+ .legend p{margin-bottom:8px}
111
+ .legend p:last-child{margin-bottom:0}
112
+
113
+ /* Responsive */
114
+ @media (max-width:900px){
115
+ th.score-col{min-width:220px}
116
+ .score-value{min-width:80px}
117
+ td,th{padding:10px 8px}
118
+ h1{font-size:22px}
119
+ }
120
+
121
+ /* Mobile small screens: hide rank column */
122
+ @media (max-width:640px){
123
+ thead th.sticky-0, tbody td.sticky-0{display:none}
124
+ thead th.sticky-1, tbody td.sticky-1{left:0}
125
+ }
126
+
127
+ /* Cards-mode (переключатель) */
128
+ body.cards-mode .table-wrap table{min-width:0}
129
+ body.cards-mode thead{display:none}
130
+ body.cards-mode table{display:block}
131
+ body.cards-mode tbody{display:block}
132
+ body.cards-mode tbody tr{
133
+ display:block;
134
+ border:1px solid var(--line);
135
+ border-radius:10px;
136
+ margin:10px 8px;
137
+ padding:4px 10px;
138
+ background:var(--card);
139
+ }
140
+ body.cards-mode tbody tr:hover{background:var(--card)}
141
+ body.cards-mode td{
142
+ display:flex;
143
+ justify-content:space-between;
144
+ align-items:center;
145
+ padding:10px 6px;
146
+ border-bottom:1px dashed var(--line);
147
+ font-size:14px;
148
+ text-align:left;
149
+ }
150
+ body.cards-mode td:last-child{border-bottom:none}
151
+ body.cards-mode td::before{
152
+ content:attr(data-label);
153
+ color:var(--muted);
154
+ font-weight:600;
155
+ margin-right:10px;
156
+ font-size:12px;
157
+ }
158
+ body.cards-mode .num{text-align:left}
159
+ body.cards-mode .score-cell{flex-direction:column;align-items:stretch;gap:6px}
160
+ body.cards-mode .progress-bar{height:14px}
161
+ body.cards-mode .score-value{min-width:0;text-align:left}
162
+ body.cards-mode th.sticky-0, body.cards-mode th.sticky-1, body.cards-mode td.sticky-0, body.cards-mode td.sticky-1{position:static;left:auto;box-shadow:none;z-index:auto}