Skip to content

Commit 64ece64

Browse files
Create simulation.css
1 parent c311793 commit 64ece64

1 file changed

Lines changed: 125 additions & 0 deletions

File tree

simulations/simulation.css

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
/* simulations/simulation.css — shared styles for simulator pages */
2+
3+
* { box-sizing: border-box; }
4+
body.mneme-sim {
5+
margin: 0;
6+
background: var(--paper);
7+
color: var(--ink);
8+
font-family: var(--font-sans);
9+
}
10+
11+
.sim-top {
12+
display: flex; justify-content: space-between; align-items: center;
13+
padding: 14px 28px; border-bottom: 1px solid var(--dust);
14+
background: rgba(245,243,236,0.9); backdrop-filter: blur(10px);
15+
position: sticky; top: 0; z-index: 20;
16+
}
17+
.sim-top .brand { display:flex; align-items:center; gap: 10px;}
18+
.sim-top .brand img { height: 26px;}
19+
.sim-top .breadcrumb { font-family: var(--font-mono); font-size: 11px; color: var(--slate); letter-spacing: 0.12em; text-transform: uppercase;}
20+
.sim-top .breadcrumb a { color: var(--slate); text-decoration: none; border-bottom: 1px solid transparent;}
21+
.sim-top .breadcrumb a:hover { color: var(--signal); border-color: var(--signal);}
22+
.sim-top .chip {
23+
display: inline-flex; align-items: center; gap: 6px;
24+
padding: 4px 10px; border-radius: 999px; background: var(--bone); border: 1px solid var(--dust);
25+
font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
26+
}
27+
.sim-top .chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 3px rgba(233,79,29,0.15);}
28+
29+
.sim-wrap { padding: 28px; max-width: 1440px; margin: 0 auto;}
30+
.sim-header { margin-bottom: 22px; display:flex; align-items: flex-end; justify-content: space-between; gap: 24px;}
31+
.sim-header .eye { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; color: var(--slate); text-transform: uppercase;}
32+
.sim-header h1 { font-family: var(--font-display); font-weight: 400; font-size: 36px; letter-spacing: -0.02em; margin: 4px 0 0;}
33+
.sim-header .desc { font-size: 13px; color: var(--slate); max-width: 60ch; line-height: 1.5;}
34+
35+
/* layout grid for rw simulator */
36+
.rw-grid {
37+
display: grid; grid-template-columns: 280px 1fr 320px; gap: 14px;
38+
min-height: calc(100vh - 200px);
39+
}
40+
.panel {
41+
background: #fff; border: 1px solid var(--dust); border-radius: 4px;
42+
padding: 20px; overflow: hidden;
43+
}
44+
.panel h3 { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--slate); margin: 0 0 14px; font-weight: 500;}
45+
.panel h4 { font-family: var(--font-display); font-size: 18px; font-weight: 500; margin: 0 0 8px; letter-spacing: -0.01em;}
46+
47+
/* step rail */
48+
.steprail { display: flex; flex-direction: column; gap: 4px;}
49+
.step {
50+
padding: 12px 14px; border: 1px solid var(--dust); border-radius: 3px;
51+
cursor: pointer; background: #fff; transition: all 180ms var(--ease);
52+
position: relative;
53+
}
54+
.step:hover { border-color: var(--ink);}
55+
.step.active { border-color: var(--ink); background: var(--ink); color: var(--paper);}
56+
.step.active .s-sub { color: #a5a9b5;}
57+
.step .s-n { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.16em; color: var(--slate); display:block; margin-bottom: 4px;}
58+
.step.active .s-n { color: var(--signal);}
59+
.step .s-t { font-family: var(--font-sans); font-size: 13px; font-weight: 500;}
60+
.step .s-sub { font-family: var(--font-mono); font-size: 10px; color: var(--slate); margin-top: 2px;}
61+
.step.done::after {
62+
content: "✓"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
63+
color: var(--ok); font-family: var(--font-mono); font-size: 11px;
64+
}
65+
66+
/* stage (canvas) */
67+
.stage {
68+
position: relative; min-height: 540px;
69+
background-color: var(--paper);
70+
background-image: radial-gradient(circle, rgba(11,14,20,0.1) 1px, transparent 1.4px);
71+
background-size: 18px 18px;
72+
border: 1px solid var(--dust); border-radius: 4px;
73+
padding: 24px; overflow: hidden;
74+
}
75+
.stage-title { font-family: var(--font-display); font-size: 20px; letter-spacing: -0.01em; margin-bottom: 14px;}
76+
.stage-desc { font-family: var(--font-sans); font-size: 12px; color: var(--slate); line-height: 1.5; max-width: 60ch; margin-bottom: 20px;}
77+
78+
/* control bar */
79+
.controls { display:flex; gap: 8px; align-items: center; padding: 12px 0;}
80+
.ctrl-btn {
81+
height: 34px; padding: 0 14px; border-radius: 2px; border: 1px solid var(--ink);
82+
font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
83+
background: transparent; color: var(--ink); cursor: pointer; transition: all 180ms var(--ease);
84+
}
85+
.ctrl-btn:hover { background: var(--ink); color: var(--paper);}
86+
.ctrl-btn.primary { background: var(--signal); border-color: var(--signal); color: var(--paper);}
87+
.ctrl-btn.primary:hover { background: var(--signal-deep); border-color: var(--signal-deep);}
88+
.ctrl-btn:disabled { opacity: 0.4; pointer-events: none;}
89+
90+
/* readouts (right panel) */
91+
.readout { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--dust);}
92+
.readout:last-child { border-bottom: 0;}
93+
.readout .r-k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--slate); text-transform: uppercase; margin-bottom: 4px;}
94+
.readout .r-v { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 22px; font-weight: 500; color: var(--ink);}
95+
.readout .r-u { font-family: var(--font-mono); font-size: 11px; color: var(--slate); margin-left: 3px;}
96+
97+
/* log */
98+
.log { font-family: var(--font-mono); font-size: 11px; max-height: 160px; overflow-y: auto; color: var(--slate); line-height: 1.55;}
99+
.log .ts { color: var(--signal);}
100+
.log div { padding: 2px 0;}
101+
102+
/* svg styles */
103+
.node-ring { stroke: #0B0E14; stroke-width: 1.2; fill: #fff;}
104+
.node-active { stroke: #E94F1D; stroke-width: 2; fill: #FBE1D4;}
105+
.node-label { font-family: "IBM Plex Mono", monospace; font-size: 9px; fill: #6E7382; letter-spacing: 0.08em; text-transform: uppercase;}
106+
.node-title { font-family: "IBM Plex Sans", sans-serif; font-size: 11px; fill: #0B0E14; font-weight: 500;}
107+
.edge { stroke: #6E7382; stroke-width: 1; fill: none; stroke-dasharray: 3 3;}
108+
.edge-active { stroke: #E94F1D; stroke-width: 2; fill: none;}
109+
.spike { stroke: #0B0E14; stroke-width: 1;}
110+
.spike.live { stroke: #E94F1D; stroke-width: 1.5;}
111+
112+
/* voxel grid */
113+
.voxel-grid { display: grid; gap: 2px;}
114+
.voxel { width: 100%; aspect-ratio: 1; background: var(--dust); transition: background 180ms var(--ease);}
115+
116+
/* stim input picker */
117+
.stim-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px;}
118+
.stim-tile {
119+
padding: 12px; border: 1px solid var(--dust); border-radius: 3px; cursor: pointer;
120+
font-family: var(--font-sans); font-size: 12px; text-align: left;
121+
background: #fff; transition: all 180ms;
122+
}
123+
.stim-tile:hover { border-color: var(--ink);}
124+
.stim-tile.selected { border-color: var(--signal); background: var(--signal-soft);}
125+
.stim-tile .ico { font-family: var(--font-mono); color: var(--signal); font-size: 11px; margin-bottom: 4px;}

0 commit comments

Comments
 (0)