@cr8rcho/alkahest 0.1.17 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -68,11 +68,17 @@
68
68
  [data-theme="light"] #theme-toggle .i-sun { display: none; } [data-theme="light"] #theme-toggle .i-moon { display: block; }
69
69
  /* Action cluster pinned to the right: Display · Fit · theme */
70
70
  .toolbar-actions { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
71
- .brand { font-weight: 700; letter-spacing: 0.3px; white-space: nowrap; }
72
- .brand .sub { color: var(--muted); font-weight: 400; margin-left: 6px; }
71
+ /* Brand matches the web service header (account/landing): 16px / 650 / -0.01em */
72
+ .brand { font-size: 16px; font-weight: 650; letter-spacing: -0.01em; white-space: nowrap; }
73
+ .brand .sub { color: var(--muted); font-weight: 400; font-size: 13px; letter-spacing: 0; margin-left: 6px; }
73
74
  .counts { color: var(--muted); white-space: nowrap; }
74
- .counts-min { display: none; } /* compact "12S 8R" shown on mobile only */
75
- .counts-min i { font-style: normal; font-size: 0.78em; opacity: 0.72; margin-left: 1px; }
75
+ /* compact counts (mobile only): node-shape icons + number screen / resource, matching the legend */
76
+ .counts-min { display: none; }
77
+ .counts-min .cg { display: inline-flex; align-items: center; gap: 5px; }
78
+ .counts-min .cg + .cg { margin-left: 11px; }
79
+ .counts-min .nd { width: 9px; height: 9px; border: 1.5px solid var(--node-stroke); background: var(--node-fill); flex: 0 0 auto; }
80
+ .counts-min .nd.dot { border-radius: 50%; }
81
+ .counts-min .nd.sq { border-radius: 2px; background: var(--res-fill); }
76
82
 
77
83
  /* ---- Display menu: edge filters + legend behind one button. Dropdown on desktop, bottom sheet on mobile. ---- */
78
84
  .display-menu { position: relative; }
@@ -144,7 +150,7 @@
144
150
  .toolbar { column-gap: 10px; padding: 8px 12px; font-size: 12px; flex-wrap: nowrap; }
145
151
  .brand .sub { display: none; }
146
152
  .counts-full { display: none; }
147
- .counts-min { display: inline; }
153
+ .counts-min { display: inline-flex; align-items: center; }
148
154
  .display-label { display: none; } /* Display collapses to icon-only */
149
155
  .display-btn { width: 32px; padding: 0; }
150
156
  /* Display popover → bottom sheet, mirroring the #panel idiom */
@@ -155,10 +161,14 @@
155
161
  border-radius: 16px 16px 0 0; border-left: none; border-right: none; border-bottom: none;
156
162
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.45);
157
163
  padding: 26px 18px 22px; z-index: 41;
158
- transform: translateY(101%); transition: transform 0.24s ease;
159
164
  display: block; /* always present; slid off-screen until open */
165
+ transform: translateY(101%);
166
+ /* visibility:hidden when closed so the upward box-shadow doesn't bleed a band
167
+ at the bottom of the screen; delayed off so the slide-out still animates. */
168
+ visibility: hidden;
169
+ transition: transform 0.24s ease, visibility 0s linear 0.24s;
160
170
  }
161
- .display-menu.open .display-pop { transform: translateY(0); }
171
+ .display-menu.open .display-pop { transform: translateY(0); visibility: visible; transition: transform 0.24s ease; }
162
172
  .display-pop::before { content: ""; position: absolute; top: 9px; left: 50%; width: 40px; height: 4px; margin-left: -20px; background: var(--line); border-radius: 2px; }
163
173
  .disp-row { padding: 9px 0; font-size: 14px; }
164
174
  .disp-legend { font-size: 13px; gap: 8px; }
@@ -173,10 +183,12 @@
173
183
  border-radius: 14px 14px 0 0;
174
184
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.45);
175
185
  transform: translateY(101%);
176
- transition: transform 0.22s ease;
186
+ /* hidden when closed so the upward shadow doesn't peek at the screen bottom */
187
+ visibility: hidden;
188
+ transition: transform 0.22s ease, visibility 0s linear 0.22s;
177
189
  padding-top: 30px;
178
190
  }
179
- body.panel-open #panel { transform: translateY(0); }
191
+ body.panel-open #panel { transform: translateY(0); visibility: visible; transition: transform 0.22s ease; }
180
192
  .panel-close {
181
193
  display: block;
182
194
  position: absolute;
@@ -319,9 +331,10 @@
319
331
  MAP.screens.length + " screens · " + MAP.resources.length + " resources · " +
320
332
  navCount + " navigate" + (containCount ? " · " + containCount + " contains" : "") +
321
333
  " · " + MAP.calls.length + " calls";
322
- // compact form for the mobile toolbar: "12S 8R"
334
+ // compact form for the mobile toolbar: ○{screens} ▢{resources} (node-shape icons)
323
335
  countsEl.querySelector(".counts-min").innerHTML =
324
- MAP.screens.length + "<i>S</i> " + MAP.resources.length + "<i>R</i>";
336
+ '<span class="cg"><span class="nd dot"></span>' + MAP.screens.length + "</span>" +
337
+ '<span class="cg"><span class="nd sq"></span>' + MAP.resources.length + "</span>";
325
338
  }
326
339
 
327
340
  // ====== force-directed layout (reference approach) ======
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cr8rcho/alkahest",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },