1+ : root {
2+ --bg : # 000 ;
3+ --panel : # 0a0a0a ;
4+ --cyan : # 5ff ;
5+ --magenta : # f5f ;
6+ --white : # fff ;
7+ --dim : # 777 ;
8+ }
9+
10+ /* ===============================
11+ Global page
12+ =============================== */
13+
14+ body {
15+ background : var (--bg );
16+ color : var (--white );
17+ font-family : monospace;
18+ padding : 20px ;
19+
20+ max-width : 1200px ;
21+ margin : 0 auto;
22+ }
23+
24+ /* ===============================
25+ Panels (base)
26+ =============================== */
27+
28+ .panel {
29+ border : 1px solid var (--cyan );
30+ background : var (--panel );
31+ padding : 14px 16px ;
32+ margin-bottom : 16px ;
33+ display : block;
34+ }
35+
36+ .panel-cyan { border-color : var (--cyan ); }
37+ .panel-magenta { border-color : var (--magenta ); }
38+
39+ .panel-title {
40+ color : var (--cyan );
41+ font-weight : bold;
42+ margin-bottom : 10px ;
43+ }
44+
45+ /* ===============================
46+ Top layout (A)
47+ =============================== */
48+
49+ .top-layout {
50+ display : grid;
51+ grid-template-columns : auto 1fr ;
52+ gap : 24px ;
53+ align-items : start;
54+ margin-bottom : 24px ;
55+ }
56+
57+ /* ===============================
58+ Left controls (B)
59+ =============================== */
60+
61+ .left-controls {
62+ display : flex;
63+ flex-direction : column;
64+ gap : 16px ;
65+
66+ /* squeeze to content */
67+ width : max-content;
68+ }
69+
70+ /* ===============================
71+ Right controls (C)
72+ =============================== */
73+
74+ .right-controls {
75+ width : 100% ;
76+ }
77+
78+ /* ===============================
79+ Inputs
80+ =============================== */
81+
82+ label {
83+ display : block;
84+ margin-bottom : 8px ;
85+ }
86+
87+ input ,
88+ select ,
89+ button {
90+ background : # 000 ;
91+ color : var (--white );
92+ border : 1px solid var (--cyan );
93+ font-family : monospace;
94+ padding : 4px 6px ;
95+ }
96+
97+ button {
98+ cursor : pointer;
99+ }
100+
101+ button : hover {
102+ border-color : var (--magenta );
103+ color : var (--magenta );
104+ }
105+
106+ /* ===============================
107+ Kernel sliders
108+ =============================== */
109+
110+ .kernel-panel {
111+ width : 100% ;
112+ box-sizing : border-box;
113+ }
114+
115+ .kslider {
116+ margin-bottom : 10px ;
117+ }
118+
119+ .kslider-title {
120+ color : var (--cyan );
121+ font-size : 12px ;
122+ margin-bottom : 2px ;
123+ }
124+
125+ .kslider input [type = "range" ] {
126+ width : 100% ;
127+ height : 16px ;
128+ border : 0 ;
129+ padding : 0 ;
130+ margin : 0 ;
131+ }
132+
133+ /* ===============================
134+ 3-face viewer
135+ =============================== */
136+
137+ .faces {
138+ display : flex;
139+ gap : 16px ;
140+ overflow-x : auto;
141+ padding-bottom : 8px ;
142+ }
143+
144+ .faces > div {
145+ flex : 0 0 auto;
146+ text-align : center;
147+ }
148+
149+ .face-title {
150+ color : var (--dim );
151+ font-size : 12px ;
152+ margin-bottom : 6px ;
153+ }
154+
155+ canvas {
156+ display : block;
157+ border : 1px solid var (--cyan );
158+ background : # 000 ;
159+ }
160+
161+ /* ===============================
162+ Toroidal translation
163+ =============================== */
164+
165+ .torus-panel {
166+ margin-top : 24px ;
167+ }
168+
169+ /* tighter vertical spacing for torus sliders */
170+
171+ .torus-panel .kslider {
172+ margin-bottom : 6px ;
173+ }
174+
175+ .torus-panel .kslider-title {
176+ display : flex;
177+ justify-content : space-between;
178+ font-size : 12px ;
179+ }
180+
181+ /* ===============================
182+ Misc
183+ =============================== */
184+
185+ .pad-switch {
186+ display : flex;
187+ gap : 12px ;
188+ font-size : 12px ;
189+ }
190+
191+ .pad-switch input {
192+ margin-right : 4px ;
193+ }
194+
195+ .hint {
196+ color : var (--dim );
197+ font-size : 12px ;
198+ margin-top : 6px ;
199+ }
200+
201+ # kernelDump {
202+ margin-top : 14px ;
203+ color : var (--dim );
204+ font-family : monospace;
205+ }
206+
207+ a {
208+ color : var (--cyan );
209+ }
210+
211+ /* ===============================
212+ Slider header: title + hint
213+ =============================== */
214+
215+ .kslider-header {
216+ display : flex;
217+ justify-content : space-between;
218+ align-items : baseline;
219+ margin-bottom : 2px ;
220+ }
221+
222+ .kslider-hint {
223+ color : var (--dim );
224+ font-size : 12px ;
225+ white-space : nowrap;
226+ }
227+
228+ # isoCanvas {
229+ display : block;
230+ margin : 0 auto;
231+ border : 1px solid var (--cyan );
232+ background : # 000 ;
233+ }
234+
235+ .sync-toggle {
236+ display : inline-flex;
237+ align-items : center;
238+ gap : 6px ;
239+ font-size : 11px ;
240+ color : var (--dim );
241+ margin-bottom : 6px ;
242+ user-select : none;
243+ }
244+
245+ .sync-toggle input {
246+ margin : 0 ;
247+ }
0 commit comments