synabun 2.0.0-beta → 2.0.0
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.
- package/CHANGELOG.md +8 -0
- package/THIRD-PARTY-LICENSES.md +5 -0
- package/launcher.mjs +40 -0
- package/lib/claude-hooks.js +61 -8
- package/lib/client-config-repair.js +4 -3
- package/lib/data-home-migration.js +4 -0
- package/lib/desktop-pwa.js +206 -0
- package/lib/external-tools.js +221 -0
- package/lib/first-launch-protection.js +5 -0
- package/lib/packaged-runtime.js +110 -0
- package/lib/start-launcher.js +1309 -0
- package/neural-interface/i18n/en.json +41 -2
- package/neural-interface/i18n/pt-BR.json +41 -2
- package/neural-interface/lib/assistant-envelope.js +9 -6
- package/neural-interface/lib/augmented-path.js +23 -3
- package/neural-interface/lib/browser-language.js +83 -0
- package/neural-interface/lib/claude-agent-bridge.js +54 -147
- package/neural-interface/lib/claude-executable.js +241 -0
- package/neural-interface/lib/claude-model-catalog.js +52 -91
- package/neural-interface/lib/native-binary-runtime.js +69 -337
- package/neural-interface/lib/native-loop-providers.js +30 -44
- package/neural-interface/lib/offline-page.js +54 -0
- package/neural-interface/lib/session-title-generator.js +5 -0
- package/neural-interface/lib/synabun-update-plan.js +19 -0
- package/neural-interface/package-lock.json +0 -251
- package/neural-interface/public/install-app.html +31 -0
- package/neural-interface/public/manifest.json +2 -0
- package/neural-interface/public/offline.html +401 -66
- package/neural-interface/public/onboarding.html +252 -146
- package/neural-interface/public/shared/assistant/asst-mascot.js +12 -10
- package/neural-interface/public/shared/assistant/asst-rack-styles.js +0 -3
- package/neural-interface/public/shared/assistant/asst-render.js +58 -49
- package/neural-interface/public/shared/assistant/asst-styles.js +4 -2
- package/neural-interface/public/shared/command-runner-model.js +30 -0
- package/neural-interface/public/shared/html-shell.js +9 -5
- package/neural-interface/public/shared/pwa-install-page.js +34 -0
- package/neural-interface/public/shared/pwa-install.css +12 -0
- package/neural-interface/public/shared/pwa-install.js +28 -0
- package/neural-interface/public/shared/settings/settings-rules.js +160 -0
- package/neural-interface/public/shared/start-bridge.js +583 -0
- package/neural-interface/public/shared/styleguide/sg-colors.js +5 -2
- package/neural-interface/public/shared/styleguide/sg-import-export.js +4 -3
- package/neural-interface/public/shared/styleguide/sg-kit.js +4 -1
- package/neural-interface/public/shared/styleguide/sg-panel.js +9 -1
- package/neural-interface/public/shared/styleguide/sg-typography.js +1 -0
- package/neural-interface/public/shared/styles.css +801 -392
- package/neural-interface/public/shared/term-ready.js +307 -0
- package/neural-interface/public/shared/ui-claude-panel.js +3 -3
- package/neural-interface/public/shared/ui-command-runner.js +251 -468
- package/neural-interface/public/shared/ui-judgments.js +1 -1
- package/neural-interface/public/shared/ui-loading.js +221 -10
- package/neural-interface/public/shared/ui-menubar.js +11 -27
- package/neural-interface/public/shared/ui-settings.js +36 -59
- package/neural-interface/public/shared/ui-terminal.js +130 -144
- package/neural-interface/public/sw.js +3 -1
- package/neural-interface/public/variant/2d/main.js +2 -1
- package/neural-interface/public/variant/3d/main.js +2 -1
- package/neural-interface/scripts/rebuild-pty.js +15 -12
- package/neural-interface/server.js +220 -185
- package/package.json +13 -1
- package/postinstall.js +11 -81
- package/setup.js +72 -4
- package/docs/browser-v2.md +0 -109
- package/docs/hook-integrity.md +0 -89
- package/docs/judgments.md +0 -182
- package/docs/style-guide.md +0 -246
- package/scripts/audit-claude-hook-usage.mjs +0 -12
- package/scripts/audit-memory-duplicates.mjs +0 -44
- package/scripts/measure-claude-hook-overhead.mjs +0 -77
- package/scripts/recover-user-config.mjs +0 -254
|
@@ -2197,6 +2197,9 @@
|
|
|
2197
2197
|
gap: 0;
|
|
2198
2198
|
}
|
|
2199
2199
|
|
|
2200
|
+
/* an entry the shell marks [hidden] stays out of the menu whatever else sets display */
|
|
2201
|
+
.menu-item[hidden] { display: none !important; }
|
|
2202
|
+
|
|
2200
2203
|
.menu-item:hover,
|
|
2201
2204
|
.menu-item.focused {
|
|
2202
2205
|
background: rgba(255,255,255,0.06);
|
|
@@ -13483,7 +13486,9 @@
|
|
|
13483
13486
|
a plain page head, and every section card drawn as a grouped inset list — the title above the box,
|
|
13484
13487
|
rows inside it separated by hairlines, the label on the left and the control on the right.
|
|
13485
13488
|
═══════════════════════════════════════════ */
|
|
13486
|
-
.settings-panel
|
|
13489
|
+
.settings-panel,
|
|
13490
|
+
.command-runner-panel,
|
|
13491
|
+
.styleguide-panel {
|
|
13487
13492
|
/* Text roles for the dark panel. Each clears WCAG AA (4.5:1) on the panel and inside a group. */
|
|
13488
13493
|
--stg-text: rgba(255,255,255,0.92);
|
|
13489
13494
|
--stg-body: rgba(255,255,255,0.84);
|
|
@@ -13516,7 +13521,9 @@
|
|
|
13516
13521
|
}
|
|
13517
13522
|
/* Perceptual lightness keeps white text readable on the fill whatever hue the user picks (a yellow accent too) */
|
|
13518
13523
|
@supports (color: oklch(from red l c h)) {
|
|
13519
|
-
.settings-panel
|
|
13524
|
+
.settings-panel,
|
|
13525
|
+
.command-runner-panel,
|
|
13526
|
+
.styleguide-panel {
|
|
13520
13527
|
--stg-accent-fill: oklch(from var(--accent-blue) 0.5 c h);
|
|
13521
13528
|
--stg-accent-fill-hover: oklch(from var(--accent-blue) 0.55 c h);
|
|
13522
13529
|
}
|
|
@@ -13914,17 +13921,25 @@
|
|
|
13914
13921
|
(markup: the build*Tab functions in ui-settings.js, ui-judgments.js, ui-whatsapp.js)
|
|
13915
13922
|
═══════════════════════════════════════════ */
|
|
13916
13923
|
|
|
13917
|
-
/* A pane's own save bar
|
|
13924
|
+
/* A pane's own save bar is the foot of the content column: it sits on the column's bottom edge while its page scrolls,
|
|
13925
|
+
and stays there when the page is shorter than the column.
|
|
13918
13926
|
The page itself never scrolls (.settings-content does), so it must not be a scroll container for sticky. */
|
|
13919
13927
|
.settings-panel .settings-content > .stg-page { overflow: visible; }
|
|
13928
|
+
/* A page with a save bar fills the column, and so does its pane: the bar takes the free space above it (margin-top: auto)
|
|
13929
|
+
instead of trailing the last section. The column gives up its bottom padding there, so the bar ends on the panel's edge. */
|
|
13930
|
+
.stg-main > .settings-content:has(> .stg-page.active > .stg-pane > .stg-pane-actions) { display: flex; flex-direction: column; padding-bottom: 0; }
|
|
13931
|
+
.settings-panel .settings-content > .stg-page.active:has(> .stg-pane > .stg-pane-actions),
|
|
13932
|
+
.settings-panel .settings-content > .stg-page.active > .stg-pane:has(> .stg-pane-actions) { display: flex; flex-direction: column; flex: 1 0 auto; }
|
|
13933
|
+
/* margins do not collapse in a flex column: the last section keeps the bar's 12px by itself */
|
|
13934
|
+
.settings-panel .settings-content > .stg-page > .stg-pane > :has(+ .stg-pane-actions) { margin-bottom: 12px; }
|
|
13920
13935
|
/* One row: what the buttons do on the left, the result of the last save, then the buttons. It wraps when the panel is narrow.
|
|
13921
13936
|
The background is opaque: rows scroll under the bar, and nothing may show through it. The shell tells the scroller how
|
|
13922
13937
|
tall the bar is (scroll-padding-bottom), so a control that takes focus or a deep link never lands under it. */
|
|
13923
13938
|
.settings-panel .stg-pane-actions {
|
|
13924
13939
|
position: sticky; bottom: 0; z-index: 3;
|
|
13925
13940
|
display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
|
|
13926
|
-
margin-top:
|
|
13927
|
-
background: #16161b; border: 1px solid var(--stg-line); border-radius: 10px 10px 0 0;
|
|
13941
|
+
margin-top: auto; padding: 10px 14px;
|
|
13942
|
+
background: #16161b; border: 1px solid var(--stg-line); border-bottom: 0; border-radius: 10px 10px 0 0;
|
|
13928
13943
|
}
|
|
13929
13944
|
.settings-panel .stg-pane-actions .bc-actions { order: 3; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 0 auto; padding-top: 0; border-top: 0; }
|
|
13930
13945
|
.settings-panel .stg-pane-actions .bc-action-btn { padding: 0 16px; }
|
|
@@ -13985,7 +14000,8 @@
|
|
|
13985
14000
|
font-family: var(--ff-mono, monospace); font-size: 12px; line-height: 1.5;
|
|
13986
14001
|
color: var(--stg-text); background: rgba(0,0,0,0.28); border: 1px solid var(--stg-line); border-radius: 6px;
|
|
13987
14002
|
}
|
|
13988
|
-
.settings-panel .stg-help a
|
|
14003
|
+
.settings-panel .stg-help a,
|
|
14004
|
+
.settings-panel .settings-hint a { color: var(--stg-focus); text-decoration: underline; }
|
|
13989
14005
|
|
|
13990
14006
|
/* ── Tool access, social, YouTube ── */
|
|
13991
14007
|
.settings-panel .stg-card .cc-tool-category:first-child { margin-top: 0; }
|
|
@@ -14124,9 +14140,6 @@
|
|
|
14124
14140
|
.settings-panel .settings-content :is(.stg-provider-subname, .stg-provider-note) { font-size: 12px; }
|
|
14125
14141
|
/* A field in an input row had its own, fainter focus style (a 2px glow at 8% and no outline): it takes the ring too. */
|
|
14126
14142
|
.settings-panel .stg-inline-field .stg-input-row :is(input, select):focus-visible { outline: 2px solid var(--stg-focus); outline-offset: 2px; }
|
|
14127
|
-
/* the save bar sticks above the page's bottom padding: this fills the strip under it (a little taller than the padding:
|
|
14128
|
-
the scroll area clips the rest, and no line of text shows between the strip and the panel's edge) */
|
|
14129
|
-
.settings-panel .stg-pane-actions::after { content: ''; position: absolute; left: -1px; right: -1px; top: 100%; height: 32px; background: inherit; pointer-events: none; }
|
|
14130
14143
|
/* <<< settings-redesign:panes */
|
|
14131
14144
|
/* ── Settings panel container queries — responsive at any panel width ── */
|
|
14132
14145
|
|
|
@@ -14813,7 +14826,9 @@
|
|
|
14813
14826
|
Push button 22px · text-weight action · 22px fields and popups · 26×15 switch · 14px checkbox ·
|
|
14814
14827
|
regular-weight row labels · lighter secondary text · no box inside a box.
|
|
14815
14828
|
═══════════════════════════════════════════ */
|
|
14816
|
-
.settings-panel
|
|
14829
|
+
.settings-panel,
|
|
14830
|
+
.command-runner-panel,
|
|
14831
|
+
.styleguide-panel {
|
|
14817
14832
|
--stg-help: rgba(255,255,255,0.55);
|
|
14818
14833
|
--stg-line: rgba(255,255,255,0.07);
|
|
14819
14834
|
--stg-sep: rgba(255,255,255,0.06);
|
|
@@ -15358,7 +15373,8 @@
|
|
|
15358
15373
|
@container stg (max-width: 480px) {
|
|
15359
15374
|
.settings-panel .stg-action-row { flex-direction: row; flex-wrap: wrap; align-items: center; }
|
|
15360
15375
|
.settings-panel .stg-action-btn { width: auto; }
|
|
15361
|
-
|
|
15376
|
+
/* two long labels (a translation) stack at the right instead of running past the bar's edge */
|
|
15377
|
+
.settings-panel .stg-pane-actions .bc-actions { flex: 0 1 auto; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
|
|
15362
15378
|
.settings-panel .stg-pane-actions .bc-action-btn { flex: 0 0 auto; min-height: 22px; height: 22px; padding: 0 10px; white-space: nowrap; }
|
|
15363
15379
|
.settings-panel .ocp-history-clear-btn { width: auto; }
|
|
15364
15380
|
}
|
|
@@ -15439,7 +15455,7 @@
|
|
|
15439
15455
|
/* ═══════════════════════════════════════════
|
|
15440
15456
|
SETTINGS — search
|
|
15441
15457
|
(markup: buildSearchHTML in ui-settings.js · behaviour: wireSettingsSearch in settings/settings-shell.js)
|
|
15442
|
-
The sidebar holds a
|
|
15458
|
+
The sidebar holds a 34px search field above the page list. While the field holds a query the page list
|
|
15443
15459
|
gives way to the results: one row per hit, the page's icon tile, the setting's name and its path under it.
|
|
15444
15460
|
The field is the provider search of AI connections at the small-control scale: same glyph, fill and hairline.
|
|
15445
15461
|
Colours are the panel's --stg-* roles. Three literals are the page list's own, restated because a result row
|
|
@@ -15447,29 +15463,29 @@
|
|
|
15447
15463
|
writes on the accent fill (.settings-nav-item.active), the white glyph of an icon tile (.settings-nav-item svg).
|
|
15448
15464
|
═══════════════════════════════════════════ */
|
|
15449
15465
|
.settings-panel .stg-sidebar {
|
|
15450
|
-
display: flex; flex-direction: column; flex-shrink: 0; width:
|
|
15466
|
+
display: flex; flex-direction: column; flex-shrink: 0; width: 240px; min-height: 0;
|
|
15451
15467
|
background: rgba(0,0,0,0.14); border-right: 1px solid var(--stg-line);
|
|
15452
15468
|
}
|
|
15453
15469
|
.settings-panel .stg-sidebar > .settings-nav { flex: 1 1 auto; width: auto; min-height: 0; padding-top: 2px; background: none; border-right: 0; }
|
|
15454
15470
|
.settings-panel .stg-sidebar.stg-searching > .settings-nav { display: none; }
|
|
15455
15471
|
|
|
15456
|
-
.settings-panel .stg-search { position: relative; flex-shrink: 0; padding:
|
|
15472
|
+
.settings-panel .stg-search { position: relative; flex-shrink: 0; padding: 12px 12px 6px; }
|
|
15457
15473
|
.settings-panel .stg-search-input {
|
|
15458
|
-
display: block; width: 100%; height:
|
|
15459
|
-
font-family: var(--stg-font); font-size:
|
|
15474
|
+
display: block; width: 100%; height: 34px; min-height: 34px; box-sizing: border-box; margin: 0; padding: 0 30px 0 36px;
|
|
15475
|
+
font-family: var(--stg-font); font-size: 13.5px; line-height: 32px; color: var(--stg-text);
|
|
15460
15476
|
background: var(--stg-field-bg);
|
|
15461
|
-
border: 1px solid var(--stg-field-line); border-radius:
|
|
15477
|
+
border: 1px solid var(--stg-field-line); border-radius: 9px; box-shadow: none;
|
|
15462
15478
|
-webkit-appearance: none; appearance: none;
|
|
15463
15479
|
}
|
|
15464
15480
|
/* the magnifier: drawn in the colour of the placeholder it sits beside */
|
|
15465
15481
|
.settings-panel .stg-search-glyph {
|
|
15466
|
-
position: absolute; top:
|
|
15467
|
-
color: var(--stg-help); fill: none; stroke: currentColor; stroke-width: 1.
|
|
15482
|
+
position: absolute; top: 22px; left: 24px; width: 15px; height: 15px; pointer-events: none;
|
|
15483
|
+
color: var(--stg-help); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round;
|
|
15468
15484
|
}
|
|
15469
15485
|
.settings-panel .stg-search-input::placeholder { color: var(--stg-help); opacity: 1; }
|
|
15470
|
-
.settings-panel .stg-search-input:focus-visible { outline: 2px solid var(--stg-focus); outline-offset: 1px; border-radius:
|
|
15486
|
+
.settings-panel .stg-search-input:focus-visible { outline: 2px solid var(--stg-focus); outline-offset: 1px; border-radius: 9px; }
|
|
15471
15487
|
.settings-panel .stg-search-clear {
|
|
15472
|
-
position: absolute; top:
|
|
15488
|
+
position: absolute; top: 12px; right: 16px; display: grid; place-items: center; width: 22px; height: 34px; padding: 0;
|
|
15473
15489
|
color: var(--stg-help); background: none; border: 0; border-radius: 4px; cursor: pointer;
|
|
15474
15490
|
}
|
|
15475
15491
|
.settings-panel .stg-search-clear svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
|
|
@@ -15514,18 +15530,63 @@
|
|
|
15514
15530
|
}
|
|
15515
15531
|
|
|
15516
15532
|
@container stg (max-width: 760px) {
|
|
15517
|
-
.settings-panel .stg-sidebar { width:
|
|
15533
|
+
.settings-panel .stg-sidebar { width: 212px; }
|
|
15518
15534
|
}
|
|
15519
15535
|
@container stg (max-width: 560px) {
|
|
15520
15536
|
/* the field sits above the page picker; the results open under it and step aside once one is chosen */
|
|
15521
15537
|
.settings-panel .stg-sidebar { width: auto; max-height: 60%; background: none; border-right: 0; }
|
|
15522
|
-
.settings-panel .stg-search { padding:
|
|
15523
|
-
.settings-panel .stg-search-glyph { top:
|
|
15524
|
-
.settings-panel .stg-search-clear { top:
|
|
15538
|
+
.settings-panel .stg-search { padding: 10px 12px 0; }
|
|
15539
|
+
.settings-panel .stg-search-glyph { top: 20px; left: 24px; }
|
|
15540
|
+
.settings-panel .stg-search-clear { top: 10px; right: 16px; }
|
|
15525
15541
|
.settings-panel .stg-search-results { padding: 6px 12px 8px; border-bottom: 1px solid var(--stg-line); }
|
|
15526
15542
|
.settings-panel .stg-sidebar.stg-search-dismissed .stg-search-results { display: none; }
|
|
15527
15543
|
}
|
|
15528
15544
|
/* <<< settings-redesign:search */
|
|
15545
|
+
/* >>> settings-redesign:nav-polish */
|
|
15546
|
+
/* Sidebar rows: roomier, a 26px tile with a 15px glyph, and a calmer palette. Each tile is one hue pulled to the
|
|
15547
|
+
same lightness and a low chroma, lit from above with a soft gradient and a hairline edge, so the column reads
|
|
15548
|
+
as one set instead of a box of crayons. Loaded last, so it beats the 18px sizing above. */
|
|
15549
|
+
/* The search field: lifted off the sidebar with a lighter fill, a brighter edge and a soft shadow, so it reads as the
|
|
15550
|
+
first thing in the column; a focus ring in the focus colour replaces the plain outline. */
|
|
15551
|
+
.settings-panel .stg-search-input {
|
|
15552
|
+
background: rgba(255,255,255,0.07);
|
|
15553
|
+
border-color: rgba(255,255,255,0.18);
|
|
15554
|
+
box-shadow: 0 1px 2px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.05);
|
|
15555
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
|
15556
|
+
}
|
|
15557
|
+
.settings-panel .stg-search-input:hover { background: rgba(255,255,255,0.09); border-color: rgba(255,255,255,0.26); }
|
|
15558
|
+
.settings-panel .stg-search-input:focus { background: rgba(255,255,255,0.1); border-color: var(--stg-focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--stg-focus) 28%, transparent); }
|
|
15559
|
+
.settings-panel .stg-search-input:focus-visible { outline: none; }
|
|
15560
|
+
.settings-panel .stg-search-input::placeholder { color: rgba(255,255,255,0.62); }
|
|
15561
|
+
.settings-panel .stg-search-glyph { color: rgba(255,255,255,0.7); }
|
|
15562
|
+
.settings-panel .settings-nav { gap: 2px; padding: 4px 12px 14px; }
|
|
15563
|
+
.settings-panel .stg-nav-group-label { padding: 12px 10px 4px; font-size: 11.5px; letter-spacing: 0.02em; }
|
|
15564
|
+
.settings-panel .stg-nav-group-label:first-child { padding-top: 4px; }
|
|
15565
|
+
.settings-panel .settings-nav-item { min-height: 33px; padding: 3px 10px 3px 7px; gap: 10px; font-size: 13.5px; border-radius: 8px; }
|
|
15566
|
+
.settings-panel .stg-nav-icon,
|
|
15567
|
+
.settings-panel .settings-nav-item:hover .stg-nav-icon,
|
|
15568
|
+
.settings-panel .settings-nav-item.active .stg-nav-icon {
|
|
15569
|
+
width: 26px; height: 26px; border-radius: 7.5px;
|
|
15570
|
+
background: linear-gradient(180deg, color-mix(in oklab, var(--stg-tile, #6b7078) 84%, #fff) 0%, var(--stg-tile, #6b7078) 100%);
|
|
15571
|
+
box-shadow: inset 0 0 0 0.5px rgba(255,255,255,0.22), inset 0 1px 0 rgba(255,255,255,0.18), 0 1px 2px rgba(0,0,0,0.3);
|
|
15572
|
+
}
|
|
15573
|
+
.settings-panel .settings-nav-item svg,
|
|
15574
|
+
.settings-panel .settings-nav-item:hover svg,
|
|
15575
|
+
.settings-panel .settings-nav-item.active svg { width: 16px; height: 16px; stroke: rgba(255,255,255,0.96); stroke-width: 1.8; }
|
|
15576
|
+
.settings-panel .stg-search-result .stg-nav-icon { width: 24px; height: 24px; border-radius: 7px; }
|
|
15577
|
+
.settings-panel .stg-search-result .stg-nav-icon svg { width: 13px; height: 13px; stroke-width: 1.9; }
|
|
15578
|
+
.settings-nav-item[data-tab="ai-connections"] { --stg-tile: #6168c9; }
|
|
15579
|
+
.settings-nav-item[data-tab="memory-backups"] { --stg-tile: #4079bd; }
|
|
15580
|
+
.settings-nav-item[data-tab="ai-decisions"] { --stg-tile: #8562bd; }
|
|
15581
|
+
.settings-nav-item[data-tab="projects"] { --stg-tile: #3a8f9b; }
|
|
15582
|
+
.settings-nav-item[data-tab="browser"] { --stg-tile: #c07b48; }
|
|
15583
|
+
.settings-nav-item[data-tab="connected-tools"] { --stg-tile: #9a7e60; }
|
|
15584
|
+
.settings-nav-item[data-tab="tool-access"] { --stg-tile: #b4607e; }
|
|
15585
|
+
.settings-nav-item[data-tab="automations"] { --stg-tile: #b4953f; }
|
|
15586
|
+
.settings-nav-item[data-tab="messages"] { --stg-tile: #4f9b63; }
|
|
15587
|
+
.settings-nav-item[data-tab="notifications"] { --stg-tile: #bd5a52; }
|
|
15588
|
+
.settings-nav-item[data-tab="appearance"] { --stg-tile: #6c717a; }
|
|
15589
|
+
/* <<< settings-redesign:nav-polish */
|
|
15529
15590
|
.tag-add-input {
|
|
15530
15591
|
font-size: var(--fs-sm);
|
|
15531
15592
|
font-weight: 500;
|
|
@@ -17471,6 +17532,8 @@
|
|
|
17471
17532
|
flex-direction: column;
|
|
17472
17533
|
align-items: center;
|
|
17473
17534
|
justify-content: center;
|
|
17535
|
+
padding: 0 16px;
|
|
17536
|
+
box-sizing: border-box;
|
|
17474
17537
|
background: #000000;
|
|
17475
17538
|
transition: opacity 0.8s;
|
|
17476
17539
|
}
|
|
@@ -17543,12 +17606,71 @@
|
|
|
17543
17606
|
cursor: wait;
|
|
17544
17607
|
}
|
|
17545
17608
|
#loading-action-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
|
|
17609
|
+
/* A start under way: the sentence (what is known), the page's own clock, a
|
|
17610
|
+
quieter second sentence, then the steps the launcher reported with the
|
|
17611
|
+
time each one happened (ui-loading.js renderStart). */
|
|
17546
17612
|
#loading-action-status {
|
|
17547
|
-
margin-top:
|
|
17613
|
+
margin-top: 12px;
|
|
17614
|
+
max-width: 420px;
|
|
17615
|
+
margin-left: auto;
|
|
17616
|
+
margin-right: auto;
|
|
17617
|
+
font-size: 12px;
|
|
17618
|
+
line-height: 1.5;
|
|
17619
|
+
color: rgba(255,255,255,0.6);
|
|
17620
|
+
letter-spacing: 0.03em;
|
|
17621
|
+
}
|
|
17622
|
+
#loading-action-elapsed {
|
|
17623
|
+
margin-top: 4px;
|
|
17624
|
+
font-family: 'JetBrains Mono', monospace;
|
|
17548
17625
|
font-size: 11px;
|
|
17626
|
+
font-variant-numeric: tabular-nums;
|
|
17627
|
+
color: rgba(255,255,255,0.45);
|
|
17628
|
+
}
|
|
17629
|
+
#loading-action-hint {
|
|
17630
|
+
margin-top: 4px;
|
|
17631
|
+
max-width: 420px;
|
|
17632
|
+
margin-left: auto;
|
|
17633
|
+
margin-right: auto;
|
|
17634
|
+
font-size: 11px;
|
|
17635
|
+
line-height: 1.5;
|
|
17549
17636
|
color: rgba(255,255,255,0.25);
|
|
17550
17637
|
letter-spacing: 0.05em;
|
|
17551
17638
|
}
|
|
17639
|
+
#loading-action-trail {
|
|
17640
|
+
list-style: none;
|
|
17641
|
+
margin: 12px auto 0;
|
|
17642
|
+
padding: 0;
|
|
17643
|
+
max-width: 260px;
|
|
17644
|
+
font-size: 11px;
|
|
17645
|
+
line-height: 1.7;
|
|
17646
|
+
color: rgba(255,255,255,0.25);
|
|
17647
|
+
}
|
|
17648
|
+
#loading-action-trail li {
|
|
17649
|
+
display: flex;
|
|
17650
|
+
justify-content: space-between;
|
|
17651
|
+
gap: 12px;
|
|
17652
|
+
}
|
|
17653
|
+
#loading-action-trail .at {
|
|
17654
|
+
font-family: 'JetBrains Mono', monospace;
|
|
17655
|
+
font-variant-numeric: tabular-nums;
|
|
17656
|
+
color: rgba(255,255,255,0.45);
|
|
17657
|
+
}
|
|
17658
|
+
#loading-action-log {
|
|
17659
|
+
margin-top: 10px;
|
|
17660
|
+
max-width: 420px;
|
|
17661
|
+
margin-left: auto;
|
|
17662
|
+
margin-right: auto;
|
|
17663
|
+
font-family: 'JetBrains Mono', monospace;
|
|
17664
|
+
font-size: 10.5px;
|
|
17665
|
+
line-height: 1.5;
|
|
17666
|
+
color: rgba(255,255,255,0.25);
|
|
17667
|
+
overflow-wrap: anywhere;
|
|
17668
|
+
user-select: all;
|
|
17669
|
+
}
|
|
17670
|
+
#loading-action-elapsed:empty,
|
|
17671
|
+
#loading-action-hint:empty,
|
|
17672
|
+
#loading-action-trail:empty,
|
|
17673
|
+
#loading-action-log:empty { display: none; }
|
|
17552
17674
|
|
|
17553
17675
|
/* Server offline — mascot + start command */
|
|
17554
17676
|
#loading-mascot {
|
|
@@ -17558,6 +17680,15 @@
|
|
|
17558
17680
|
animation: mascot-sleep 4s ease-in-out infinite;
|
|
17559
17681
|
}
|
|
17560
17682
|
#loading-overlay.server-offline #loading-mascot { display: block; }
|
|
17683
|
+
/* The rig (shared/synabun-mascot.js) draws in currentColor. Asleep, the bob
|
|
17684
|
+
and the z below carry it; in every other state the rig plays its own pose. */
|
|
17685
|
+
#loading-mascot .synabun-mascot { color: #ffffff; }
|
|
17686
|
+
#loading-mascot:is([data-state="waking"], [data-state="working"], [data-state="ready"], [data-state="failed"], [data-state="stalled"]) { animation: none; }
|
|
17687
|
+
#loading-mascot:is([data-state="waking"], [data-state="working"], [data-state="ready"], [data-state="failed"], [data-state="stalled"]) #loading-zzz { display: none; }
|
|
17688
|
+
@media (prefers-reduced-motion: reduce) {
|
|
17689
|
+
#loading-mascot, #loading-zzz { animation: none; }
|
|
17690
|
+
#loading-zzz { opacity: 0.3; }
|
|
17691
|
+
}
|
|
17561
17692
|
@keyframes mascot-sleep {
|
|
17562
17693
|
0%, 100% { transform: translateY(0); }
|
|
17563
17694
|
50% { transform: translateY(-4px); }
|
|
@@ -25494,270 +25625,486 @@
|
|
|
25494
25625
|
|
|
25495
25626
|
|
|
25496
25627
|
/* ═══════════════════════════════════════════
|
|
25497
|
-
|
|
25628
|
+
FLOATING WINDOW CHROME
|
|
25629
|
+
Shared roles reuse the workspace palette and user appearance settings.
|
|
25630
|
+
Terminal output stays opaque; glass is confined to its title bar.
|
|
25498
25631
|
═══════════════════════════════════════════ */
|
|
25499
|
-
|
|
25500
|
-
|
|
25501
|
-
|
|
25502
|
-
|
|
25503
|
-
|
|
25504
|
-
|
|
25505
|
-
|
|
25506
|
-
|
|
25507
|
-
|
|
25508
|
-
|
|
25509
|
-
|
|
25510
|
-
|
|
25511
|
-
|
|
25512
|
-
|
|
25513
|
-
|
|
25514
|
-
|
|
25515
|
-
|
|
25516
|
-
|
|
25517
|
-
|
|
25518
|
-
}
|
|
25519
|
-
.
|
|
25520
|
-
|
|
25521
|
-
|
|
25522
|
-
|
|
25523
|
-
|
|
25524
|
-
|
|
25525
|
-
|
|
25526
|
-
|
|
25527
|
-
|
|
25528
|
-
|
|
25529
|
-
|
|
25530
|
-
|
|
25531
|
-
|
|
25532
|
-
.
|
|
25533
|
-
|
|
25534
|
-
|
|
25535
|
-
|
|
25536
|
-
color: var(--
|
|
25537
|
-
|
|
25538
|
-
|
|
25539
|
-
}
|
|
25540
|
-
.
|
|
25541
|
-
|
|
25542
|
-
|
|
25543
|
-
|
|
25544
|
-
}
|
|
25545
|
-
.
|
|
25546
|
-
|
|
25547
|
-
|
|
25548
|
-
|
|
25549
|
-
|
|
25550
|
-
|
|
25551
|
-
|
|
25552
|
-
|
|
25553
|
-
|
|
25554
|
-
|
|
25555
|
-
|
|
25556
|
-
|
|
25557
|
-
|
|
25558
|
-
|
|
25559
|
-
|
|
25560
|
-
|
|
25561
|
-
|
|
25562
|
-
|
|
25563
|
-
|
|
25564
|
-
|
|
25565
|
-
|
|
25566
|
-
|
|
25567
|
-
.
|
|
25568
|
-
|
|
25569
|
-
|
|
25570
|
-
|
|
25571
|
-
|
|
25572
|
-
.
|
|
25573
|
-
|
|
25574
|
-
.cr-empty-icon svg { width: 32px; height: 32px; }
|
|
25575
|
-
.cr-empty p { margin: 4px 0; font-size: var(--fs-sm); line-height: 1.5; }
|
|
25576
|
-
.cr-empty-hint { font-size: var(--fs-xs); color: var(--t-faint); }
|
|
25577
|
-
.cr-empty-hint strong { color: var(--t-muted); }
|
|
25578
|
-
|
|
25579
|
-
/* ── Category group ── */
|
|
25580
|
-
.cr-category { margin-bottom: 2px; }
|
|
25581
|
-
.cr-cat-header {
|
|
25582
|
-
display: flex; align-items: center; gap: 6px;
|
|
25583
|
-
padding: 8px 10px; border-radius: var(--r-small);
|
|
25584
|
-
cursor: pointer; user-select: none;
|
|
25585
|
-
transition: background 0.12s;
|
|
25586
|
-
}
|
|
25587
|
-
.cr-cat-header:hover { background: var(--s-hover); }
|
|
25588
|
-
.cr-cat-chevron {
|
|
25589
|
-
display: flex; align-items: center; justify-content: center;
|
|
25590
|
-
width: 16px; height: 16px; flex-shrink: 0;
|
|
25591
|
-
color: var(--t-muted);
|
|
25592
|
-
transition: transform 0.15s ease;
|
|
25593
|
-
}
|
|
25594
|
-
.cr-category.collapsed .cr-cat-chevron { transform: rotate(0deg); }
|
|
25595
|
-
.cr-category:not(.collapsed) .cr-cat-chevron { transform: rotate(90deg); }
|
|
25596
|
-
.cr-cat-dot {
|
|
25597
|
-
width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
|
|
25598
|
-
}
|
|
25599
|
-
.cr-cat-name {
|
|
25600
|
-
flex: 1; min-width: 0;
|
|
25601
|
-
font-size: var(--fs-sm); font-weight: 500; color: var(--t-bright);
|
|
25602
|
-
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
25632
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25633
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel, .styleguide-panel,
|
|
25634
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25635
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel, .sched-prompt-modal, .term-picker-modal) {
|
|
25636
|
+
--fw-surface: var(--s-panel);
|
|
25637
|
+
--fw-text: var(--t-bright);
|
|
25638
|
+
--fw-secondary: var(--t-primary);
|
|
25639
|
+
--fw-muted: var(--t-primary);
|
|
25640
|
+
--fw-border: var(--b-visible);
|
|
25641
|
+
--fw-separator: var(--b-light);
|
|
25642
|
+
--fw-focus: var(--accent-blue);
|
|
25643
|
+
--fw-radius: calc(var(--glass-radius) * 1px);
|
|
25644
|
+
--fw-control-radius: var(--r-card);
|
|
25645
|
+
--fw-header-control-size: max(24px, calc(28px * var(--font-scale, 1)));
|
|
25646
|
+
--fw-header-min-height: calc(var(--fw-header-control-size) + 8px);
|
|
25647
|
+
--fw-shadow: var(--shadow-xl);
|
|
25648
|
+
--fw-header: linear-gradient(180deg, var(--s-light), var(--s-subtle));
|
|
25649
|
+
/* Dark on-primary role from the project Style Guide. */
|
|
25650
|
+
--fw-on-accent: #0e141c;
|
|
25651
|
+
}
|
|
25652
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25653
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel, .styleguide-panel,
|
|
25654
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25655
|
+
.sp-sidepanel.sp-floating, .sched-prompt-modal, .term-picker-modal):is(.glass, .term-float-tab, .sp-floating) {
|
|
25656
|
+
border: 1px solid var(--fw-border);
|
|
25657
|
+
border-radius: var(--fw-radius);
|
|
25658
|
+
box-shadow: var(--fw-shadow), var(--shadow-highlight);
|
|
25659
|
+
}
|
|
25660
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25661
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel, .styleguide-panel,
|
|
25662
|
+
.image-gallery-panel, .detail-card, .tw, .sched-prompt-modal, .term-picker-modal).glass {
|
|
25663
|
+
background: var(--fw-surface);
|
|
25664
|
+
}
|
|
25665
|
+
body .sp-sidepanel.sp-floating {
|
|
25666
|
+
background: var(--fw-surface);
|
|
25667
|
+
}
|
|
25668
|
+
body .fe-editor-panel {
|
|
25669
|
+
border-left-color: var(--fw-border);
|
|
25670
|
+
}
|
|
25671
|
+
/* Preserve the terminal's snap geometry and cheaper drag shadow. */
|
|
25672
|
+
body .term-float-tab.term-float-tab.float-dragging { box-shadow: 0 8px 24px rgba(0,0,0,0.45), 0 0 0 1px rgba(0,0,0,0.4); }
|
|
25673
|
+
body :is(.term-float-tab, .sp-sidepanel.sp-floating):is(:focus-within, .sp-window-focused) {
|
|
25674
|
+
border-color: var(--fw-focus);
|
|
25675
|
+
}
|
|
25676
|
+
body .term-float-tab.term-float-tab.snapped-r { border-top-right-radius: 0; border-bottom-right-radius: 0; border-right-color: transparent; }
|
|
25677
|
+
body .term-float-tab.term-float-tab.snapped-l { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: transparent; }
|
|
25678
|
+
body .term-float-tab.term-float-tab.snapped-t { border-top-left-radius: 0; border-top-right-radius: 0; border-top-color: transparent; }
|
|
25679
|
+
body .term-float-tab.term-float-tab.snapped-b { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom-color: transparent; }
|
|
25680
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25681
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel, .styleguide-panel,
|
|
25682
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25683
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel, .sched-prompt-modal, .term-picker-modal)
|
|
25684
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header,
|
|
25685
|
+
.sm-header, .cr-header, .sg-header, .ig-header, .detail-header, .tw-header,
|
|
25686
|
+
.term-float-tab-header, .cp-header, .cxp-header, .ocpv2-header, .asp-header,
|
|
25687
|
+
.fe-editor-header, .sched-prompt-head, .term-picker-header) {
|
|
25688
|
+
min-height: var(--fw-header-min-height);
|
|
25689
|
+
height: auto;
|
|
25690
|
+
margin: 0;
|
|
25691
|
+
border-radius: 0;
|
|
25692
|
+
box-shadow: none;
|
|
25693
|
+
gap: 6px;
|
|
25694
|
+
padding: 4px 12px;
|
|
25695
|
+
flex-shrink: 0;
|
|
25696
|
+
border-bottom: 1px solid var(--fw-separator);
|
|
25697
|
+
background: var(--fw-header);
|
|
25698
|
+
color: var(--fw-text);
|
|
25699
|
+
}
|
|
25700
|
+
body .term-float-tab-header { flex-wrap: wrap; }
|
|
25701
|
+
/* The terminal title bar keeps its own palette tint: --fh / --fs are set per
|
|
25702
|
+
window by _applyFloatColor(), so a picked swatch recolors it at once. The
|
|
25703
|
+
doubled class outweighs the shared header rule above, whose :is() lists
|
|
25704
|
+
count as their heaviest entry (.sp-sidepanel.sp-floating). */
|
|
25705
|
+
body .term-float-tab.term-float-tab > .term-float-tab-header {
|
|
25706
|
+
background: linear-gradient(to bottom, hsla(var(--fh), calc(var(--fs) * 0.5), 16%, 0.60), hsla(var(--fh), calc(var(--fs) * 0.5), 13%, 0.65));
|
|
25603
25707
|
}
|
|
25604
|
-
.
|
|
25605
|
-
|
|
25606
|
-
|
|
25708
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25709
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
25710
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25711
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel)
|
|
25712
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header,
|
|
25713
|
+
.sm-header, .cr-header, .ig-header, .detail-header, .tw-header,
|
|
25714
|
+
.term-float-tab-header, .cp-header, .cxp-header, .ocpv2-header, .asp-header, .fe-editor-header)
|
|
25715
|
+
:is(h3, .ig-title, .detail-header-name, .term-float-tab-title) {
|
|
25716
|
+
font-family: var(--ff-heading);
|
|
25717
|
+
font-size: var(--fs-sm);
|
|
25607
25718
|
font-weight: 500;
|
|
25608
|
-
|
|
25609
|
-
|
|
25610
|
-
|
|
25611
|
-
|
|
25612
|
-
|
|
25613
|
-
.cr-cat-header:hover .cr-cat-actions { opacity: 1; }
|
|
25614
|
-
.cr-cat-body { padding-left: 4px; }
|
|
25615
|
-
.cr-cat-empty {
|
|
25616
|
-
padding: 6px 8px 6px 34px;
|
|
25617
|
-
font-size: var(--fs-xs); color: var(--t-faint); font-style: italic;
|
|
25618
|
-
}
|
|
25619
|
-
.cr-category.collapsed .cr-cat-body { display: none; }
|
|
25620
|
-
|
|
25621
|
-
/* ── Command row ── */
|
|
25622
|
-
.cr-cmd {
|
|
25623
|
-
display: flex; align-items: center; gap: 8px;
|
|
25624
|
-
padding: 6px 8px 6px 22px;
|
|
25625
|
-
border-radius: var(--r-small);
|
|
25626
|
-
transition: background 0.12s;
|
|
25627
|
-
}
|
|
25628
|
-
.cr-cmd:hover { background: var(--s-hover); }
|
|
25629
|
-
.cr-run-btn {
|
|
25630
|
-
width: 28px; height: 28px; flex-shrink: 0;
|
|
25631
|
-
display: flex; align-items: center; justify-content: center;
|
|
25632
|
-
background: rgba(255,255,255,0.04); border: 1px solid var(--b-subtle);
|
|
25633
|
-
border-radius: var(--r-small); cursor: pointer;
|
|
25634
|
-
color: var(--t-muted); transition: all 0.15s;
|
|
25635
|
-
}
|
|
25636
|
-
.cr-run-btn:hover {
|
|
25637
|
-
color: #6dd58c; background: rgba(109,213,140,0.1);
|
|
25638
|
-
border-color: rgba(109,213,140,0.3);
|
|
25639
|
-
}
|
|
25640
|
-
.cr-run-btn:active {
|
|
25641
|
-
background: rgba(109,213,140,0.18);
|
|
25642
|
-
}
|
|
25643
|
-
.cr-cmd-info { flex: 1; min-width: 0; }
|
|
25644
|
-
.cr-cmd-name {
|
|
25645
|
-
font-size: var(--fs-sm); color: var(--t-bright); font-weight: 500;
|
|
25646
|
-
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
25647
|
-
}
|
|
25648
|
-
.cr-cmd-text {
|
|
25649
|
-
font-size: 11px; color: var(--t-muted);
|
|
25650
|
-
font-family: 'JetBrains Mono', monospace;
|
|
25651
|
-
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
25652
|
-
margin-top: 1px;
|
|
25653
|
-
}
|
|
25654
|
-
.cr-cmd-cwd {
|
|
25655
|
-
font-size: 10px; color: var(--t-faint);
|
|
25656
|
-
font-family: 'JetBrains Mono', monospace;
|
|
25657
|
-
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
25658
|
-
margin-top: 1px;
|
|
25659
|
-
}
|
|
25660
|
-
.cr-cmd-actions {
|
|
25661
|
-
display: flex; gap: 2px;
|
|
25662
|
-
opacity: 0; transition: opacity 0.12s;
|
|
25663
|
-
}
|
|
25664
|
-
.cr-cmd:hover .cr-cmd-actions { opacity: 1; }
|
|
25665
|
-
|
|
25666
|
-
/* ── Icon buttons (edit/delete) ── */
|
|
25667
|
-
.cr-icon-btn {
|
|
25668
|
-
width: 24px; height: 24px;
|
|
25669
|
-
display: flex; align-items: center; justify-content: center;
|
|
25670
|
-
background: none; border: none;
|
|
25671
|
-
color: var(--t-muted); cursor: pointer;
|
|
25672
|
-
border-radius: var(--r-small);
|
|
25673
|
-
transition: all 0.12s;
|
|
25674
|
-
}
|
|
25675
|
-
.cr-icon-btn:hover { background: var(--s-hover); color: var(--t-bright); }
|
|
25676
|
-
.cr-icon-btn--danger:hover { color: #f87171; background: rgba(248,113,113,0.1); }
|
|
25677
|
-
|
|
25678
|
-
/* ── Inline modal ── */
|
|
25679
|
-
.cr-modal-overlay {
|
|
25680
|
-
position: absolute; inset: 0; z-index: 10;
|
|
25681
|
-
background: rgba(0,0,0,0.45);
|
|
25682
|
-
display: flex; align-items: center; justify-content: center;
|
|
25683
|
-
backdrop-filter: blur(2px);
|
|
25684
|
-
}
|
|
25685
|
-
.cr-modal-overlay.hidden { display: none; }
|
|
25686
|
-
.cr-modal {
|
|
25687
|
-
width: 340px; max-width: 92%;
|
|
25688
|
-
border-radius: 12px;
|
|
25719
|
+
letter-spacing: 0;
|
|
25720
|
+
text-transform: none;
|
|
25721
|
+
line-height: 1.4;
|
|
25722
|
+
color: var(--fw-text);
|
|
25723
|
+
min-width: 0;
|
|
25689
25724
|
overflow: hidden;
|
|
25725
|
+
text-overflow: ellipsis;
|
|
25690
25726
|
}
|
|
25691
|
-
.
|
|
25692
|
-
|
|
25693
|
-
|
|
25694
|
-
|
|
25695
|
-
|
|
25696
|
-
|
|
25697
|
-
|
|
25698
|
-
|
|
25699
|
-
|
|
25700
|
-
|
|
25701
|
-
|
|
25702
|
-
|
|
25703
|
-
|
|
25704
|
-
|
|
25705
|
-
|
|
25706
|
-
|
|
25707
|
-
|
|
25708
|
-
|
|
25709
|
-
|
|
25710
|
-
|
|
25711
|
-
|
|
25712
|
-
|
|
25713
|
-
|
|
25714
|
-
|
|
25715
|
-
|
|
25716
|
-
|
|
25717
|
-
|
|
25718
|
-
|
|
25719
|
-
|
|
25720
|
-
|
|
25721
|
-
|
|
25722
|
-
|
|
25723
|
-
|
|
25724
|
-
|
|
25725
|
-
|
|
25726
|
-
|
|
25727
|
-
|
|
25727
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25728
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
25729
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25730
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel)
|
|
25731
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header,
|
|
25732
|
+
.sm-header, .cr-header, .ig-header, .detail-header, .tw-header,
|
|
25733
|
+
.term-float-tab-header, .cp-header, .cxp-header, .ocpv2-header, .asp-header, .fe-editor-header)
|
|
25734
|
+
:is(.settings-panel-close, .backdrop-toggle-btn, .pin-btn, .ss-close,
|
|
25735
|
+
.ss-header-btn, .as-close, .as-header-btn, .sched-close, .sched-header-btn,
|
|
25736
|
+
.sm-close, .sm-header-btn, .cr-close, .ig-btn, .detail-action-btn, .tw-close,
|
|
25737
|
+
.tw-header-btn, .term-float-tab-btn, .cp-header-btn, .cxp-header-btn,
|
|
25738
|
+
.ocpv2-header-btn, .asp-header-btn, .cp-session-btn, .cp-header-rename-btn,
|
|
25739
|
+
.cxp-btn, .cxp-session-btn, .cxp-header-rename, .ocpv2-btn, .ocpv2-session-btn,
|
|
25740
|
+
.ocpv2-header-rename, .asp-btn, .asp-tabs-btn, .sp-window-toggle, .sp-window-move,
|
|
25741
|
+
.fe-editor-back, .fe-editor-action, .fe-editor-btn) {
|
|
25742
|
+
min-width: var(--fw-header-control-size);
|
|
25743
|
+
min-height: var(--fw-header-control-size);
|
|
25744
|
+
height: auto;
|
|
25745
|
+
padding: 4px 6px;
|
|
25746
|
+
flex-shrink: 0;
|
|
25747
|
+
border-radius: var(--fw-control-radius);
|
|
25748
|
+
color: var(--fw-secondary);
|
|
25749
|
+
transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
|
|
25750
|
+
}
|
|
25751
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25752
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
25753
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25754
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel)
|
|
25755
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header,
|
|
25756
|
+
.sm-header, .cr-header, .ig-header, .detail-header, .tw-header,
|
|
25757
|
+
.term-float-tab-header, .cp-header, .cxp-header, .ocpv2-header, .asp-header, .fe-editor-header)
|
|
25758
|
+
:is(.settings-panel-close, .backdrop-toggle-btn, .pin-btn, .ss-close,
|
|
25759
|
+
.ss-header-btn, .as-close, .as-header-btn, .sched-close, .sched-header-btn,
|
|
25760
|
+
.sm-close, .sm-header-btn, .cr-close, .ig-btn, .detail-action-btn, .tw-close,
|
|
25761
|
+
.tw-header-btn, .term-float-tab-btn, .cp-header-btn, .cxp-header-btn,
|
|
25762
|
+
.ocpv2-header-btn, .asp-header-btn, .cp-session-btn, .cp-header-rename-btn,
|
|
25763
|
+
.cxp-btn, .cxp-session-btn, .cxp-header-rename, .ocpv2-btn, .ocpv2-session-btn,
|
|
25764
|
+
.ocpv2-header-rename, .asp-btn, .asp-tabs-btn, .sp-window-toggle, .sp-window-move,
|
|
25765
|
+
.fe-editor-back, .fe-editor-action, .fe-editor-btn):hover:not(:disabled) {
|
|
25766
|
+
background-color: var(--s-hover);
|
|
25767
|
+
color: var(--fw-text);
|
|
25768
|
+
}
|
|
25769
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25770
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
25771
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25772
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel)
|
|
25773
|
+
:is(button, a, input, select, textarea, [tabindex]):focus-visible {
|
|
25774
|
+
outline: 2px solid var(--fw-focus);
|
|
25775
|
+
outline-offset: 2px;
|
|
25728
25776
|
}
|
|
25729
|
-
.
|
|
25730
|
-
|
|
25731
|
-
|
|
25732
|
-
|
|
25733
|
-
|
|
25734
|
-
|
|
25735
|
-
|
|
25736
|
-
|
|
25777
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25778
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
25779
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab, .sp-sidepanel.sp-floating)
|
|
25780
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header,
|
|
25781
|
+
.sm-header, .cr-header, .ig-header, .detail-header, .tw-header,
|
|
25782
|
+
.term-float-tab-header, .cp-header, .cxp-header, .ocpv2-header, .asp-header)
|
|
25783
|
+
:is(.settings-panel-close, .ss-close, .as-close, .sched-close, .sm-close,
|
|
25784
|
+
.cr-close, .tw-close, .close-btn, .cp-close-btn, .cxp-btn-danger,
|
|
25785
|
+
.ocpv2-btn-danger, .asp-close, .detail-action-btn--danger):hover:not(:disabled) {
|
|
25786
|
+
color: var(--accent-red);
|
|
25787
|
+
background-color: var(--accent-red-bg);
|
|
25788
|
+
}
|
|
25789
|
+
body .fe-editor-header :is(.fe-editor-action, .fe-editor-back) svg { stroke: currentColor; }
|
|
25790
|
+
body .term-float-tab.pinned .term-float-tab-header .pin-btn,
|
|
25791
|
+
body .fe-editor-header .fe-editor-action.active,
|
|
25792
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25793
|
+
.schedules-studio-panel, .session-monitor-panel, .image-gallery-panel, .tw)
|
|
25794
|
+
> :is(.settings-panel-header, .ss-header, .as-header, .sched-header, .sm-header, .ig-header, .tw-header)
|
|
25795
|
+
:is(.backdrop-toggle-btn.active, .pin-btn.active) {
|
|
25796
|
+
color: var(--fw-focus);
|
|
25797
|
+
background-color: var(--accent-blue-bg);
|
|
25798
|
+
}
|
|
25799
|
+
body .fe-editor-header .fe-editor-action.active svg { stroke: var(--fw-focus); }
|
|
25800
|
+
body .term-float-tab-header .term-float-color-strip {
|
|
25801
|
+
width: var(--fw-header-control-size); height: var(--fw-header-control-size);
|
|
25802
|
+
min-width: var(--fw-header-control-size); min-height: var(--fw-header-control-size);
|
|
25803
|
+
border: 0; padding: calc((var(--fw-header-control-size) - 14px) / 2);
|
|
25804
|
+
background-clip: content-box;
|
|
25805
|
+
}
|
|
25806
|
+
/* Keep terminal and compact memory-card chrome smaller than full dialogs. */
|
|
25807
|
+
body .term-float-tab.term-float-tab,
|
|
25808
|
+
body .detail-card.compact { --fw-header-control-size: max(24px, calc(24px * var(--font-scale, 1))); }
|
|
25809
|
+
body .term-float-tab.term-float-tab > .term-float-tab-header { padding: 3px 8px; }
|
|
25810
|
+
body .detail-card.detail-card > .detail-header .detail-header-name,
|
|
25811
|
+
body .term-float-tab.term-float-tab > .term-float-tab-header .term-float-tab-title { font-size: var(--fs-xs); }
|
|
25812
|
+
body :is(.sched-header-icon, .sm-header-icon, .ig-icon),
|
|
25813
|
+
body :is(.sched-header-icon, .sm-header-icon, .ig-icon) svg { width: 16px; height: 16px; }
|
|
25814
|
+
body .sp-sidepanel.sp-floating > :is(.cp-header, .cxp-header, .ocpv2-header, .asp-header) { flex-wrap: wrap; }
|
|
25815
|
+
|
|
25816
|
+
body .term-float-tab-title { flex: 1 1 100px; }
|
|
25817
|
+
body .term-float-tab-actions { flex-wrap: wrap; max-width: 100%; }
|
|
25818
|
+
body .detail-header-actions { flex-wrap: wrap; }
|
|
25819
|
+
body .detail-card.compact > .detail-header { padding: 2px 8px; }
|
|
25820
|
+
body :is(.ss-header-actions, .as-header-actions, .sched-header-actions, .tw-header-actions,
|
|
25821
|
+
.sm-header-actions, .ig-header-right) { flex-wrap: wrap; max-width: 100%; gap: 4px; }
|
|
25822
|
+
body :is(.ss-header-left, .as-header-left, .sched-header-left, .tw-header-left,
|
|
25823
|
+
.sm-header-left, .ig-header-left, .cr-header-left) { flex-wrap: wrap; gap: 6px; }
|
|
25824
|
+
body :is(.ss-header, .as-header, .sched-header, .tw-header, .fe-editor-header,
|
|
25825
|
+
.sm-header, .ig-header, .cr-header) { flex-wrap: wrap; }
|
|
25826
|
+
body :is(.ss-header, .as-header, .sched-header, .tw-header, .fe-editor-header,
|
|
25827
|
+
.ss-editor-header, .as-detail-header, .as-picker-header, .as-wizard-header, .as-launch-inline-header)
|
|
25828
|
+
:is(.ss-header-btn, .as-header-btn, .sched-header-btn, .tw-header-btn, .fe-editor-btn) {
|
|
25829
|
+
max-width: 100%; white-space: normal; overflow-wrap: anywhere;
|
|
25830
|
+
}
|
|
25831
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25832
|
+
.schedules-studio-panel, .session-monitor-panel, .image-gallery-panel, .tw) {
|
|
25833
|
+
min-width: min(320px, calc(100vw - 16px));
|
|
25834
|
+
max-width: calc(100vw - 16px);
|
|
25835
|
+
}
|
|
25836
|
+
body :is(.settings-panel, .tw) > :is(.resize-handle-t, .resize-handle-tl, .resize-handle-tr) {
|
|
25837
|
+
top: calc(var(--fw-header-min-height) + 1px);
|
|
25838
|
+
}
|
|
25839
|
+
|
|
25840
|
+
/* Inner editor/dialog title rows, never ordinary section or content headings.
|
|
25841
|
+
Override the older narrow-container padding without fixing their height. */
|
|
25842
|
+
body :is(.ss-editor-header, .as-detail-header, .as-picker-header, .as-wizard-header,
|
|
25843
|
+
.as-launch-inline-header, .as-unsaved-dialog-header, .cat-change-modal-header, .ecm-header) {
|
|
25844
|
+
padding-block: 4px;
|
|
25845
|
+
}
|
|
25846
|
+
body :is(.ss-editor-header, .as-detail-header, .as-picker-header, .as-wizard-header,
|
|
25847
|
+
.as-launch-inline-header, .cat-change-modal-header) { flex-wrap: wrap; gap: 6px 8px; }
|
|
25848
|
+
body :is(.ss-editor-header, .as-detail-header, .as-picker-header, .as-wizard-header,
|
|
25849
|
+
.as-launch-inline-header, .as-unsaved-dialog-header) > button { min-height: 24px; flex-shrink: 0; }
|
|
25850
|
+
body :is(.ss-editor-name, .as-detail-name, .as-wizard-title, .awiz-preset-name, .cat-change-modal-title) {
|
|
25851
|
+
min-width: 0; max-width: 100%; font-weight: 500; white-space: normal; overflow-wrap: anywhere;
|
|
25852
|
+
}
|
|
25853
|
+
body :is(.ecm-title, .as-unsaved-dialog-title, .as-launch-inline-title) { min-width: 0; overflow-wrap: anywhere; }
|
|
25854
|
+
body :is(.ecm-close, .awiz-close, .as-launch-dialog-close) { flex-shrink: 0; }
|
|
25855
|
+
body .as-unsaved-dialog-header { gap: 8px; }
|
|
25856
|
+
body .cat-change-modal-from { min-width: 0; max-width: 100%; flex-wrap: wrap; }
|
|
25857
|
+
body .cat-change-from-badge { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
|
|
25858
|
+
body .awiz-header { padding: 4px 16px; }
|
|
25859
|
+
body .awiz-preset-name, body .cat-change-modal-title { font-size: var(--fs-sm); }
|
|
25860
|
+
body .awiz-preset-icon { font-size: var(--fs-lg); }
|
|
25861
|
+
body .awiz-dots { margin-top: 4px; }
|
|
25862
|
+
body .sched-prompt-head h3 { font-size: var(--fs-sm); font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
|
|
25863
|
+
body .sched-prompt-head-text { gap: 8px; }
|
|
25864
|
+
body .sched-prompt-head-text > div { min-width: 0; overflow-wrap: anywhere; }
|
|
25865
|
+
body .sched-prompt-icon { width: 24px; height: 24px; }
|
|
25866
|
+
|
|
25867
|
+
/* Desktop density must not reduce the existing touch targets. */
|
|
25868
|
+
@media (pointer: coarse) {
|
|
25869
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
25870
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel, .styleguide-panel,
|
|
25871
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab,
|
|
25872
|
+
.sp-sidepanel.sp-floating, .fe-editor-panel, .sched-prompt-modal, .term-picker-modal) {
|
|
25873
|
+
--fw-header-control-size: max(44px, calc(28px * var(--font-scale, 1)));
|
|
25874
|
+
}
|
|
25875
|
+
body :is(.ss-editor-header, .as-detail-header, .as-picker-header, .as-wizard-header,
|
|
25876
|
+
.as-launch-inline-header, .as-unsaved-dialog-header) > button,
|
|
25877
|
+
body :is(.ecm-close, .awiz-close, .sched-prompt-close),
|
|
25878
|
+
body .as-header .as-sidebar-toggle,
|
|
25879
|
+
body .term-float-tab-header :is(.term-float-profile-btn, .term-float-recall-btn) { min-width: 44px; min-height: 44px; }
|
|
25737
25880
|
}
|
|
25738
|
-
.cr-color-swatch:hover { transform: scale(1.15); }
|
|
25739
|
-
.cr-color-swatch.selected { border-color: var(--t-bright); }
|
|
25740
25881
|
|
|
25741
|
-
|
|
25742
|
-
|
|
25743
|
-
|
|
25744
|
-
|
|
25745
|
-
|
|
25746
|
-
|
|
25747
|
-
|
|
25882
|
+
/* ═══════════════════════════════════════════
|
|
25883
|
+
COMMAND RUNNER — Settings typography, grouped rows and compact controls
|
|
25884
|
+
Uses the shared Settings roles above; shell/glass preferences stay shared.
|
|
25885
|
+
═══════════════════════════════════════════ */
|
|
25886
|
+
.command-runner-panel {
|
|
25887
|
+
position: fixed; z-index: 50100;
|
|
25888
|
+
width: 720px; max-width: calc(100vw - 16px); min-width: min(320px, calc(100vw - 16px));
|
|
25889
|
+
height: 680px; max-height: calc(100dvh - var(--navbar-height, 48px) - 16px);
|
|
25890
|
+
min-height: min(360px, calc(100dvh - var(--navbar-height, 48px) - 16px));
|
|
25891
|
+
display: flex; flex-direction: column; overflow: hidden;
|
|
25892
|
+
container-type: inline-size; container-name: cr;
|
|
25893
|
+
opacity: 0; transform: scale(.97);
|
|
25894
|
+
transition: opacity 150ms ease, transform 150ms ease;
|
|
25895
|
+
color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-sm);
|
|
25896
|
+
--cr-control-radius: var(--radius-control, 5px);
|
|
25897
|
+
--cr-group-radius: var(--radius-group, 9px);
|
|
25898
|
+
--cr-control-height: calc(22px * var(--font-scale, 1));
|
|
25899
|
+
--cr-search-height: calc(34px * var(--font-scale, 1));
|
|
25900
|
+
}
|
|
25901
|
+
body .command-runner-panel {
|
|
25902
|
+
--fw-focus: var(--stg-focus);
|
|
25903
|
+
/* Preserve readable secondary content across user-selected glass backgrounds. */
|
|
25904
|
+
--stg-help: var(--t-primary);
|
|
25748
25905
|
}
|
|
25749
|
-
.
|
|
25750
|
-
.
|
|
25751
|
-
|
|
25752
|
-
|
|
25753
|
-
|
|
25906
|
+
.command-runner-panel.open { opacity: 1; transform: scale(1); }
|
|
25907
|
+
.command-runner-panel.dragging { transition: none; }
|
|
25908
|
+
.cr-header { display: flex; align-items: center; user-select: none; }
|
|
25909
|
+
.cr-header-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
|
|
25910
|
+
.cr-header h3 { margin: 0; white-space: nowrap; }
|
|
25911
|
+
.cr-count { font-size: var(--fs-xs); font-variant-numeric: tabular-nums; color: var(--stg-help); }
|
|
25912
|
+
.cr-close, .cr-icon-btn {
|
|
25913
|
+
display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
|
|
25914
|
+
width: var(--cr-control-height); height: var(--cr-control-height); padding: 0; border: 0; border-radius: var(--cr-control-radius);
|
|
25915
|
+
color: var(--stg-help); background: transparent; cursor: pointer;
|
|
25916
|
+
transition: color 150ms ease, background-color 150ms ease;
|
|
25917
|
+
}
|
|
25918
|
+
.cr-close { margin-inline-start: auto; }
|
|
25919
|
+
.cr-icon-btn svg { width: 12px; height: 12px; }
|
|
25920
|
+
.cr-icon-btn:hover:not(:disabled) { color: var(--stg-text); background: var(--stg-control-hover); }
|
|
25921
|
+
.cr-icon-btn--danger:hover:not(:disabled) { color: var(--stg-err); }
|
|
25922
|
+
.cr-main { flex: 1; min-height: 0; display: flex; flex-direction: column; }
|
|
25923
|
+
.cr-library-head {
|
|
25924
|
+
display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
|
|
25925
|
+
gap: 12px; padding: 20px 22px 16px; flex-shrink: 0;
|
|
25926
|
+
}
|
|
25927
|
+
.cr-library-head > div { flex: 1 1 180px; min-width: 0; }
|
|
25928
|
+
.cr-library-head h2 {
|
|
25929
|
+
margin: 0; font-family: var(--stg-font); font-size: calc(20px * var(--font-scale, 1));
|
|
25930
|
+
font-weight: 600; line-height: 1.25; letter-spacing: 0; color: var(--stg-text); overflow-wrap: anywhere;
|
|
25931
|
+
}
|
|
25932
|
+
.cr-library-head p { margin-top: 2px; color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; max-width: 68ch; }
|
|
25933
|
+
.cr-button, .cr-run-btn {
|
|
25934
|
+
display: inline-flex; align-items: center; justify-content: center; gap: 4px; flex-shrink: 0;
|
|
25935
|
+
min-height: var(--cr-control-height); max-width: 100%; padding: 2px 10px;
|
|
25936
|
+
border: 1px solid var(--stg-field-line); border-radius: var(--cr-control-radius); box-shadow: none;
|
|
25937
|
+
color: var(--stg-text); background: var(--stg-control); cursor: pointer;
|
|
25938
|
+
font-family: var(--stg-font); font-size: var(--fs-xs); font-weight: 500; line-height: 1.2;
|
|
25939
|
+
transition: background-color 150ms ease, color 150ms ease;
|
|
25940
|
+
}
|
|
25941
|
+
.cr-button svg, .cr-run-btn svg { width: 12px; height: 12px; flex-shrink: 0; }
|
|
25942
|
+
.cr-button:hover:not(:disabled), .cr-run-btn:hover:not(:disabled) { background: var(--stg-control-hover); }
|
|
25943
|
+
.cr-primary { color: #fff; background: var(--stg-accent-fill); border-color: transparent; }
|
|
25944
|
+
.cr-primary:hover:not(:disabled) { background: var(--stg-accent-fill-hover); }
|
|
25945
|
+
.cr-toolbar { display: flex; align-items: center; gap: 8px; padding: 0 22px 8px; flex-shrink: 0; }
|
|
25946
|
+
.cr-search-wrap {
|
|
25947
|
+
display: flex; align-items: center; flex: 1; min-width: 0; gap: 8px;
|
|
25948
|
+
height: var(--cr-search-height); padding: 0 10px; border: 1px solid var(--stg-field-line);
|
|
25949
|
+
background: var(--stg-control); border-radius: var(--cr-group-radius); color: var(--stg-help);
|
|
25950
|
+
}
|
|
25951
|
+
.cr-search-wrap > svg { flex-shrink: 0; width: 15px; height: 15px; }
|
|
25952
|
+
.cr-search-wrap:has(input:focus-visible) { outline: 2px solid var(--stg-focus); outline-offset: 2px; }
|
|
25953
|
+
body .command-runner-panel #cr-search:focus-visible { outline: none; }
|
|
25954
|
+
.cr-search-wrap input {
|
|
25955
|
+
width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent;
|
|
25956
|
+
color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-sm); outline: 0;
|
|
25957
|
+
}
|
|
25958
|
+
.cr-search-wrap input::placeholder { color: var(--stg-help); opacity: 1; }
|
|
25959
|
+
.cr-search-wrap input::-webkit-search-cancel-button { display: none; }
|
|
25960
|
+
.cr-search-wrap .cr-icon-btn { margin-inline-end: -4px; }
|
|
25961
|
+
.cr-search-wrap kbd { flex-shrink: 0; font-family: var(--stg-mono); font-size: var(--fs-xs); color: var(--stg-help); }
|
|
25962
|
+
.cr-sort, select.cr-form-input {
|
|
25963
|
+
appearance: none; -webkit-appearance: none; color-scheme: dark; cursor: pointer;
|
|
25964
|
+
min-width: 110px; min-height: var(--cr-control-height); height: var(--cr-control-height); padding: 0 22px 0 8px;
|
|
25965
|
+
border: 1px solid var(--stg-field-line); border-radius: var(--cr-control-radius);
|
|
25966
|
+
color: var(--stg-text); background-color: var(--stg-control);
|
|
25967
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1.2 4.4 4 1.6l2.8 2.8M1.2 7.6 4 10.4l2.8-2.8' fill='none' stroke='%23a1a1a6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
25968
|
+
background-repeat: no-repeat; background-position: right 7px center; background-size: 7px 10px;
|
|
25969
|
+
font-family: var(--stg-font); font-size: var(--fs-xs); line-height: calc(20px * var(--font-scale, 1));
|
|
25970
|
+
}
|
|
25971
|
+
.cr-sort { max-width: 144px; }
|
|
25972
|
+
.cr-sort option, select.cr-form-input option { color: inherit; }
|
|
25973
|
+
.cr-filter-bar { display: flex; align-items: center; gap: 8px; padding: 0 22px 8px; flex-shrink: 0; }
|
|
25974
|
+
.cr-filters {
|
|
25975
|
+
display: flex; flex: 1; min-width: 0; gap: 2px; overflow-x: auto; padding: 4px;
|
|
25976
|
+
scrollbar-width: thin; scrollbar-color: var(--b-hover) transparent;
|
|
25977
|
+
}
|
|
25978
|
+
.cr-filter {
|
|
25979
|
+
display: inline-flex; align-items: center; gap: 6px; min-height: var(--cr-control-height); max-width: 240px;
|
|
25980
|
+
padding: 2px 8px; flex-shrink: 0; border: 0; border-radius: var(--cr-control-radius);
|
|
25981
|
+
font-family: var(--stg-font); font-size: var(--fs-xs); line-height: 1.35;
|
|
25982
|
+
color: var(--stg-help); background: transparent; cursor: pointer; white-space: nowrap;
|
|
25983
|
+
}
|
|
25984
|
+
.cr-filter > span:not(.cr-cat-dot, .cr-filter-count) { overflow: hidden; text-overflow: ellipsis; }
|
|
25985
|
+
.cr-filter:hover { color: var(--stg-text); background: var(--stg-control); }
|
|
25986
|
+
.cr-filter.active { color: var(--stg-text); background: var(--stg-control-hover); }
|
|
25987
|
+
.cr-filter-count { color: var(--stg-help); font-variant-numeric: tabular-nums; }
|
|
25988
|
+
.cr-new-group { color: var(--stg-link); background: transparent; border-color: transparent; padding-inline: 4px; font-weight: 400; }
|
|
25989
|
+
.cr-new-group:hover:not(:disabled) { color: var(--accent-blue); background: transparent; }
|
|
25990
|
+
.cr-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 22px 28px; scrollbar-gutter: stable; }
|
|
25991
|
+
.cr-category { min-width: 0; background: var(--stg-group); border: 1px solid var(--stg-line); border-radius: var(--cr-group-radius); }
|
|
25992
|
+
.cr-category + .cr-category { margin-top: 8px; }
|
|
25993
|
+
.cr-cat-header { display: flex; align-items: center; gap: 8px; padding: 7px 12px 7px var(--stg-row-x); }
|
|
25994
|
+
.cr-cat-toggle {
|
|
25995
|
+
display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; min-height: var(--cr-control-height);
|
|
25996
|
+
padding: 0; border: 0; border-radius: var(--cr-control-radius);
|
|
25997
|
+
background: transparent; color: var(--stg-text); text-align: start; font-family: var(--stg-font); cursor: pointer;
|
|
25998
|
+
}
|
|
25999
|
+
.cr-cat-toggle:hover { color: var(--stg-body); }
|
|
26000
|
+
.cr-cat-chevron { display: flex; color: var(--stg-help); transform: rotate(90deg); transition: transform 150ms ease; }
|
|
26001
|
+
.cr-cat-chevron svg { width: 10px; height: 10px; }
|
|
26002
|
+
.cr-category.collapsed .cr-cat-chevron { transform: rotate(0deg); }
|
|
26003
|
+
.cr-cat-dot { width: 6px; height: 6px; border-radius: var(--r-circle); flex-shrink: 0; }
|
|
26004
|
+
.cr-cat-name { min-width: 0; overflow-wrap: anywhere; font-size: var(--fs-sm); font-weight: 600; line-height: 1.35; }
|
|
26005
|
+
.cr-cat-count { color: var(--stg-help); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
|
|
26006
|
+
.cr-cat-actions, .cr-cmd-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
|
|
26007
|
+
.cr-cat-body { padding: 0 var(--stg-row-x); border-top: 1px solid var(--stg-sep); }
|
|
26008
|
+
.cr-cat-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 0; color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26009
|
+
.cr-cmd { display: flex; align-items: center; gap: 16px; min-width: 0; padding: 12px 0; }
|
|
26010
|
+
.cr-cmd + .cr-cmd { border-top: 1px solid var(--stg-sep); }
|
|
26011
|
+
.cr-cmd-content { flex: 1; min-width: 0; }
|
|
26012
|
+
.cr-cmd-name { margin: 0; overflow-wrap: anywhere; font-size: var(--fs-sm); font-weight: 400; line-height: 1.4; color: var(--stg-text); }
|
|
26013
|
+
.cr-code { display: flex; align-items: baseline; gap: 6px; margin: 4px 0; }
|
|
26014
|
+
.cr-prompt { color: var(--stg-help); font-family: var(--stg-mono); font-size: var(--fs-xs); user-select: none; }
|
|
26015
|
+
.cr-cmd-text { min-width: 0; font-family: var(--stg-mono); font-size: var(--fs-xs); line-height: 1.5; color: var(--stg-body); white-space: pre-wrap; overflow-wrap: anywhere; unicode-bidi: plaintext; }
|
|
26016
|
+
.cr-cmd-cwd { display: flex; align-items: flex-start; min-width: 0; gap: 6px; color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26017
|
+
.cr-cmd-cwd svg { flex-shrink: 0; margin-top: 2px; width: 12px; height: 12px; }
|
|
26018
|
+
.cr-cmd-cwd span { min-width: 0; overflow-wrap: anywhere; }
|
|
26019
|
+
.cr-run-btn { min-width: 58px; margin-inline-start: 4px; }
|
|
26020
|
+
.cr-run-btn.sent { color: var(--stg-ok); }
|
|
26021
|
+
.cr-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 8px 22px; border-top: 1px solid var(--stg-line); color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; flex-shrink: 0; }
|
|
26022
|
+
#cr-results { min-width: 0; overflow-wrap: anywhere; }
|
|
26023
|
+
.cr-footer-hint { display: inline-flex; align-items: center; gap: 6px; }
|
|
26024
|
+
.cr-footer-hint svg { width: 12px; height: 12px; }
|
|
26025
|
+
.cr-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100%; padding: 24px 8px; text-align: center; }
|
|
26026
|
+
.cr-empty-icon { display: grid; place-items: center; width: 32px; height: 32px; color: var(--stg-help); margin-bottom: 12px; }
|
|
26027
|
+
.cr-empty-icon svg { width: 24px; height: 24px; }
|
|
26028
|
+
.cr-empty h3 { color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-base); line-height: 1.3; font-weight: 600; }
|
|
26029
|
+
.cr-empty p { color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; max-width: 45ch; margin: 8px 0 16px; }
|
|
26030
|
+
.cr-notice { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 8px 22px; color: var(--stg-warn); border-bottom: 1px solid var(--stg-sep); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26031
|
+
.cr-modal-overlay { position: absolute; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; padding: 12px; background: var(--s-panel); backdrop-filter: blur(4px); }
|
|
26032
|
+
.cr-modal-overlay.hidden { display: none; }
|
|
26033
|
+
.cr-modal { width: 480px; max-width: 100%; max-height: 100%; overflow-y: auto; overscroll-behavior: contain; color: var(--stg-text); background: var(--s-panel); border: 1px solid var(--fw-border); border-radius: var(--fw-radius); box-shadow: var(--fw-shadow); }
|
|
26034
|
+
.cr-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 8px 22px; border-bottom: 1px solid var(--stg-line); }
|
|
26035
|
+
.cr-modal-header > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
|
|
26036
|
+
.cr-modal-header h4 { margin: 0; font-family: var(--stg-font); font-size: var(--fs-sm); line-height: 1.4; font-weight: 500; }
|
|
26037
|
+
.cr-modal-header p { margin-top: 2px; color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26038
|
+
.cr-modal-body { padding: 16px 22px; }
|
|
26039
|
+
.cr-modal-footer { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 12px 22px; border-top: 1px solid var(--stg-line); }
|
|
26040
|
+
.cr-form-fields { padding: 0 var(--stg-row-x); border: 1px solid var(--stg-line); border-radius: var(--cr-group-radius); background: var(--stg-group); }
|
|
26041
|
+
.cr-form-row { display: grid; grid-template-columns: minmax(0, 120px) minmax(0, 1fr); align-items: center; gap: 8px 12px; padding: var(--stg-row-y) 0; min-width: 0; }
|
|
26042
|
+
.cr-form-row + .cr-form-row { border-top: 1px solid var(--stg-sep); }
|
|
26043
|
+
.cr-form-label { color: var(--stg-text); font-size: var(--fs-sm); font-weight: 400; line-height: 1.4; overflow-wrap: anywhere; }
|
|
26044
|
+
.cr-form-row--command { align-items: start; }
|
|
26045
|
+
.cr-form-hint { display: block; color: var(--stg-help); font-size: var(--fs-xs); font-weight: 400; }
|
|
26046
|
+
.cr-form-input { width: 100%; min-width: 0; min-height: var(--cr-control-height); height: var(--cr-control-height); padding: 0 8px; border: 1px solid var(--stg-field-line); border-radius: var(--cr-control-radius); background: var(--stg-field-bg); color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-xs); line-height: calc(20px * var(--font-scale, 1)); color-scheme: dark; }
|
|
26047
|
+
.cr-form-input::placeholder { color: var(--stg-help); }
|
|
26048
|
+
.cr-form-input[aria-invalid="true"] { border-color: var(--stg-err); }
|
|
26049
|
+
.cr-form-mono { font-family: var(--stg-mono); }
|
|
26050
|
+
textarea.cr-form-input { resize: vertical; min-height: 80px; height: auto; padding: 8px; line-height: 1.5; }
|
|
26051
|
+
.cr-form-help { margin-top: 4px; color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26052
|
+
.cr-form-error { margin: 0 22px 12px; color: var(--stg-err); font-size: var(--fs-xs); line-height: 1.45; }
|
|
26053
|
+
.cr-delete-name { font-size: var(--fs-sm); line-height: 1.4; overflow-wrap: anywhere; font-weight: 400; }
|
|
26054
|
+
.cr-danger:hover:not(:disabled) { color: var(--stg-err); }
|
|
26055
|
+
.cr-color-field { border: 0; padding: 0; margin-top: 16px; }
|
|
26056
|
+
.cr-color-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); gap: 4px; margin-top: 8px; }
|
|
26057
|
+
.cr-color-swatch { display: grid; place-items: center; width: 44px; height: 44px; background: transparent; border: 2px solid transparent; border-radius: var(--cr-control-radius); cursor: pointer; position: relative; }
|
|
26058
|
+
.cr-color-swatch::before { content: ''; position: absolute; inset: 8px; background: var(--swatch); border-radius: var(--r-circle); }
|
|
26059
|
+
.cr-color-swatch svg { position: relative; visibility: hidden; color: var(--fw-on-accent); stroke-width: 3; }
|
|
26060
|
+
.cr-color-swatch.selected { border-color: var(--stg-text); }
|
|
26061
|
+
.cr-color-swatch.selected svg { visibility: visible; }
|
|
26062
|
+
.cr-color-swatch:hover { background: var(--stg-control-hover); }
|
|
26063
|
+
.cr-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
|
|
26064
|
+
.command-runner-panel [hidden] { display: none !important; }
|
|
26065
|
+
.command-runner-panel :is(button, select):disabled { opacity: .45; cursor: default; }
|
|
26066
|
+
@container cr (max-width: 480px) {
|
|
26067
|
+
.cr-library-head { padding: 16px 14px 12px; gap: 8px; }
|
|
26068
|
+
.cr-library-head > div { flex-basis: 150px; }
|
|
26069
|
+
.cr-toolbar, .cr-filter-bar { padding-inline: 14px; }
|
|
26070
|
+
.cr-toolbar { flex-wrap: wrap; }
|
|
26071
|
+
.cr-search-wrap { flex-basis: 100%; }
|
|
26072
|
+
.cr-sort { margin-inline-start: auto; }
|
|
26073
|
+
.cr-search-wrap kbd { display: none; }
|
|
26074
|
+
.cr-body { padding: 4px 14px 22px; }
|
|
26075
|
+
.cr-footer, .cr-notice { padding-inline: 14px; }
|
|
26076
|
+
.cr-footer-hint { display: none; }
|
|
26077
|
+
.cr-filter { max-width: 180px; }
|
|
26078
|
+
.cr-cmd { flex-direction: column; align-items: stretch; gap: 8px; }
|
|
26079
|
+
.cr-cmd-actions { justify-content: flex-end; }
|
|
26080
|
+
.cr-modal-header, .cr-modal-body, .cr-modal-footer { padding-inline: 14px; }
|
|
26081
|
+
.cr-form-error { margin-inline: 14px; }
|
|
26082
|
+
.cr-form-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
|
|
26083
|
+
}
|
|
26084
|
+
/* Keep the native desktop scale; touch controls need room for a fingertip. */
|
|
26085
|
+
@media (pointer: coarse) {
|
|
26086
|
+
.command-runner-panel :is(.cr-button, .cr-run-btn, .cr-icon-btn, .cr-filter, .cr-cat-toggle, .cr-sort, .cr-form-input) { min-height: 44px; }
|
|
26087
|
+
.command-runner-panel .cr-icon-btn { width: 44px; }
|
|
26088
|
+
.command-runner-panel .cr-search-wrap { height: 44px; }
|
|
26089
|
+
.command-runner-panel .cr-search-wrap > svg { display: none; }
|
|
26090
|
+
.command-runner-panel .cr-cat-header { flex-wrap: wrap; }
|
|
26091
|
+
.command-runner-panel .cr-cat-toggle { flex-basis: 100%; }
|
|
26092
|
+
.command-runner-panel .cr-cat-actions { margin-inline-start: auto; }
|
|
26093
|
+
}
|
|
26094
|
+
/* Short windows and zoomed layouts scroll the whole library rather than clip controls. */
|
|
26095
|
+
@media (max-height: 560px) {
|
|
26096
|
+
.command-runner-panel .cr-main { overflow-y: auto; overscroll-behavior: contain; }
|
|
26097
|
+
.command-runner-panel .cr-body { flex: 1 0 auto; overflow-y: visible; }
|
|
25754
26098
|
}
|
|
25755
|
-
|
|
25756
|
-
|
|
25757
|
-
|
|
26099
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26100
|
+
body :is(.settings-panel, .skills-studio-panel, .automation-studio-panel,
|
|
26101
|
+
.schedules-studio-panel, .session-monitor-panel, .command-runner-panel,
|
|
26102
|
+
.image-gallery-panel, .detail-card, .tw, .term-float-tab, .sp-sidepanel.sp-floating) {
|
|
26103
|
+
transition: none !important;
|
|
26104
|
+
}
|
|
26105
|
+
.command-runner-panel *, .command-runner-panel *::before { transition: none !important; animation: none !important; }
|
|
25758
26106
|
}
|
|
25759
26107
|
|
|
25760
|
-
|
|
25761
26108
|
/* ═══════════════════════════════════════════
|
|
25762
26109
|
SKINS — Settings tab skin grid
|
|
25763
26110
|
═══════════════════════════════════════════ */
|
|
@@ -27618,154 +27965,216 @@
|
|
|
27618
27965
|
|
|
27619
27966
|
|
|
27620
27967
|
/* ═══════════════════════════════════════════
|
|
27621
|
-
STYLE GUIDE
|
|
27968
|
+
STYLE GUIDE — Settings editor shell and controls; project specimens stay independent
|
|
27622
27969
|
═══════════════════════════════════════════ */
|
|
27623
27970
|
.styleguide-panel {
|
|
27624
27971
|
position: fixed; z-index: 300000; width: 1180px; max-width: calc(100vw - 16px); min-width: min(480px, calc(100vw - 16px));
|
|
27625
|
-
height: 720px; max-height: calc(
|
|
27626
|
-
display: flex; flex-direction: column; overflow: hidden; container-type: inline-size;
|
|
27627
|
-
|
|
27628
|
-
|
|
27629
|
-
--sg-
|
|
27630
|
-
|
|
27972
|
+
height: 720px; max-height: calc(100dvh - 32px); min-height: min(380px, calc(100dvh - 32px));
|
|
27973
|
+
display: flex; flex-direction: column; overflow: hidden; container-type: inline-size; container-name: sg;
|
|
27974
|
+
color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-sm); line-height: 1.45; color-scheme: dark;
|
|
27975
|
+
--sg-control-radius: var(--radius-control, 5px);
|
|
27976
|
+
--sg-group-radius: var(--radius-group, 9px);
|
|
27977
|
+
--sg-control-height: calc(22px * var(--font-scale, 1));
|
|
27978
|
+
opacity: 0; transform: scale(.98); transition: opacity 150ms ease, transform 150ms ease;
|
|
27979
|
+
}
|
|
27980
|
+
body .styleguide-panel {
|
|
27981
|
+
--fw-focus: var(--stg-focus);
|
|
27982
|
+
/* Keep required secondary content readable over the configurable glass. */
|
|
27983
|
+
--stg-help: var(--t-primary);
|
|
27984
|
+
--sg-help: var(--stg-help);
|
|
27631
27985
|
}
|
|
27632
27986
|
.styleguide-panel.open { opacity: 1; transform: none; }
|
|
27987
|
+
.styleguide-panel.dragging { transition: none; }
|
|
27633
27988
|
.styleguide-panel [hidden] { display: none !important; }
|
|
27634
27989
|
.styleguide-panel * { box-sizing: border-box; }
|
|
27635
|
-
.styleguide-panel .sg-header {
|
|
27636
|
-
.styleguide-panel .sg-header
|
|
27637
|
-
.styleguide-panel .sg-
|
|
27638
|
-
.styleguide-panel
|
|
27639
|
-
.styleguide-panel .sg-status {
|
|
27640
|
-
.styleguide-panel .sg-status[data-state="
|
|
27641
|
-
.styleguide-panel .sg-status[data-state="error"], .styleguide-panel .sg-validation { color: var(--accent-orange); }
|
|
27990
|
+
.styleguide-panel .sg-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; user-select: none; }
|
|
27991
|
+
.styleguide-panel .sg-header-context { min-width: 0; gap: 6px 10px; }
|
|
27992
|
+
.styleguide-panel .sg-header-actions { gap: 6px; justify-content: flex-end; }
|
|
27993
|
+
.styleguide-panel .sg-header h2 { font-family: var(--stg-font); font-size: var(--fs-sm); font-weight: 500; line-height: 1.35; margin: 0; }
|
|
27994
|
+
.styleguide-panel .sg-status { padding: 0; border: 0; background: none; border-radius: 0; font-size: var(--fs-xs); color: var(--stg-help); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
|
|
27995
|
+
.styleguide-panel .sg-status[data-state="error"], .styleguide-panel .sg-error, .styleguide-panel .sg-validation { color: var(--stg-err); }
|
|
27642
27996
|
.styleguide-panel .sg-shell { display: flex; flex: 1; min-height: 0; overflow: hidden; }
|
|
27643
|
-
.styleguide-panel .sg-rail { width: 208px; flex-shrink: 0; padding:
|
|
27644
|
-
.styleguide-panel .sg-btn {
|
|
27645
|
-
|
|
27646
|
-
|
|
27647
|
-
|
|
27648
|
-
|
|
27649
|
-
|
|
27650
|
-
.styleguide-panel .sg-
|
|
27651
|
-
.styleguide-panel
|
|
27652
|
-
.styleguide-panel
|
|
27653
|
-
.styleguide-panel .sg-
|
|
27654
|
-
.styleguide-panel .sg-
|
|
27997
|
+
.styleguide-panel .sg-rail { width: 208px; flex-shrink: 0; padding: 8px 10px 14px; border-inline-end: 1px solid var(--stg-line); overflow-y: auto; overscroll-behavior: contain; background: var(--stg-field-bg); }
|
|
27998
|
+
.styleguide-panel .sg-btn {
|
|
27999
|
+
display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: var(--sg-control-height); max-width: 100%; padding: 2px 10px;
|
|
28000
|
+
border: 1px solid var(--stg-field-line); border-radius: var(--sg-control-radius); box-shadow: none;
|
|
28001
|
+
background: var(--stg-control); color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-xs); font-weight: 500; line-height: 1.2;
|
|
28002
|
+
cursor: pointer; white-space: normal; overflow-wrap: anywhere; transition: background-color 150ms ease, color 150ms ease;
|
|
28003
|
+
}
|
|
28004
|
+
.styleguide-panel .sg-btn:hover:not(:disabled) { background: var(--stg-control-hover); }
|
|
28005
|
+
.styleguide-panel :is(button,input,select,textarea):disabled { opacity: .45; cursor: default; }
|
|
28006
|
+
.styleguide-panel :is(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--stg-focus); outline-offset: 2px; }
|
|
28007
|
+
.styleguide-panel .sg-close { min-width: var(--fw-header-control-size); min-height: var(--fw-header-control-size); padding: 0; border: 0; background: transparent; color: var(--stg-help); font-size: var(--fs-lg); }
|
|
28008
|
+
.styleguide-panel .sg-rail-button { width: 100%; min-height: 33px; padding: 3px 10px 3px 7px; gap: 10px; justify-content: flex-start; margin-bottom: 2px; border: 0; border-radius: var(--r-card); background: transparent; font-size: var(--fs-sm); font-weight: 400; text-align: start; }
|
|
28009
|
+
.styleguide-panel .sg-rail-button:hover:not(:disabled) { background: var(--s-light); }
|
|
28010
|
+
.styleguide-panel .sg-rail-button.active, .styleguide-panel .sg-rail-button.active:hover { background: color-mix(in srgb, var(--stg-accent-fill) 85%, transparent); color: var(--stg-text); }
|
|
28011
|
+
.styleguide-panel .sg-rail-icon { width: 26px; flex-shrink: 0; font-size: 16px; text-align: center; }
|
|
28012
|
+
.styleguide-panel .sg-rail-label { min-width: 0; line-height: 1.3; overflow-wrap: anywhere; }
|
|
28013
|
+
.styleguide-panel .sg-body { flex: 1; min-width: 0; overflow: auto; overscroll-behavior: contain; padding: 20px 22px 28px; scrollbar-gutter: stable; }
|
|
28014
|
+
.styleguide-panel .sg-page-title { font-family: var(--stg-font); font-size: calc(20px * var(--font-scale, 1)); line-height: 1.25; font-weight: 600; margin: 0 0 2px; overflow-wrap: anywhere; }
|
|
28015
|
+
.styleguide-panel .sg-purpose { color: var(--stg-help); font-size: var(--fs-xs); line-height: 1.45; margin: 2px 0 6px; max-width: 72ch; overflow-wrap: anywhere; }
|
|
28016
|
+
.styleguide-panel .sg-page-purpose { font-size: calc(12.5px * var(--font-scale, 1)); margin-bottom: 20px; }
|
|
27655
28017
|
.styleguide-panel .sg-fields { padding: 0; margin: 0; border: 0; min-width: 0; }
|
|
27656
|
-
.styleguide-panel .sg-content { display: flex; flex-direction: column; gap:
|
|
27657
|
-
.styleguide-panel .sg-card { padding:
|
|
27658
|
-
.styleguide-panel .sg-card h3 { font-family: var(--
|
|
27659
|
-
.styleguide-panel h4 { font-size:
|
|
27660
|
-
.styleguide-panel .sg-
|
|
28018
|
+
.styleguide-panel .sg-content { display: flex; flex-direction: column; gap: 18px; }
|
|
28019
|
+
.styleguide-panel .sg-card { padding: 0; border: 0; border-radius: 0; background: none; min-width: 0; }
|
|
28020
|
+
.styleguide-panel .sg-card > h3 { font-family: var(--stg-font); font-size: var(--fs-sm); line-height: 1.35; margin: 0; font-weight: 600; overflow-wrap: anywhere; }
|
|
28021
|
+
.styleguide-panel h4 { font-family: var(--stg-font); font-size: var(--fs-sm); line-height: 1.35; color: var(--stg-text); margin: 0 0 6px; font-weight: 600; overflow-wrap: anywhere; }
|
|
28022
|
+
.styleguide-panel .sg-card-body { padding: 0 var(--stg-row-x); border: 1px solid var(--stg-line); border-radius: var(--sg-group-radius); background: var(--stg-group); min-width: 0; }
|
|
28023
|
+
.styleguide-panel .sg-card-body > :is(.sg-field,.sg-grid,.sg-row,.sg-stack,.sg-list,.sg-map,.sg-table-wrap,.sg-inline-set,.sg-written) { margin: 0; padding-block: var(--stg-row-y); }
|
|
28024
|
+
.styleguide-panel .sg-card-body > :is(.sg-field,.sg-grid,.sg-row,.sg-stack,.sg-list,.sg-map,.sg-table-wrap,.sg-inline-set,.sg-written)
|
|
28025
|
+
+ :is(.sg-field,.sg-grid,.sg-row,.sg-stack,.sg-list,.sg-map,.sg-table-wrap,.sg-inline-set,.sg-written) { border-top: 1px solid var(--stg-sep); }
|
|
28026
|
+
.styleguide-panel .sg-card-body > .sg-btn { margin-block: 8px; }
|
|
28027
|
+
.styleguide-panel .sg-card-body > .sg-hint { margin-block: 8px; }
|
|
28028
|
+
.styleguide-panel .sg-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 8px 16px; align-items: start; min-width: 0; }
|
|
28029
|
+
.styleguide-panel .sg-card-body > .sg-grid { grid-template-columns: 1fr; }
|
|
28030
|
+
.styleguide-panel .sg-card-body > .sg-grid:has(> :is(.sg-font-card,.sg-logo-tile,.sg-preset)) { grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); }
|
|
27661
28031
|
.styleguide-panel .sg-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
|
|
27662
|
-
.styleguide-panel .sg-row > .sg-field { flex: 1; min-width:
|
|
28032
|
+
.styleguide-panel .sg-row > .sg-field { flex: 1 1 160px; min-width: 0; }
|
|
27663
28033
|
.styleguide-panel .sg-row > .sg-grid { flex: 1; }
|
|
27664
|
-
.styleguide-panel .sg-stack { display: flex; flex-direction: column; gap:
|
|
27665
|
-
.styleguide-panel .sg-
|
|
27666
|
-
.styleguide-panel .sg-
|
|
27667
|
-
.styleguide-panel .sg-
|
|
27668
|
-
.styleguide-panel
|
|
27669
|
-
.styleguide-panel .sg-
|
|
27670
|
-
.styleguide-panel .sg-
|
|
27671
|
-
.styleguide-panel .sg-
|
|
27672
|
-
.styleguide-panel .sg-
|
|
27673
|
-
.styleguide-panel .sg-
|
|
27674
|
-
.styleguide-panel .sg-
|
|
27675
|
-
.styleguide-panel .sg-
|
|
28034
|
+
.styleguide-panel .sg-stack { display: flex; flex-direction: column; gap: 0; min-width: 0; }
|
|
28035
|
+
.styleguide-panel .sg-stack > .sg-row { padding-block: 8px; }
|
|
28036
|
+
.styleguide-panel .sg-stack > .sg-row + .sg-row { border-top: 1px solid var(--stg-sep); }
|
|
28037
|
+
.styleguide-panel .sg-field { display: grid; grid-template-columns: minmax(100px,30%) minmax(0,1fr); align-items: center; gap: 4px 12px; min-width: 0; font-size: var(--fs-sm); color: var(--stg-text); margin: 0; }
|
|
28038
|
+
.styleguide-panel .sg-field:has(textarea) { align-items: start; }
|
|
28039
|
+
.styleguide-panel .sg-label { font-size: var(--fs-sm); line-height: 1.4; font-weight: 400; color: var(--stg-text); overflow-wrap: anywhere; }
|
|
28040
|
+
.styleguide-panel .sg-field > :is(.sg-input,.sg-input-line,.sg-hint,.sg-validation) { grid-column: 2; }
|
|
28041
|
+
.styleguide-panel .sg-input { width: 100%; min-width: 0; min-height: var(--sg-control-height); height: var(--sg-control-height); padding: 0 8px; background: var(--stg-field-bg); border: 1px solid var(--stg-field-line); border-radius: var(--sg-control-radius); color: var(--stg-text); font-family: var(--stg-font); font-size: var(--fs-xs); line-height: 1.35; }
|
|
28042
|
+
.styleguide-panel .sg-input::placeholder { color: var(--stg-help); }
|
|
28043
|
+
.styleguide-panel .sg-input[aria-invalid="true"] { border-color: var(--stg-err); }
|
|
28044
|
+
.styleguide-panel .sg-input[type="number"] { width: 72px; max-width: 100%; font-family: var(--stg-mono); }
|
|
28045
|
+
.styleguide-panel textarea.sg-input { min-height: 80px; height: auto; padding: 8px; resize: vertical; line-height: 1.5; }
|
|
28046
|
+
.styleguide-panel :is(select.sg-input,.sg-project-select) {
|
|
28047
|
+
appearance: none; -webkit-appearance: none; min-height: var(--sg-control-height); height: var(--sg-control-height); padding: 0 22px 0 8px;
|
|
28048
|
+
border: 1px solid var(--stg-field-line); border-radius: var(--sg-control-radius); background-color: var(--stg-control); color: var(--stg-text);
|
|
28049
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1.2 4.4 4 1.6l2.8 2.8M1.2 7.6 4 10.4l2.8-2.8' fill='none' stroke='%23a1a1a6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
28050
|
+
background-repeat: no-repeat; background-position: right 7px center; background-size: 7px 10px;
|
|
28051
|
+
font-family: var(--stg-font); font-size: var(--fs-xs); line-height: 1.35; cursor: pointer; color-scheme: dark;
|
|
28052
|
+
}
|
|
28053
|
+
.styleguide-panel .sg-project-select { min-width: 110px; max-width: 210px; flex: 0 1 180px; }
|
|
28054
|
+
.styleguide-panel select option { background: var(--s-panel); color: var(--stg-text); }
|
|
28055
|
+
.styleguide-panel :is(select.sg-input,.sg-project-select):dir(rtl) { padding: 0 8px 0 22px; background-position: left 7px center; }
|
|
28056
|
+
.styleguide-panel .sg-field > input[type="file"] { grid-column: 2; }
|
|
28057
|
+
.styleguide-panel input[type="file"] { width: 100%; min-width: 0; min-height: var(--sg-control-height); height: auto; padding: 0; border: 0; background: transparent; font-family: var(--stg-font); font-size: var(--fs-xs); color: var(--stg-help); }
|
|
28058
|
+
.styleguide-panel input[type="file"]::file-selector-button { min-height: var(--sg-control-height); margin-inline-end: 8px; padding: 2px 10px; border: 1px solid var(--stg-field-line); border-radius: var(--sg-control-radius); background: var(--stg-control); color: var(--stg-text); font: inherit; cursor: pointer; }
|
|
28059
|
+
.styleguide-panel input[type="file"]::file-selector-button:hover { background: var(--stg-control-hover); }
|
|
28060
|
+
.styleguide-panel .sg-toggle { display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: var(--sg-control-height); cursor: pointer; }
|
|
28061
|
+
.styleguide-panel .sg-toggle input[type="checkbox"] { appearance: auto; width: 14px; min-width: 14px; min-height: 14px; height: 14px; padding: 0; margin: 0; flex-shrink: 0; accent-color: var(--stg-accent-fill); }
|
|
28062
|
+
.styleguide-panel .sg-hint, .styleguide-panel .sg-validation { font-size: var(--fs-xs); line-height: 1.45; overflow-wrap: anywhere; }
|
|
28063
|
+
.styleguide-panel .sg-hint { color: var(--stg-help); }
|
|
28064
|
+
.styleguide-panel .sg-list { display: flex; flex-direction: column; gap: 8px; margin-block: 8px; min-width: 0; }
|
|
28065
|
+
.styleguide-panel .sg-list-items { gap: 0; }
|
|
28066
|
+
.styleguide-panel .sg-list-item > .sg-field { flex: 1 1 260px; margin: 0; }
|
|
28067
|
+
.styleguide-panel .sg-hide-label > .sg-label, .styleguide-panel .sg-table .sg-field > .sg-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
28068
|
+
.styleguide-panel :is(.sg-hide-label,.sg-table .sg-field) { grid-template-columns: minmax(0,1fr); }
|
|
28069
|
+
.styleguide-panel :is(.sg-hide-label,.sg-table .sg-field) > :is(.sg-input,.sg-input-line,.sg-hint,.sg-validation) { grid-column: 1; }
|
|
28070
|
+
.styleguide-panel .sg-add-btn { align-self: flex-start; color: var(--stg-link); background: transparent; border-color: transparent; font-weight: 400; padding-inline: 4px; }
|
|
28071
|
+
.styleguide-panel .sg-add-btn:hover:not(:disabled) { color: var(--accent-blue); background: transparent; }
|
|
28072
|
+
.styleguide-panel .sg-chip-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
|
|
28073
|
+
.styleguide-panel .sg-chip-item { flex-wrap: nowrap; gap: 2px; padding: 2px; border: 1px solid var(--stg-line); border-radius: var(--sg-control-radius); background: var(--stg-control); max-width: 100%; }
|
|
28074
|
+
.styleguide-panel .sg-chip-item > .sg-field { flex: 1 1 auto; min-width: 0; margin: 0; }
|
|
28075
|
+
.styleguide-panel .sg-chip-item .sg-input { width: 12ch; max-width: 100%; padding: 0 6px; border-color: transparent; background: transparent; }
|
|
28076
|
+
.styleguide-panel .sg-icon-btn, .styleguide-panel .sg-eyedropper { min-width: var(--sg-control-height); padding: 0 4px; border-color: transparent; background: transparent; font-size: var(--fs-lg); line-height: 1; }
|
|
28077
|
+
.styleguide-panel .sg-map { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(280px,100%),1fr)); gap: 8px 16px; align-items: end; min-width: 0; margin-block: 8px; }
|
|
28078
|
+
.styleguide-panel .sg-map > .sg-row { flex-wrap: nowrap; align-items: center; }
|
|
28079
|
+
.styleguide-panel .sg-map > .sg-row > .sg-field { flex: 1 1 0; min-width: 0; margin: 0; }
|
|
28080
|
+
.styleguide-panel .sg-map > .sg-row:last-child { grid-column: 1 / -1; max-width: 460px; }
|
|
28081
|
+
.styleguide-panel .sg-map-wide { grid-template-columns: repeat(auto-fill,minmax(min(560px,100%),1fr)); }
|
|
28082
|
+
.styleguide-panel .sg-map-wide > .sg-row { flex-wrap: wrap; }
|
|
28083
|
+
.styleguide-panel .sg-map-wide > .sg-row > .sg-field { flex: 1 1 180px; }
|
|
28084
|
+
.styleguide-panel .sg-map > .sg-row > .sg-row { flex: 1 1 200px; flex-wrap: nowrap; }
|
|
28085
|
+
.styleguide-panel .sg-map > .sg-row > .sg-row > .sg-field { flex: 1; min-width: 0; margin: 0; }
|
|
27676
28086
|
.styleguide-panel .sg-color-field { display: flex; gap: 8px; align-items: center; min-width: 0; }
|
|
27677
|
-
.styleguide-panel .sg-color-field .sg-field { flex: 1; min-width: 0; margin
|
|
28087
|
+
.styleguide-panel .sg-color-field .sg-field { display: flex; flex-direction: column; align-items: stretch; flex: 1; min-width: 0; margin: 0; }
|
|
27678
28088
|
.styleguide-panel .sg-swatch { width: 32px; height: 36px; padding: 0; border: 1px solid var(--b-light); border-radius: var(--r-small); background: transparent; cursor: pointer; flex-shrink: 0; }
|
|
27679
|
-
.styleguide-panel .sg-
|
|
27680
|
-
.styleguide-panel .sg-scale { display: grid; grid-template-columns: repeat(11,minmax(58px,1fr)); gap: 4px; overflow-x: auto; padding-bottom: 4px; }
|
|
28089
|
+
.styleguide-panel .sg-scale { display: grid; grid-template-columns: repeat(11,minmax(58px,1fr)); gap: 4px; overflow-x: auto; padding: 4px 2px; }
|
|
27681
28090
|
.styleguide-panel .sg-scale .sg-color-field { flex-direction: column; align-items: stretch; gap: 4px; }
|
|
27682
28091
|
.styleguide-panel .sg-scale .sg-swatch { width: 100%; height: 40px; }
|
|
27683
|
-
.styleguide-panel .sg-scale .sg-input { padding:
|
|
27684
|
-
.styleguide-panel .sg-scale .sg-label { text-align: center; font-size:
|
|
27685
|
-
.styleguide-panel .sg-
|
|
27686
|
-
.styleguide-panel .sg-
|
|
27687
|
-
.styleguide-panel .sg-
|
|
27688
|
-
.styleguide-panel .sg-
|
|
27689
|
-
.styleguide-panel .sg-
|
|
27690
|
-
.styleguide-panel .sg-
|
|
28092
|
+
.styleguide-panel .sg-scale .sg-input { padding: 0 2px; text-align: center; font-family: var(--stg-mono); }
|
|
28093
|
+
.styleguide-panel .sg-scale .sg-label { text-align: center; font-size: var(--fs-xs); }
|
|
28094
|
+
.styleguide-panel :is(.sg-palette,.sg-font-card,.sg-component-card,.sg-logo-tile,.sg-preset,.sg-proposal) { padding: 8px 0; border: 0; border-radius: 0; background: none; min-width: 0; }
|
|
28095
|
+
.styleguide-panel :is(.sg-palette,.sg-component-card,.sg-proposal) + :is(.sg-palette,.sg-component-card,.sg-proposal) { border-top: 1px solid var(--stg-sep); }
|
|
28096
|
+
.styleguide-panel .sg-palette { display: flex; flex-direction: column; gap: 8px; }
|
|
28097
|
+
.styleguide-panel :is(.sg-font-card,.sg-component-card,.sg-logo-tile) > :is(.sg-field,.sg-grid,.sg-list,.sg-row) { padding-block: 8px; }
|
|
28098
|
+
.styleguide-panel :is(.sg-font-card,.sg-component-card,.sg-logo-tile) > :is(.sg-field,.sg-grid,.sg-list,.sg-row) + :is(.sg-field,.sg-grid,.sg-list,.sg-row) { border-top: 1px solid var(--stg-sep); }
|
|
28099
|
+
.styleguide-panel .sg-component-card > .sg-grid { grid-template-columns: 1fr; }
|
|
28100
|
+
.styleguide-panel .sg-table-wrap { overflow: auto; max-width: 100%; margin-block: 8px; padding: 2px; }
|
|
28101
|
+
.styleguide-panel .sg-table { border-collapse: collapse; width: 100%; font-size: var(--fs-xs); text-align: start; }
|
|
28102
|
+
.styleguide-panel .sg-table :is(th,td) { padding: 8px; border-bottom: 1px solid var(--stg-sep); vertical-align: top; min-width: 100px; overflow-wrap: anywhere; }
|
|
28103
|
+
.styleguide-panel .sg-table th { font-weight: 500; color: var(--stg-help); text-align: start; }
|
|
27691
28104
|
.styleguide-panel .sg-table .sg-input { min-width: 100px; }
|
|
28105
|
+
.styleguide-panel .sg-table .sg-field { margin: 0; }
|
|
27692
28106
|
.styleguide-panel .sg-type-table .sg-input { min-width: 75px; }
|
|
28107
|
+
.styleguide-panel .sg-type-table td:last-child .sg-input { min-width: 160px; }
|
|
27693
28108
|
.styleguide-panel .sg-contrast-matrix td { min-width: 128px; }
|
|
27694
28109
|
.styleguide-panel [data-pass="true"] { background: var(--accent-blue-bg); }
|
|
27695
28110
|
.styleguide-panel [data-pass="false"] { border-bottom: 2px solid var(--accent-orange); }
|
|
27696
28111
|
.styleguide-panel .sg-ratio { white-space: nowrap; font-variant-numeric: tabular-nums; }
|
|
27697
|
-
.styleguide-panel .sg-chip { display: inline-block; padding:
|
|
28112
|
+
.styleguide-panel .sg-chip { display: inline-block; padding: 0; border: 0; border-radius: 0; background: none; font-size: var(--fs-xs); margin: 0; color: var(--stg-help); }
|
|
28113
|
+
.styleguide-panel .sg-header-actions .sg-chip { color: inherit; font-variant-numeric: tabular-nums; }
|
|
28114
|
+
.styleguide-panel .sg-proposal > .sg-row > strong, .styleguide-panel .sg-written code, .styleguide-panel [data-card="history"] .sg-stack > .sg-row > span { flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
|
|
28115
|
+
.styleguide-panel .sg-code { font-family: var(--stg-mono); font-size: var(--fs-xs); line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; padding: 8px; border: 1px solid var(--stg-field-line); border-radius: var(--sg-control-radius); background: var(--stg-field-bg); margin-block: 8px; max-height: 420px; overflow: auto; }
|
|
28116
|
+
.styleguide-panel .sg-written { margin-top: 8px; }
|
|
28117
|
+
.styleguide-panel .sg-written code { font-family: var(--stg-mono); font-size: var(--fs-xs); }
|
|
28118
|
+
.styleguide-panel .sg-error { padding: 8px 22px; font-size: var(--fs-xs); flex-shrink: 0; overflow-wrap: anywhere; }
|
|
28119
|
+
.styleguide-panel > .sg-btn { align-self: flex-start; margin: 0 22px 8px; }
|
|
28120
|
+
.styleguide-panel .sg-empty { padding: 32px 0; color: var(--stg-help); font-size: var(--fs-sm); }
|
|
28121
|
+
.styleguide-panel .sg-input-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
|
|
28122
|
+
.styleguide-panel .sg-input-line > .sg-input { flex: 1; }
|
|
28123
|
+
.styleguide-panel .sg-alias-swatch { width: 22px; height: 22px; flex-shrink: 0; border-radius: var(--r-small); border: 1px solid var(--b-light); }
|
|
28124
|
+
.styleguide-panel .sg-alias-swatch.sg-unresolved { background: repeating-linear-gradient(45deg,transparent 0 4px,var(--b-light) 4px 6px) !important; }
|
|
28125
|
+
.styleguide-panel .sg-inline-set { display: flex; flex-wrap: wrap; gap: 4px 20px; border: 0; padding: 0; margin: 0 0 8px; }
|
|
28126
|
+
.styleguide-panel .sg-inline-set > legend { padding: 0; margin-bottom: 6px; }
|
|
28127
|
+
.styleguide-panel [data-card="proposals"] .sg-card-body > .sg-row > .sg-field { flex: 0 1 260px; }
|
|
28128
|
+
/* The selected guide owns sample colors, fonts, radii, shadows, logos and iframe output. */
|
|
27698
28129
|
.styleguide-panel .sg-radius-sample { width: 44px; height: 44px; flex-shrink: 0; background: var(--accent-blue-bg); border: 1px solid var(--accent-blue); }
|
|
27699
28130
|
.styleguide-panel .sg-shadow-sample { width: 90px; height: 60px; display: grid; place-items: center; border-radius: var(--r-card); background: var(--s-medium); font-size: 12px; }
|
|
27700
|
-
.styleguide-panel .sg-motion-track { width: 130px; height: 32px; border: 1px solid var(--b-light); border-radius: var(--r-small); padding: 4px; }
|
|
28131
|
+
.styleguide-panel .sg-motion-track { width: 130px; height: 32px; border: 1px solid var(--b-light); border-radius: var(--r-small); padding: 4px; flex-shrink: 0; }
|
|
27701
28132
|
.styleguide-panel .sg-motion-dot { display: block; width: 22px; height: 22px; border-radius: var(--r-circle); background: var(--accent-blue); }
|
|
27702
|
-
.styleguide-panel .sg-font-
|
|
27703
|
-
.styleguide-panel .sg-
|
|
27704
|
-
.styleguide-panel .sg-style-specimen { overflow-wrap: anywhere; padding: 12px 0; max-width: 760px; }
|
|
28133
|
+
.styleguide-panel .sg-font-specimen { font-size: 20px; font-weight: 400; line-height: 1.5; color: var(--t-bright); padding: 16px; background: var(--s-subtle); border-radius: var(--r-card); }
|
|
28134
|
+
.styleguide-panel .sg-style-specimen { color: var(--t-bright); overflow-wrap: anywhere; padding: 12px 0; max-width: 760px; }
|
|
27705
28135
|
.styleguide-panel .sg-logo-preview { height: 120px; display: flex; justify-content: center; align-items: center; border-radius: var(--r-card); margin-bottom: 12px; }
|
|
27706
28136
|
.styleguide-panel .sg-logo-preview img { max-width: 80%; max-height: 90px; }
|
|
27707
28137
|
.styleguide-panel .sg-preset-swatch { width: 32px; height: 28px; border-radius: var(--r-small); border: 1px solid var(--b-light); }
|
|
27708
|
-
.styleguide-panel .sg-
|
|
27709
|
-
.styleguide-panel .sg-written code { font-size: 12px; overflow-wrap: anywhere; }
|
|
27710
|
-
.styleguide-panel .sg-error { padding: 10px 16px; color: var(--accent-orange); font-size: 12px; flex-shrink: 0; overflow-wrap: anywhere; }
|
|
27711
|
-
.styleguide-panel .sg-empty { padding: 48px 16px; color: var(--sg-help); font-size: 14px; }
|
|
28138
|
+
.styleguide-panel .sg-gradient-sample { width: 96px; height: 36px; flex-shrink: 0; border-radius: var(--r-small); border: 1px solid var(--b-light); }
|
|
27712
28139
|
.styleguide-panel .sg-preview-stage { overflow-x: auto; max-width: 100%; padding: 16px; background: var(--s-subtle); border-radius: var(--r-card); }
|
|
27713
|
-
.styleguide-panel .sg-preview-frame { display: block; height: 470px; min-width: 375px; margin-inline: auto; border: 1px solid var(--b-light); border-radius: var(--r-card); background: var(--s-panel); }
|
|
28140
|
+
.styleguide-panel .sg-preview-frame { display: block; height: clamp(470px,62vh,900px); min-width: 375px; margin-inline: auto; border: 1px solid var(--b-light); border-radius: var(--r-card); background: var(--s-panel); }
|
|
27714
28141
|
.styleguide-panel .sg-markdown { margin-top: 12px; font-size: 14px; overflow-wrap: anywhere; }
|
|
27715
28142
|
.styleguide-panel .sg-markdown h1 { font-size: 24px; }
|
|
27716
28143
|
.styleguide-panel .sg-markdown h2 { font-size: 20px; }
|
|
27717
28144
|
.styleguide-panel .sg-markdown h3 { font-size: 18px; }
|
|
27718
28145
|
.styleguide-panel .sg-markdown :is(h4,h5,h6) { font-size: 14px; }
|
|
27719
|
-
|
|
27720
|
-
.styleguide-panel {
|
|
27721
|
-
.styleguide-panel .sg-
|
|
27722
|
-
.styleguide-panel .sg-add-btn { align-self: flex-start; }
|
|
27723
|
-
.styleguide-panel .sg-list-items { gap: 8px; }
|
|
27724
|
-
.styleguide-panel .sg-list-item > .sg-field { flex: 1 1 260px; margin-bottom: 0; }
|
|
27725
|
-
.styleguide-panel .sg-chips .sg-row { padding: 0; border: 0; }
|
|
27726
|
-
.styleguide-panel .sg-chip-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
|
|
27727
|
-
.styleguide-panel .sg-chip-item { flex-wrap: nowrap; gap: 2px; padding: 2px; border: 1px solid var(--b-light); border-radius: var(--r-button); background: var(--s-subtle); }
|
|
27728
|
-
.styleguide-panel .sg-chip-item > .sg-field { flex: 0 0 auto; margin: 0; }
|
|
27729
|
-
.styleguide-panel .sg-chip-item .sg-input { width: 12ch; min-height: 30px; padding: 4px 8px; border-color: transparent; background: transparent; }
|
|
27730
|
-
.styleguide-panel .sg-icon-btn { min-height: 30px; min-width: 30px; padding: 0 8px; font-size: 16px; line-height: 1; border-color: transparent; background: transparent; }
|
|
27731
|
-
.styleguide-panel .sg-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 8px 16px; align-items: end; }
|
|
27732
|
-
.styleguide-panel .sg-map > .sg-row { flex-wrap: nowrap; align-items: flex-end; }
|
|
27733
|
-
.styleguide-panel .sg-map > .sg-row > .sg-field { flex: 1 1 0; min-width: 0; margin-bottom: 0; }
|
|
27734
|
-
.styleguide-panel .sg-map > .sg-row:last-child { grid-column: 1 / -1; max-width: 460px; }
|
|
27735
|
-
.styleguide-panel .sg-map-wide { grid-template-columns: repeat(auto-fill, minmax(min(560px, 100%), 1fr)); }
|
|
27736
|
-
.styleguide-panel .sg-map-wide > .sg-row { flex-wrap: wrap; }
|
|
27737
|
-
.styleguide-panel .sg-map-wide > .sg-row > .sg-field { flex: 1 1 140px; }
|
|
27738
|
-
.styleguide-panel .sg-map > .sg-row > .sg-row { flex: 1 1 200px; flex-wrap: nowrap; }
|
|
27739
|
-
.styleguide-panel .sg-map > .sg-row > .sg-row > .sg-field { flex: 1; min-width: 0; margin: 0; }
|
|
27740
|
-
.styleguide-panel .sg-toggle { display: flex; }
|
|
27741
|
-
.styleguide-panel .sg-btn { white-space: nowrap; }
|
|
27742
|
-
.styleguide-panel .sg-motion-track { flex-shrink: 0; }
|
|
27743
|
-
.styleguide-panel .sg-input-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
|
|
27744
|
-
.styleguide-panel .sg-input-line > .sg-input { flex: 1; }
|
|
27745
|
-
.styleguide-panel .sg-alias-swatch { width: 22px; height: 22px; flex-shrink: 0; border-radius: var(--r-small); border: 1px solid var(--b-light); }
|
|
27746
|
-
.styleguide-panel .sg-alias-swatch.sg-unresolved { background: repeating-linear-gradient(45deg, transparent 0 4px, var(--b-light) 4px 6px) !important; }
|
|
27747
|
-
.styleguide-panel .sg-gradient-sample { width: 96px; height: 36px; flex-shrink: 0; border-radius: var(--r-small); border: 1px solid var(--b-light); }
|
|
27748
|
-
.styleguide-panel .sg-inline-set { display: flex; flex-wrap: wrap; gap: 4px 20px; border: 0; padding: 0; margin: 0 0 12px; }
|
|
27749
|
-
.styleguide-panel .sg-inline-set > legend { padding: 0; margin-bottom: 6px; }
|
|
27750
|
-
.styleguide-panel .sg-table .sg-field { min-width: 0; }
|
|
27751
|
-
.styleguide-panel .sg-type-table td:last-child .sg-input { min-width: 160px; }
|
|
27752
|
-
.styleguide-panel .sg-written { margin-top: 12px; }
|
|
27753
|
-
.styleguide-panel [data-card="proposals"] > .sg-row > .sg-field { flex: 0 1 260px; }
|
|
27754
|
-
.styleguide-panel .sg-preview-frame { height: clamp(470px, 62vh, 900px); }
|
|
27755
|
-
@container (max-width: 899px) {
|
|
27756
|
-
.styleguide-panel .sg-rail { width: 58px; padding: 12px 4px; }
|
|
27757
|
-
.styleguide-panel .sg-rail-button { padding: 8px; justify-content: center; }
|
|
28146
|
+
@container sg (max-width: 899px) {
|
|
28147
|
+
.styleguide-panel .sg-rail { width: 58px; padding: 8px 4px; }
|
|
28148
|
+
.styleguide-panel .sg-rail-button { padding: 3px 4px; justify-content: center; }
|
|
27758
28149
|
.styleguide-panel .sg-rail-label { display: none; }
|
|
27759
|
-
.styleguide-panel .sg-header {
|
|
27760
|
-
.styleguide-panel .sg-
|
|
27761
|
-
}
|
|
27762
|
-
|
|
27763
|
-
|
|
27764
|
-
.styleguide-panel .sg-
|
|
27765
|
-
.styleguide-panel .sg-
|
|
27766
|
-
.styleguide-panel .sg-
|
|
27767
|
-
.styleguide-panel .sg-
|
|
27768
|
-
.styleguide-panel .sg-
|
|
28150
|
+
.styleguide-panel .sg-header { grid-template-columns: minmax(0,1fr) auto; }
|
|
28151
|
+
.styleguide-panel .sg-header-actions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
|
|
28152
|
+
.styleguide-panel .sg-close { grid-column: 2; grid-row: 1; align-self: start; }
|
|
28153
|
+
}
|
|
28154
|
+
@container sg (max-width: 560px) {
|
|
28155
|
+
.styleguide-panel .sg-body { padding: 16px 14px 22px; }
|
|
28156
|
+
.styleguide-panel .sg-grid, .styleguide-panel .sg-card-body > .sg-grid:has(> :is(.sg-font-card,.sg-logo-tile,.sg-preset)) { grid-template-columns: 1fr; }
|
|
28157
|
+
.styleguide-panel .sg-field { grid-template-columns: minmax(0,1fr); }
|
|
28158
|
+
.styleguide-panel .sg-field > :is(.sg-input,.sg-input-line,.sg-hint,.sg-validation,input[type="file"]) { grid-column: 1; }
|
|
28159
|
+
.styleguide-panel .sg-color-field .sg-field { display: flex; }
|
|
28160
|
+
.styleguide-panel .sg-project-select { max-width: 160px; }
|
|
28161
|
+
.styleguide-panel .sg-header-context { gap: 6px; }
|
|
28162
|
+
.styleguide-panel .sg-status { flex-basis: 100%; }
|
|
28163
|
+
.styleguide-panel .sg-header-actions { gap: 6px; }
|
|
28164
|
+
.styleguide-panel .sg-error { padding-inline: 14px; }
|
|
28165
|
+
.styleguide-panel > .sg-btn { margin-inline: 14px; }
|
|
28166
|
+
}
|
|
28167
|
+
@media (pointer: coarse) {
|
|
28168
|
+
.styleguide-panel { --sg-control-height: max(44px,calc(22px * var(--font-scale,1))); }
|
|
28169
|
+
.styleguide-panel :is(.sg-btn,.sg-rail-button,.sg-toggle) { min-height: 44px; }
|
|
28170
|
+
.styleguide-panel :is(.sg-close,.sg-icon-btn,.sg-eyedropper) { min-width: 44px; }
|
|
28171
|
+
.styleguide-panel .sg-swatch { min-width: 44px; min-height: 44px; }
|
|
28172
|
+
}
|
|
28173
|
+
@media (max-height: 560px) {
|
|
28174
|
+
.styleguide-panel { overflow-y: auto; }
|
|
28175
|
+
.styleguide-panel .sg-shell { flex: none; min-height: 320px; overflow: visible; }
|
|
28176
|
+
.styleguide-panel .sg-body { overflow: visible; }
|
|
28177
|
+
.styleguide-panel .sg-rail { align-self: stretch; overflow: visible; }
|
|
27769
28178
|
}
|
|
27770
28179
|
|
|
27771
28180
|
/* ═══════════════════════════════════════════════════════════════════════════
|