anvilsign in

collin/mahjong

master / src / tune.css
1/* The tile tuner. Its own stylesheet rather than the table's: nothing here is
2 the game, and the game should not have to carry it. */
3
4:root {
5 color-scheme: dark;
6 --ink: #f6f0e2;
7 --gold: #d9b45c;
8}
9
10* {
11 box-sizing: border-box;
12}
13
14body {
15 margin: 0;
16 background: #14181a;
17 color: var(--ink);
18 font: 14px/1.4 system-ui, -apple-system, 'Segoe UI', sans-serif;
19}
20
21.tune {
22 display: flex;
23 min-height: 100vh;
24 align-items: flex-start;
25}
26
27/* The tiles get the room; the sliders get a column. */
28.stage {
29 flex: 1;
30 min-width: 0;
31 overflow: auto;
32 padding: 16px;
33}
34.stage canvas {
35 display: block;
36 border-radius: 8px;
37 image-rendering: pixelated;
38}
39
40.panel {
41 flex: none;
42 width: 340px;
43 padding: 16px 16px 40px;
44 border-left: 1px solid rgba(246, 240, 226, 0.12);
45 position: sticky;
46 top: 0;
47 max-height: 100vh;
48 overflow: auto;
49}
50.panel h1 {
51 margin: 0 0 6px;
52 font-size: 18px;
53 font-weight: 500;
54 color: var(--gold);
55}
56.panel .hint {
57 margin: 0 0 16px;
58 font-size: 12px;
59 opacity: 0.6;
60}
61.panel code {
62 font-family: ui-monospace, monospace;
63}
64
65.knob {
66 display: grid;
67 grid-template-columns: 130px 1fr auto;
68 align-items: center;
69 gap: 8px;
70 margin-bottom: 7px;
71}
72.knob > span {
73 display: flex;
74 flex-direction: column;
75 font-size: 12px;
76}
77.knob em {
78 font-style: normal;
79 font-size: 10px;
80 opacity: 0.5;
81}
82.knob input[type='range'] {
83 width: 100%;
84 accent-color: var(--gold);
85}
86.knob input[type='text'] {
87 width: 100%;
88 background: #0d1012;
89 border: 1px solid rgba(246, 240, 226, 0.18);
90 border-radius: 5px;
91 color: var(--ink);
92 font-family: ui-monospace, monospace;
93 font-size: 11px;
94 padding: 4px 6px;
95}
96.knob output {
97 font-family: ui-monospace, monospace;
98 font-size: 11px;
99 opacity: 0.75;
100 min-width: 52px;
101 text-align: right;
102}
103.knob .swatch {
104 width: 20px;
105 height: 20px;
106 border-radius: 4px;
107 border: 1px solid rgba(246, 240, 226, 0.25);
108 /* Checks behind it, so an alpha reads as an alpha. */
109 background-image: linear-gradient(45deg, #555 25%, transparent 25%),
110 linear-gradient(-45deg, #555 25%, transparent 25%);
111 background-size: 8px 8px;
112}
113
114.row {
115 display: flex;
116 gap: 8px;
117 margin: 14px 0 10px;
118}
119.btn {
120 flex: 1;
121 padding: 7px 10px;
122 border-radius: 6px;
123 border: 1px solid rgba(246, 240, 226, 0.25);
124 background: transparent;
125 color: var(--ink);
126 font: inherit;
127 font-size: 12px;
128 cursor: pointer;
129}
130.btn:hover {
131 border-color: var(--gold);
132 color: var(--gold);
133}
134
135.panel pre {
136 margin: 0;
137 padding: 10px;
138 background: #0d1012;
139 border-radius: 6px;
140 font-family: ui-monospace, monospace;
141 font-size: 11px;
142 line-height: 1.5;
143 white-space: pre-wrap;
144 opacity: 0.85;
145}
146