openclacky 1.3.6 → 1.3.8
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -0
- data/lib/clacky/agent/hook_manager.rb +10 -1
- data/lib/clacky/agent/system_prompt_builder.rb +1 -1
- data/lib/clacky/agent.rb +17 -3
- data/lib/clacky/agent_profile.rb +124 -53
- data/lib/clacky/billing/billing_store.rb +3 -2
- data/lib/clacky/brand_config.rb +309 -6
- data/lib/clacky/cli.rb +4 -57
- data/lib/clacky/default_extensions/coding/agents/coding/avatar.png +0 -0
- data/lib/clacky/default_extensions/coding/ext.yml +19 -0
- data/lib/clacky/default_extensions/ext-studio/agents/ext-developer/avatar.png +0 -0
- data/lib/clacky/default_extensions/ext-studio/agents/ext-developer/system_prompt.md +95 -0
- data/lib/clacky/default_extensions/ext-studio/api/handler.rb +254 -0
- data/lib/clacky/default_extensions/ext-studio/ext.yml +33 -0
- data/lib/clacky/default_extensions/ext-studio/panels/studio/view.js +1288 -0
- data/lib/clacky/default_extensions/ext-studio/skills/ext-debug/SKILL.md +71 -0
- data/lib/clacky/default_extensions/ext-studio/skills/ext-publish/SKILL.md +74 -0
- data/lib/clacky/default_extensions/ext-studio/skills/ext-scaffold/SKILL.md +65 -0
- data/lib/clacky/default_extensions/general/agents/general/avatar.png +0 -0
- data/lib/clacky/default_extensions/general/ext.yml +19 -0
- data/lib/clacky/default_extensions/git/ext.yml +12 -0
- data/lib/clacky/{default_agents/_panels/git/panel.js → default_extensions/git/panels/git/view.js} +4 -5
- data/lib/clacky/default_extensions/meeting/{handler.rb → api/handler.rb} +78 -26
- data/lib/clacky/default_extensions/meeting/ext.yml +15 -0
- data/lib/clacky/default_extensions/meeting/{meeting.js → panels/meeting/view.js} +266 -90
- data/lib/clacky/default_extensions/meeting/skills/meeting-summarizer/SKILL.md +2 -1
- data/lib/clacky/default_extensions/time_machine/ext.yml +12 -0
- data/lib/clacky/{default_agents/_panels/time_machine/panel.js → default_extensions/time_machine/panels/time_machine/view.js} +58 -47
- data/lib/clacky/default_skills/channel-manager/discord_setup.rb +1 -1
- data/lib/clacky/default_skills/extend-openclacky/SKILL.md +83 -18
- data/lib/clacky/{api_extension.rb → extension/api_extension.rb} +27 -11
- data/lib/clacky/extension/api_loader.rb +136 -0
- data/lib/clacky/extension/cli_commands.rb +226 -0
- data/lib/clacky/{server/api_extension_dispatcher.rb → extension/dispatcher.rb} +22 -9
- data/lib/clacky/extension/hook_loader.rb +77 -0
- data/lib/clacky/extension/loader.rb +489 -0
- data/lib/clacky/extension/packager.rb +226 -0
- data/lib/clacky/{patch_loader.rb → extension/patch_loader.rb} +45 -0
- data/lib/clacky/extension/scaffold/template_renderer.rb +64 -0
- data/lib/clacky/extension/scaffold/templates/full/README.md.erb +48 -0
- data/lib/clacky/extension/scaffold/templates/full/agents/designer.md +5 -0
- data/lib/clacky/extension/scaffold/templates/full/api/handler.rb.erb +16 -0
- data/lib/clacky/extension/scaffold/templates/full/channels/noop.rb.erb +40 -0
- data/lib/clacky/extension/scaffold/templates/full/ext.yml.erb +41 -0
- data/lib/clacky/extension/scaffold/templates/full/hooks/audit.rb +9 -0
- data/lib/clacky/extension/scaffold/templates/full/panels/dashboard/view.js.erb +194 -0
- data/lib/clacky/extension/scaffold/templates/full/patches/audit.rb +15 -0
- data/lib/clacky/extension/scaffold/templates/full/skills/__slug__-skill/SKILL.md.erb +8 -0
- data/lib/clacky/extension/scaffold/templates/hello/api/handler.rb.erb +9 -0
- data/lib/clacky/extension/scaffold/templates/hello/ext.yml.erb +12 -0
- data/lib/clacky/extension/scaffold/templates/hello/panels/hello/view.js.erb +31 -0
- data/lib/clacky/extension/scaffold.rb +55 -0
- data/lib/clacky/extension/verifier.rb +196 -0
- data/lib/clacky/identity.rb +70 -0
- data/lib/clacky/locales/en.rb +19 -1
- data/lib/clacky/locales/zh.rb +19 -1
- data/lib/clacky/platform_http_client.rb +18 -15
- data/lib/clacky/server/channel/extension_adapter_loader.rb +32 -0
- data/lib/clacky/server/channel.rb +6 -0
- data/lib/clacky/server/http_server.rb +439 -146
- data/lib/clacky/server/session_registry.rb +9 -2
- data/lib/clacky/shell_hook_loader.rb +266 -22
- data/lib/clacky/skill_loader.rb +28 -1
- data/lib/clacky/ui2/components/welcome_banner.rb +1 -1
- data/lib/clacky/ui2/ui_controller.rb +9 -6
- data/lib/clacky/utils/workspace_rules.rb +2 -2
- data/lib/clacky/version.rb +1 -1
- data/lib/clacky/web/app.css +1034 -675
- data/lib/clacky/web/app.js +63 -15
- data/lib/clacky/web/auth.js +2 -0
- data/lib/clacky/web/components/notify.js +2 -0
- data/lib/clacky/web/components/sidebar.js +1 -5
- data/lib/clacky/web/core/ext.js +432 -89
- data/lib/clacky/web/features/backup/store.js +1 -0
- data/lib/clacky/web/features/backup/view.js +0 -1
- data/lib/clacky/web/features/brand/view.js +13 -5
- data/lib/clacky/web/features/extensions/store.js +184 -0
- data/lib/clacky/web/features/extensions/view.js +390 -0
- data/lib/clacky/web/features/new-session/store.js +199 -0
- data/lib/clacky/web/features/new-session/view.js +619 -0
- data/lib/clacky/web/features/share/view.js +63 -14
- data/lib/clacky/web/features/skills/store.js +3 -1
- data/lib/clacky/web/features/skills/view.js +1 -1
- data/lib/clacky/web/features/tasks/view.js +12 -0
- data/lib/clacky/web/features/trash/store.js +24 -6
- data/lib/clacky/web/features/trash/view.js +48 -12
- data/lib/clacky/web/features/workspace/store.js +2 -0
- data/lib/clacky/web/features/workspace/view.js +0 -1
- data/lib/clacky/web/i18n.js +152 -106
- data/lib/clacky/web/index.html +172 -190
- data/lib/clacky/web/sessions.js +67 -272
- data/lib/clacky/web/settings.js +1 -1
- data/lib/clacky/web/skills.js +88 -48
- data/lib/clacky/web/theme.js +5 -0
- data/lib/clacky/web/ws-dispatcher.js +12 -2
- data/lib/clacky/web/ws.js +2 -0
- data/lib/clacky.rb +21 -10
- metadata +52 -21
- data/benchmark/runner.rb +0 -441
- data/lib/clacky/api_extension_loader.rb +0 -168
- data/lib/clacky/default_agents/SOUL.md +0 -3
- data/lib/clacky/default_agents/USER.md +0 -1
- data/lib/clacky/default_agents/coding/profile.yml +0 -5
- data/lib/clacky/default_agents/coding/webui/.gitkeep +0 -0
- data/lib/clacky/default_agents/general/profile.yml +0 -2
- data/lib/clacky/default_extensions/meeting/meta.yml +0 -3
- data/lib/clacky/web/features/creator/store.js +0 -81
- data/lib/clacky/web/features/creator/view.js +0 -380
- /data/lib/clacky/{default_agents → default_extensions/coding/agents}/coding/system_prompt.md +0 -0
- /data/lib/clacky/{default_agents → default_extensions/general/agents}/general/system_prompt.md +0 -0
- /data/lib/clacky/{default_agents/base_prompt.md → prompts/base.md} +0 -0
data/lib/clacky/web/app.css
CHANGED
|
@@ -221,6 +221,7 @@ html { font-size: 16px; }
|
|
|
221
221
|
100% { background-position: -200% 0; }
|
|
222
222
|
}
|
|
223
223
|
.skel {
|
|
224
|
+
display: inline-block;
|
|
224
225
|
border-radius: 6px;
|
|
225
226
|
background: linear-gradient(90deg,
|
|
226
227
|
#e8e8e8 25%,
|
|
@@ -607,6 +608,21 @@ body {
|
|
|
607
608
|
}
|
|
608
609
|
#session-list { padding: 4px 0 0; min-height: 6.75rem; }
|
|
609
610
|
|
|
611
|
+
/* ── Extension nav slots (top / mid / bottom) ───────────────────────────── */
|
|
612
|
+
[id^="ext-slot-sidebar-nav"] { display: block; }
|
|
613
|
+
[id^="ext-slot-sidebar-nav"]:empty { display: none; }
|
|
614
|
+
#ext-slot-sidebar-nav-top {
|
|
615
|
+
padding: 8px 0 10px;
|
|
616
|
+
margin-bottom: 6px;
|
|
617
|
+
border-bottom: 1px solid var(--color-border-secondary);
|
|
618
|
+
}
|
|
619
|
+
#ext-slot-sidebar-nav { padding: 6px 0 4px; }
|
|
620
|
+
#ext-slot-sidebar-nav-bottom {
|
|
621
|
+
padding: 8px 0 10px;
|
|
622
|
+
margin-top: 6px;
|
|
623
|
+
border-top: 1px solid var(--color-border-secondary);
|
|
624
|
+
}
|
|
625
|
+
|
|
610
626
|
/* ── Sidebar divider (Section Labels) ───────────────────────────────────── */
|
|
611
627
|
.sidebar-divider {
|
|
612
628
|
display: flex;
|
|
@@ -645,19 +661,12 @@ body {
|
|
|
645
661
|
gap: 4px;
|
|
646
662
|
}
|
|
647
663
|
|
|
648
|
-
/* ──
|
|
649
|
-
.btn-split-wrap {
|
|
650
|
-
position: relative;
|
|
651
|
-
display: flex;
|
|
652
|
-
align-items: center;
|
|
653
|
-
border-radius: 6px;
|
|
654
|
-
overflow: visible;
|
|
655
|
-
}
|
|
664
|
+
/* ── New Session button ──────────────────────────────────────────────────── */
|
|
656
665
|
.btn-split-main {
|
|
657
666
|
height: 1.5rem;
|
|
658
667
|
padding: 0 0.625rem;
|
|
659
668
|
border: none;
|
|
660
|
-
border-radius: 6px
|
|
669
|
+
border-radius: 6px;
|
|
661
670
|
background: var(--color-accent-primary);
|
|
662
671
|
color: #fff;
|
|
663
672
|
font-size: 0.75rem;
|
|
@@ -671,51 +680,6 @@ body {
|
|
|
671
680
|
background: var(--color-button-primary-hover);
|
|
672
681
|
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
|
|
673
682
|
}
|
|
674
|
-
.btn-split-arrow {
|
|
675
|
-
height: 1.5rem;
|
|
676
|
-
padding: 0 0.35rem;
|
|
677
|
-
border: none;
|
|
678
|
-
border-left: 1px solid rgba(255,255,255,0.3);
|
|
679
|
-
border-radius: 0 6px 6px 0;
|
|
680
|
-
background: var(--color-accent-primary);
|
|
681
|
-
color: #fff;
|
|
682
|
-
font-size: 0.75rem;
|
|
683
|
-
cursor: pointer;
|
|
684
|
-
transition: background 0.15s;
|
|
685
|
-
}
|
|
686
|
-
.btn-split-arrow:hover {
|
|
687
|
-
background: var(--color-button-primary-hover);
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
/* ── Dropdown menu ───────────────────────────────────────────────────────── */
|
|
691
|
-
.new-session-dropdown {
|
|
692
|
-
position: absolute;
|
|
693
|
-
top: 100%;
|
|
694
|
-
right: 0;
|
|
695
|
-
min-width: 11.25rem;
|
|
696
|
-
background: var(--color-bg-card);
|
|
697
|
-
border: 1px solid var(--color-border-primary);
|
|
698
|
-
border-radius: 7px;
|
|
699
|
-
box-shadow: var(--shadow-md);
|
|
700
|
-
z-index: 200;
|
|
701
|
-
padding: 0.375rem 0 0.25rem;
|
|
702
|
-
overflow: hidden;
|
|
703
|
-
}
|
|
704
|
-
.new-session-dropdown[hidden] { display: none; }
|
|
705
|
-
.dropdown-item {
|
|
706
|
-
padding: 0.4rem 0.875rem;
|
|
707
|
-
font-size: 0.8125rem;
|
|
708
|
-
color: var(--color-text-secondary);
|
|
709
|
-
cursor: pointer;
|
|
710
|
-
white-space: nowrap;
|
|
711
|
-
transition: all 0.12s;
|
|
712
|
-
display: flex;
|
|
713
|
-
align-items: center;
|
|
714
|
-
}
|
|
715
|
-
.dropdown-item:hover {
|
|
716
|
-
background: var(--color-bg-hover);
|
|
717
|
-
color: var(--color-accent-primary);
|
|
718
|
-
}
|
|
719
683
|
|
|
720
684
|
/* ── Session source badge ────────────────────────────────────────────────── */
|
|
721
685
|
/* Design: compact neutral chips — the visual weight is carried by the
|
|
@@ -769,6 +733,21 @@ body {
|
|
|
769
733
|
.session-item.active .session-badge--coding {
|
|
770
734
|
color: var(--color-text-tertiary);
|
|
771
735
|
}
|
|
736
|
+
/* Agent profile: extension / custom agents — same hollow neutral base as
|
|
737
|
+
coding, but a subtle accent tint keeps user-defined agents visually
|
|
738
|
+
distinct from the built-in "coding" tag. */
|
|
739
|
+
.session-badge--agent {
|
|
740
|
+
background: transparent;
|
|
741
|
+
color: var(--color-accent-primary);
|
|
742
|
+
border-color: var(--color-accent-soft);
|
|
743
|
+
max-width: 8rem;
|
|
744
|
+
overflow: hidden;
|
|
745
|
+
text-overflow: ellipsis;
|
|
746
|
+
white-space: nowrap;
|
|
747
|
+
}
|
|
748
|
+
.session-item.active .session-badge--agent {
|
|
749
|
+
border-color: var(--color-accent-primary);
|
|
750
|
+
}
|
|
772
751
|
|
|
773
752
|
|
|
774
753
|
/* ── Sidebar divider actions group ───────────────────────────────────────── */
|
|
@@ -1516,6 +1495,23 @@ body {
|
|
|
1516
1495
|
background: var(--color-accent-primary);
|
|
1517
1496
|
}
|
|
1518
1497
|
|
|
1498
|
+
/* Extension nav mounts are wrapped by ext.js; the Router stamps .active on the
|
|
1499
|
+
wrapper, so the highlight is forwarded to the inner nav item. */
|
|
1500
|
+
[data-ext-workspace].active > .task-item {
|
|
1501
|
+
background: var(--color-accent-soft);
|
|
1502
|
+
}
|
|
1503
|
+
[data-ext-workspace].active > .task-item::before {
|
|
1504
|
+
content: "";
|
|
1505
|
+
position: absolute;
|
|
1506
|
+
left: -10px;
|
|
1507
|
+
top: 50%;
|
|
1508
|
+
transform: translateY(-50%);
|
|
1509
|
+
width: 3px;
|
|
1510
|
+
height: 17px;
|
|
1511
|
+
border-radius: 0 3px 3px 0;
|
|
1512
|
+
background: var(--color-accent-primary);
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1519
1515
|
.task-row {
|
|
1520
1516
|
display: flex;
|
|
1521
1517
|
align-items: center;
|
|
@@ -1839,6 +1835,14 @@ body {
|
|
|
1839
1835
|
background: var(--color-bg-secondary);
|
|
1840
1836
|
transition: background-color var(--transition-base);
|
|
1841
1837
|
}
|
|
1838
|
+
|
|
1839
|
+
/* Extension workspace slot: give any registered workspace the same page
|
|
1840
|
+
chrome as built-in pages (padding + scroll) so extensions don't reinvent it. */
|
|
1841
|
+
#ext-slot-main-workspace {
|
|
1842
|
+
flex: 1;
|
|
1843
|
+
overflow-y: auto;
|
|
1844
|
+
padding: 2rem 2rem 1.5rem;
|
|
1845
|
+
}
|
|
1842
1846
|
.centered {
|
|
1843
1847
|
flex: 1;
|
|
1844
1848
|
display: flex;
|
|
@@ -1849,143 +1853,439 @@ body {
|
|
|
1849
1853
|
color: var(--color-text-secondary);
|
|
1850
1854
|
}
|
|
1851
1855
|
|
|
1852
|
-
/* ──
|
|
1853
|
-
.
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1856
|
+
/* ── New Session landing page (#new) ─────────────────────────────────────── */
|
|
1857
|
+
.new-session-page {
|
|
1858
|
+
justify-content: flex-start;
|
|
1859
|
+
padding: 0;
|
|
1860
|
+
overflow: hidden;
|
|
1861
|
+
gap: 0;
|
|
1862
|
+
}
|
|
1863
|
+
.new-session-inner {
|
|
1864
|
+
width: 100%;
|
|
1865
|
+
height: 100%;
|
|
1866
|
+
display: flex;
|
|
1867
|
+
flex-direction: column;
|
|
1868
|
+
gap: 0;
|
|
1860
1869
|
}
|
|
1861
|
-
.
|
|
1862
|
-
|
|
1870
|
+
.new-session-body {
|
|
1871
|
+
flex: 1 1 auto;
|
|
1872
|
+
overflow-y: auto;
|
|
1863
1873
|
display: flex;
|
|
1864
1874
|
flex-direction: column;
|
|
1865
|
-
gap:
|
|
1866
|
-
|
|
1875
|
+
gap: 1.25rem;
|
|
1876
|
+
width: 100%;
|
|
1877
|
+
max-width: 60rem;
|
|
1878
|
+
margin: 0 auto;
|
|
1879
|
+
padding: 5.5rem 1.5rem 1rem;
|
|
1880
|
+
}
|
|
1881
|
+
.new-session-composer {
|
|
1882
|
+
position: relative;
|
|
1883
|
+
flex: none;
|
|
1884
|
+
padding: 0.75rem 1.5rem 1.25rem;
|
|
1867
1885
|
}
|
|
1868
|
-
.
|
|
1869
|
-
font-size: 1.
|
|
1886
|
+
.new-session-title {
|
|
1887
|
+
font-size: 1.5rem;
|
|
1870
1888
|
font-weight: 680;
|
|
1871
1889
|
color: var(--color-text-primary);
|
|
1872
1890
|
letter-spacing: -0.01em;
|
|
1873
|
-
text-align:
|
|
1891
|
+
text-align: left;
|
|
1892
|
+
margin: 0;
|
|
1874
1893
|
}
|
|
1875
|
-
.
|
|
1894
|
+
.new-session-subtitle {
|
|
1876
1895
|
color: var(--color-text-tertiary);
|
|
1877
|
-
font-size: 0.
|
|
1878
|
-
text-align:
|
|
1896
|
+
font-size: 0.875rem;
|
|
1897
|
+
text-align: left;
|
|
1898
|
+
margin: 0;
|
|
1899
|
+
}
|
|
1900
|
+
.new-session-agents {
|
|
1901
|
+
display: grid;
|
|
1902
|
+
grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
|
|
1903
|
+
grid-auto-rows: 1fr;
|
|
1904
|
+
gap: 0.75rem;
|
|
1879
1905
|
}
|
|
1880
|
-
.
|
|
1906
|
+
.new-session-agent-panels {
|
|
1881
1907
|
display: flex;
|
|
1882
|
-
gap: 0.625rem;
|
|
1883
1908
|
flex-wrap: wrap;
|
|
1884
|
-
|
|
1885
|
-
|
|
1909
|
+
align-items: center;
|
|
1910
|
+
gap: 0.375rem;
|
|
1911
|
+
margin-top: -0.625rem;
|
|
1912
|
+
padding-left: 0.125rem;
|
|
1886
1913
|
}
|
|
1887
|
-
.
|
|
1888
|
-
|
|
1914
|
+
.ns-panels-label {
|
|
1915
|
+
width: 100%;
|
|
1916
|
+
font-size: 0.75rem;
|
|
1917
|
+
color: var(--color-text-tertiary);
|
|
1918
|
+
margin-bottom: 0.0625rem;
|
|
1919
|
+
}
|
|
1920
|
+
.ns-panel-chip {
|
|
1921
|
+
display: inline-flex;
|
|
1889
1922
|
align-items: center;
|
|
1890
|
-
|
|
1891
|
-
|
|
1923
|
+
padding: 0.1875rem 0.5rem;
|
|
1924
|
+
border-radius: 0.375rem;
|
|
1925
|
+
font-size: 0.78125rem;
|
|
1926
|
+
font-weight: 500;
|
|
1927
|
+
line-height: 1.3;
|
|
1928
|
+
}
|
|
1929
|
+
.ns-panel-chip--panel {
|
|
1930
|
+
background: var(--color-accent-soft);
|
|
1931
|
+
color: var(--color-accent-primary);
|
|
1932
|
+
}
|
|
1933
|
+
.ns-panel-chip--skill {
|
|
1934
|
+
background: var(--color-bg-secondary);
|
|
1935
|
+
color: var(--color-text-secondary);
|
|
1936
|
+
border: 1px solid var(--color-border-primary);
|
|
1937
|
+
}
|
|
1938
|
+
.agent-card {
|
|
1939
|
+
position: relative;
|
|
1940
|
+
padding: 0.9375rem 1rem;
|
|
1892
1941
|
border: 1px solid var(--color-border-primary);
|
|
1893
|
-
border-radius: 0.
|
|
1942
|
+
border-radius: 0.75rem;
|
|
1894
1943
|
background: var(--color-bg-primary);
|
|
1895
1944
|
cursor: pointer;
|
|
1896
1945
|
text-align: left;
|
|
1897
|
-
transition: border-color 0.14s, transform 0.14s;
|
|
1946
|
+
transition: border-color 0.14s, background-color 0.14s, transform 0.14s;
|
|
1947
|
+
display: flex;
|
|
1948
|
+
flex-direction: column;
|
|
1949
|
+
gap: 0.25rem;
|
|
1898
1950
|
}
|
|
1899
|
-
.
|
|
1900
|
-
border-color: color-mix(in srgb, var(--color-accent-primary)
|
|
1951
|
+
.agent-card:hover {
|
|
1952
|
+
border-color: color-mix(in srgb, var(--color-accent-primary) 40%, var(--color-border-primary));
|
|
1901
1953
|
transform: translateY(-1px);
|
|
1902
1954
|
}
|
|
1903
|
-
.
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
border-radius: 0.5rem;
|
|
1907
|
-
background: var(--color-bg-hover);
|
|
1908
|
-
display: grid;
|
|
1909
|
-
place-items: center;
|
|
1910
|
-
flex-shrink: 0;
|
|
1955
|
+
.agent-card--selected {
|
|
1956
|
+
border-color: var(--color-accent-primary);
|
|
1957
|
+
background: var(--color-accent-soft);
|
|
1911
1958
|
}
|
|
1912
|
-
.
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
border: none;
|
|
1920
|
-
padding: 0.25rem 0.5rem;
|
|
1921
|
-
font-size: 0.8125rem;
|
|
1922
|
-
cursor: pointer;
|
|
1923
|
-
transition: color var(--transition-fast);
|
|
1959
|
+
.agent-card-title {
|
|
1960
|
+
font-size: 0.9375rem;
|
|
1961
|
+
font-weight: 620;
|
|
1962
|
+
color: var(--color-text-primary);
|
|
1963
|
+
display: flex;
|
|
1964
|
+
align-items: center;
|
|
1965
|
+
gap: 0.375rem;
|
|
1924
1966
|
}
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
/* ── Chat panel ──────────────────────────────────────────────────────────── */
|
|
1929
|
-
#chat-panel { flex: 1; display: flex; flex-direction: row; overflow: hidden; position: relative; }
|
|
1930
|
-
#chat-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; position: relative; min-width: 0; }
|
|
1931
|
-
|
|
1932
|
-
/* ── Session extension slots (agent-scoped panels mount here) ───────────────
|
|
1933
|
-
Each slot is laid out by the host; an empty slot collapses to zero so it
|
|
1934
|
-
never reserves space when no panel is mounted for the current agent. */
|
|
1935
|
-
/* ── Session aside — one resizable / collapsible right column with tabs ─────
|
|
1936
|
-
The host owns the chrome (resize handle, collapse button, floating opener);
|
|
1937
|
-
Clacky.ext renders the tab bar + bodies into #ext-slot-session-aside. When
|
|
1938
|
-
the slot has no panels for the current agent it stays empty and the whole
|
|
1939
|
-
column collapses to zero width. */
|
|
1940
|
-
#session-aside {
|
|
1941
|
-
--session-aside-width: 16rem;
|
|
1942
|
-
width: var(--session-aside-width);
|
|
1943
|
-
flex-shrink: 0;
|
|
1944
|
-
position: relative;
|
|
1967
|
+
.agent-card-header {
|
|
1945
1968
|
display: flex;
|
|
1946
|
-
|
|
1969
|
+
align-items: center;
|
|
1970
|
+
gap: 0.625rem;
|
|
1971
|
+
margin-bottom: 0.125rem;
|
|
1972
|
+
}
|
|
1973
|
+
.agent-card-avatar {
|
|
1974
|
+
flex: none;
|
|
1975
|
+
width: 2.25rem;
|
|
1976
|
+
height: 2.25rem;
|
|
1977
|
+
border-radius: 50%;
|
|
1947
1978
|
overflow: hidden;
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1979
|
+
background: var(--color-bg-hover);
|
|
1980
|
+
display: flex;
|
|
1981
|
+
align-items: center;
|
|
1982
|
+
justify-content: center;
|
|
1951
1983
|
}
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
.session-aside-resize {
|
|
1959
|
-
position: absolute;
|
|
1960
|
-
top: 0;
|
|
1961
|
-
left: -6px;
|
|
1962
|
-
bottom: 0;
|
|
1963
|
-
width: 12px;
|
|
1964
|
-
cursor: col-resize;
|
|
1965
|
-
z-index: 10;
|
|
1966
|
-
background: transparent;
|
|
1984
|
+
.agent-card-avatar img {
|
|
1985
|
+
width: 100%;
|
|
1986
|
+
height: 100%;
|
|
1987
|
+
object-fit: cover;
|
|
1988
|
+
display: block;
|
|
1967
1989
|
}
|
|
1968
|
-
.
|
|
1969
|
-
|
|
1990
|
+
.agent-card-avatar--fallback {
|
|
1991
|
+
font-size: 1rem;
|
|
1992
|
+
font-weight: 700;
|
|
1993
|
+
color: var(--color-accent-primary);
|
|
1994
|
+
background: var(--color-accent-soft);
|
|
1995
|
+
}
|
|
1996
|
+
.agent-card-new {
|
|
1997
|
+
font-size: 0.6rem;
|
|
1998
|
+
font-weight: 700;
|
|
1999
|
+
line-height: 1;
|
|
2000
|
+
padding: 2px 5px;
|
|
2001
|
+
border-radius: 4px;
|
|
2002
|
+
background: color-mix(in srgb, #16a34a 18%, transparent);
|
|
2003
|
+
color: #16a34a;
|
|
2004
|
+
letter-spacing: 0.04em;
|
|
2005
|
+
}
|
|
2006
|
+
.agent-card-desc {
|
|
2007
|
+
font-size: 0.78125rem;
|
|
2008
|
+
color: var(--color-text-tertiary);
|
|
2009
|
+
line-height: 1.4;
|
|
2010
|
+
}
|
|
2011
|
+
.agent-card-badge {
|
|
1970
2012
|
position: absolute;
|
|
1971
|
-
top: 0;
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
2013
|
+
top: 0.5rem;
|
|
2014
|
+
right: 0.5rem;
|
|
2015
|
+
font-size: 0.65rem;
|
|
2016
|
+
font-weight: 600;
|
|
2017
|
+
padding: 1px 5px;
|
|
2018
|
+
border-radius: 4px;
|
|
2019
|
+
background: var(--color-bg-hover);
|
|
2020
|
+
color: var(--color-text-secondary);
|
|
2021
|
+
letter-spacing: 0.02em;
|
|
2022
|
+
text-transform: uppercase;
|
|
2023
|
+
}
|
|
2024
|
+
.agent-card-badge--custom {
|
|
2025
|
+
background: color-mix(in srgb, var(--color-accent-primary) 15%, transparent);
|
|
2026
|
+
color: var(--color-accent-primary);
|
|
2027
|
+
}
|
|
2028
|
+
.agent-card-author {
|
|
2029
|
+
margin-top: 0.25rem;
|
|
2030
|
+
font-size: 0.72rem;
|
|
2031
|
+
color: var(--color-text-tertiary);
|
|
2032
|
+
opacity: 0.8;
|
|
1977
2033
|
}
|
|
1978
|
-
.session-aside-resize:hover::after,
|
|
1979
|
-
.session-aside-resize.active::after { background: transparent; }
|
|
1980
2034
|
|
|
1981
|
-
.session-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
2035
|
+
.new-session-input-bar {
|
|
2036
|
+
margin: 0;
|
|
2037
|
+
padding: 10px 12px;
|
|
2038
|
+
border: 1px solid var(--color-border-primary);
|
|
2039
|
+
border-radius: 13px;
|
|
2040
|
+
background: var(--color-bg-primary);
|
|
2041
|
+
display: flex;
|
|
1987
2042
|
align-items: center;
|
|
1988
|
-
|
|
2043
|
+
gap: 8px;
|
|
2044
|
+
box-shadow: var(--shadow-card);
|
|
2045
|
+
transition: border-color .14s;
|
|
2046
|
+
}
|
|
2047
|
+
.new-session-input-bar:focus-within {
|
|
2048
|
+
border-color: color-mix(in srgb, var(--color-accent-primary) 50%, var(--color-border-primary));
|
|
2049
|
+
}
|
|
2050
|
+
.new-session-composer-btn {
|
|
2051
|
+
flex: none;
|
|
2052
|
+
display: grid;
|
|
2053
|
+
place-items: center;
|
|
2054
|
+
width: 32px;
|
|
2055
|
+
height: 32px;
|
|
2056
|
+
padding: 0;
|
|
2057
|
+
border: none;
|
|
2058
|
+
border-radius: 8px;
|
|
2059
|
+
background: transparent;
|
|
2060
|
+
color: var(--color-text-tertiary);
|
|
2061
|
+
cursor: pointer;
|
|
2062
|
+
transition: background .12s, color .12s;
|
|
2063
|
+
}
|
|
2064
|
+
.new-session-composer-btn:hover {
|
|
2065
|
+
color: var(--color-text-primary);
|
|
2066
|
+
background: var(--color-bg-hover);
|
|
2067
|
+
}
|
|
2068
|
+
.new-session-composer-btn.active {
|
|
2069
|
+
color: var(--color-accent-primary);
|
|
2070
|
+
background: var(--color-accent-soft);
|
|
2071
|
+
}
|
|
2072
|
+
.new-session-composer-btn > span {
|
|
2073
|
+
font-size: 0.875rem;
|
|
2074
|
+
font-weight: 400;
|
|
2075
|
+
line-height: 1;
|
|
2076
|
+
}
|
|
2077
|
+
.new-session-textarea {
|
|
2078
|
+
flex: 1;
|
|
2079
|
+
border: none;
|
|
2080
|
+
outline: none;
|
|
2081
|
+
resize: none;
|
|
2082
|
+
background: transparent;
|
|
2083
|
+
color: var(--color-text-primary);
|
|
2084
|
+
font-family: var(--font-sans);
|
|
2085
|
+
font-size: 0.875rem;
|
|
2086
|
+
line-height: 1.55;
|
|
2087
|
+
padding: 4px 6px;
|
|
2088
|
+
margin: 0;
|
|
2089
|
+
max-height: 12.5rem;
|
|
2090
|
+
overflow-y: auto;
|
|
2091
|
+
scrollbar-width: none;
|
|
2092
|
+
}
|
|
2093
|
+
.new-session-textarea::-webkit-scrollbar { display: none; }
|
|
2094
|
+
.new-session-advanced-wrap {
|
|
2095
|
+
display: flex;
|
|
2096
|
+
flex-direction: column;
|
|
2097
|
+
gap: 0.5rem;
|
|
2098
|
+
align-items: flex-start;
|
|
2099
|
+
margin-top: -0.75rem;
|
|
2100
|
+
}
|
|
2101
|
+
.new-session-advanced-toggle {
|
|
2102
|
+
display: inline-flex;
|
|
2103
|
+
align-items: center;
|
|
2104
|
+
gap: 0.375rem;
|
|
2105
|
+
border: none;
|
|
2106
|
+
background: transparent;
|
|
2107
|
+
color: var(--color-text-tertiary);
|
|
2108
|
+
font-size: 0.8125rem;
|
|
2109
|
+
cursor: pointer;
|
|
2110
|
+
padding: 0.25rem 0.5rem;
|
|
2111
|
+
border-radius: 0.375rem;
|
|
2112
|
+
transition: color var(--transition-fast), background-color var(--transition-fast);
|
|
2113
|
+
}
|
|
2114
|
+
.new-session-advanced-toggle:hover {
|
|
2115
|
+
color: var(--color-text-secondary);
|
|
2116
|
+
}
|
|
2117
|
+
.new-session-advanced-caret {
|
|
2118
|
+
transition: transform 0.15s;
|
|
2119
|
+
}
|
|
2120
|
+
.new-session-advanced-toggle.is-open .new-session-advanced-caret {
|
|
2121
|
+
transform: rotate(180deg);
|
|
2122
|
+
}
|
|
2123
|
+
.new-session-send {
|
|
2124
|
+
flex: none;
|
|
2125
|
+
display: grid;
|
|
2126
|
+
place-items: center;
|
|
2127
|
+
width: 34px;
|
|
2128
|
+
height: 34px;
|
|
2129
|
+
border: none;
|
|
2130
|
+
border-radius: 9px;
|
|
2131
|
+
background: var(--color-accent-primary);
|
|
2132
|
+
color: #fff;
|
|
2133
|
+
cursor: pointer;
|
|
2134
|
+
transition: background .12s, opacity .12s;
|
|
2135
|
+
}
|
|
2136
|
+
.new-session-send svg {
|
|
2137
|
+
width: 15px;
|
|
2138
|
+
height: 15px;
|
|
2139
|
+
}
|
|
2140
|
+
.new-session-send:disabled {
|
|
2141
|
+
background: var(--color-border-primary);
|
|
2142
|
+
color: var(--color-text-tertiary);
|
|
2143
|
+
cursor: not-allowed;
|
|
2144
|
+
opacity: 0.6;
|
|
2145
|
+
}
|
|
2146
|
+
.new-session-send:not(:disabled):hover {
|
|
2147
|
+
background: color-mix(in srgb, var(--color-accent-primary) 85%, #fff);
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
.new-session-advanced {
|
|
2151
|
+
display: flex;
|
|
2152
|
+
flex-direction: column;
|
|
2153
|
+
gap: 0.75rem;
|
|
2154
|
+
padding: 0.9375rem;
|
|
2155
|
+
border: 1px solid var(--color-border-primary);
|
|
2156
|
+
border-radius: 0.75rem;
|
|
2157
|
+
background: var(--color-bg-secondary);
|
|
2158
|
+
align-self: stretch;
|
|
2159
|
+
}
|
|
2160
|
+
.new-session-advanced[hidden] {
|
|
2161
|
+
display: none;
|
|
2162
|
+
}
|
|
2163
|
+
.new-session-field {
|
|
2164
|
+
display: flex;
|
|
2165
|
+
flex-direction: column;
|
|
2166
|
+
gap: 0.3125rem;
|
|
2167
|
+
}
|
|
2168
|
+
.new-session-label {
|
|
2169
|
+
font-size: 0.78125rem;
|
|
2170
|
+
color: var(--color-text-secondary);
|
|
2171
|
+
font-weight: 540;
|
|
2172
|
+
}
|
|
2173
|
+
.new-session-input,
|
|
2174
|
+
.new-session-select {
|
|
2175
|
+
width: 100%;
|
|
2176
|
+
padding: 0.4375rem 0.625rem;
|
|
2177
|
+
border: 1px solid var(--color-border-primary);
|
|
2178
|
+
border-radius: 0.4375rem;
|
|
2179
|
+
background: var(--color-bg-primary);
|
|
2180
|
+
color: var(--color-text-primary);
|
|
2181
|
+
font-size: 0.8125rem;
|
|
2182
|
+
font-family: inherit;
|
|
2183
|
+
}
|
|
2184
|
+
.new-session-input:focus,
|
|
2185
|
+
.new-session-select:focus {
|
|
2186
|
+
outline: none;
|
|
2187
|
+
border-color: var(--color-accent-primary);
|
|
2188
|
+
}
|
|
2189
|
+
.new-session-input-row {
|
|
2190
|
+
display: flex;
|
|
2191
|
+
gap: 0.375rem;
|
|
2192
|
+
}
|
|
2193
|
+
.new-session-input-row .new-session-input {
|
|
2194
|
+
flex: 1;
|
|
2195
|
+
}
|
|
2196
|
+
.new-session-browse-btn {
|
|
2197
|
+
padding: 0 0.625rem;
|
|
2198
|
+
border: 1px solid var(--color-border-primary);
|
|
2199
|
+
border-radius: 0.4375rem;
|
|
2200
|
+
background: var(--color-bg-primary);
|
|
2201
|
+
color: var(--color-text-secondary);
|
|
2202
|
+
cursor: pointer;
|
|
2203
|
+
display: grid;
|
|
2204
|
+
place-items: center;
|
|
2205
|
+
transition: border-color var(--transition-fast), color var(--transition-fast);
|
|
2206
|
+
}
|
|
2207
|
+
.new-session-browse-btn:hover {
|
|
2208
|
+
border-color: var(--color-accent-primary);
|
|
2209
|
+
color: var(--color-accent-primary);
|
|
2210
|
+
}
|
|
2211
|
+
.new-session-checkbox-field {
|
|
2212
|
+
display: flex;
|
|
2213
|
+
align-items: center;
|
|
2214
|
+
}
|
|
2215
|
+
.new-session-checkbox-label {
|
|
2216
|
+
display: inline-flex;
|
|
2217
|
+
align-items: center;
|
|
2218
|
+
gap: 0.5rem;
|
|
2219
|
+
font-size: 0.8125rem;
|
|
2220
|
+
color: var(--color-text-secondary);
|
|
2221
|
+
cursor: pointer;
|
|
2222
|
+
}
|
|
2223
|
+
.new-session-checkbox {
|
|
2224
|
+
cursor: pointer;
|
|
2225
|
+
}
|
|
2226
|
+
|
|
2227
|
+
|
|
2228
|
+
/* ── Chat panel ──────────────────────────────────────────────────────────── */
|
|
2229
|
+
#chat-panel { flex: 1; display: flex; flex-direction: row; overflow: hidden; position: relative; }
|
|
2230
|
+
#chat-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; position: relative; min-width: 0; }
|
|
2231
|
+
|
|
2232
|
+
/* ── Session extension slots (agent-scoped panels mount here) ───────────────
|
|
2233
|
+
Each slot is laid out by the host; an empty slot collapses to zero so it
|
|
2234
|
+
never reserves space when no panel is mounted for the current agent. */
|
|
2235
|
+
/* ── Session aside — one resizable / collapsible right column with tabs ─────
|
|
2236
|
+
The host owns the chrome (resize handle, collapse button, floating opener);
|
|
2237
|
+
Clacky.ext renders the tab bar + bodies into #ext-slot-session-aside. When
|
|
2238
|
+
the slot has no panels for the current agent it stays empty and the whole
|
|
2239
|
+
column collapses to zero width. */
|
|
2240
|
+
#session-aside {
|
|
2241
|
+
--session-aside-width: 16rem;
|
|
2242
|
+
width: var(--session-aside-width);
|
|
2243
|
+
flex-shrink: 0;
|
|
2244
|
+
position: relative;
|
|
2245
|
+
display: flex;
|
|
2246
|
+
flex-direction: column;
|
|
2247
|
+
overflow: hidden;
|
|
2248
|
+
border-left: 1px solid var(--color-border-primary);
|
|
2249
|
+
background: var(--color-bg-secondary);
|
|
2250
|
+
transition: width var(--transition-base);
|
|
2251
|
+
}
|
|
2252
|
+
#session-aside.collapsed { width: 0; border-left: none; }
|
|
2253
|
+
/* Empty slot (no panels for this agent) → collapse the whole column. */
|
|
2254
|
+
#session-aside:has(.session-aside-slot:empty) { width: 0; border-left: none; }
|
|
2255
|
+
#session-aside:has(.session-aside-slot:empty) .session-aside-resize,
|
|
2256
|
+
#session-aside:has(.session-aside-slot:empty) .session-aside-collapse { display: none; }
|
|
2257
|
+
|
|
2258
|
+
.session-aside-resize {
|
|
2259
|
+
position: absolute;
|
|
2260
|
+
top: 0;
|
|
2261
|
+
left: -6px;
|
|
2262
|
+
bottom: 0;
|
|
2263
|
+
width: 12px;
|
|
2264
|
+
cursor: col-resize;
|
|
2265
|
+
z-index: 10;
|
|
2266
|
+
background: transparent;
|
|
2267
|
+
}
|
|
2268
|
+
.session-aside-resize::after {
|
|
2269
|
+
content: "";
|
|
2270
|
+
position: absolute;
|
|
2271
|
+
top: 0;
|
|
2272
|
+
bottom: 0;
|
|
2273
|
+
left: 6px;
|
|
2274
|
+
width: 1px;
|
|
2275
|
+
background: transparent;
|
|
2276
|
+
transition: background-color var(--transition-base);
|
|
2277
|
+
}
|
|
2278
|
+
.session-aside-resize:hover::after,
|
|
2279
|
+
.session-aside-resize.active::after { background: transparent; }
|
|
2280
|
+
|
|
2281
|
+
.session-aside-collapse {
|
|
2282
|
+
position: absolute;
|
|
2283
|
+
top: 7px;
|
|
2284
|
+
right: 8px;
|
|
2285
|
+
z-index: 11;
|
|
2286
|
+
display: inline-flex;
|
|
2287
|
+
align-items: center;
|
|
2288
|
+
justify-content: center;
|
|
1989
2289
|
width: 1.625rem;
|
|
1990
2290
|
height: 1.625rem;
|
|
1991
2291
|
border: none;
|
|
@@ -2069,7 +2369,15 @@ body {
|
|
|
2069
2369
|
.session-banner:empty,
|
|
2070
2370
|
.session-composer:empty { display: none; }
|
|
2071
2371
|
.session-banner { flex-shrink: 0; }
|
|
2072
|
-
.session-composer {
|
|
2372
|
+
.session-composer {
|
|
2373
|
+
flex-shrink: 0;
|
|
2374
|
+
margin-bottom: -9px;
|
|
2375
|
+
display: flex;
|
|
2376
|
+
padding-inline: 12px;
|
|
2377
|
+
}
|
|
2378
|
+
.session-composer > * {
|
|
2379
|
+
justify-content: flex-start !important;
|
|
2380
|
+
}
|
|
2073
2381
|
|
|
2074
2382
|
/* ── File tree (used inside the Files tab) ──────────────────────────────── */
|
|
2075
2383
|
.wt-panel { flex: 1; min-height: 0; display: flex; flex-direction: column; }
|
|
@@ -3852,6 +4160,12 @@ body {
|
|
|
3852
4160
|
box-shadow: var(--shadow-card);
|
|
3853
4161
|
margin-bottom: -1px;
|
|
3854
4162
|
}
|
|
4163
|
+
#ns-image-preview-strip {
|
|
4164
|
+
display: flex;
|
|
4165
|
+
flex-wrap: wrap;
|
|
4166
|
+
gap: 0.5rem;
|
|
4167
|
+
padding: 0.25rem 0 0.5rem;
|
|
4168
|
+
}
|
|
3855
4169
|
/* Square off the top corners of the input-bar when the preview strip sits above it */
|
|
3856
4170
|
#input-area:has(#image-preview-strip:not([style*="display:none"])):not(:has(#image-preview-strip[style*="display: none"])) #input-bar {
|
|
3857
4171
|
border-top-left-radius: 0;
|
|
@@ -3950,7 +4264,8 @@ body {
|
|
|
3950
4264
|
.pdf-preview-remove:hover { background: var(--color-error); }
|
|
3951
4265
|
|
|
3952
4266
|
/* ── Skill autocomplete dropdown ─────────────────────────────────────────── */
|
|
3953
|
-
#skill-autocomplete
|
|
4267
|
+
#skill-autocomplete,
|
|
4268
|
+
.skill-autocomplete {
|
|
3954
4269
|
position: absolute;
|
|
3955
4270
|
bottom: 100%;
|
|
3956
4271
|
left: 0;
|
|
@@ -3968,7 +4283,8 @@ body {
|
|
|
3968
4283
|
z-index: 1000;
|
|
3969
4284
|
}
|
|
3970
4285
|
|
|
3971
|
-
#skill-autocomplete-list
|
|
4286
|
+
#skill-autocomplete-list,
|
|
4287
|
+
#ns-skill-autocomplete-list {
|
|
3972
4288
|
padding: 0.25rem 0;
|
|
3973
4289
|
}
|
|
3974
4290
|
|
|
@@ -5780,24 +6096,7 @@ body {
|
|
|
5780
6096
|
border-color: var(--color-accent-primary);
|
|
5781
6097
|
}
|
|
5782
6098
|
|
|
5783
|
-
|
|
5784
|
-
.new-session-modal {
|
|
5785
|
-
max-width: 32.5rem;
|
|
5786
|
-
padding: 1.25rem 1.25rem 1rem;
|
|
5787
|
-
}
|
|
5788
|
-
.new-session-modal .modal-header {
|
|
5789
|
-
display: flex;
|
|
5790
|
-
align-items: center;
|
|
5791
|
-
margin-bottom: 0.875rem;
|
|
5792
|
-
}
|
|
5793
|
-
.new-session-modal .modal-title {
|
|
5794
|
-
font-size: 1rem;
|
|
5795
|
-
font-weight: 600;
|
|
5796
|
-
margin: 0;
|
|
5797
|
-
padding: 0;
|
|
5798
|
-
border: none;
|
|
5799
|
-
color: var(--color-text-primary);
|
|
5800
|
-
}
|
|
6099
|
+
|
|
5801
6100
|
.modal-box .modal-header {
|
|
5802
6101
|
display: flex;
|
|
5803
6102
|
align-items: center;
|
|
@@ -5922,13 +6221,6 @@ body {
|
|
|
5922
6221
|
cursor: pointer;
|
|
5923
6222
|
accent-color: var(--color-accent-primary);
|
|
5924
6223
|
}
|
|
5925
|
-
.new-session-modal .modal-body {
|
|
5926
|
-
gap: 0.75rem;
|
|
5927
|
-
}
|
|
5928
|
-
.new-session-modal .modal-footer {
|
|
5929
|
-
margin-top: 1rem;
|
|
5930
|
-
padding-top: 1rem;
|
|
5931
|
-
}
|
|
5932
6224
|
.modal-footer {
|
|
5933
6225
|
display: flex;
|
|
5934
6226
|
gap: 0.625rem;
|
|
@@ -6287,7 +6579,7 @@ body {
|
|
|
6287
6579
|
transition: transform 0.18s;
|
|
6288
6580
|
}
|
|
6289
6581
|
.skills-filter-toggle input:checked ~ .skills-filter-toggle-track {
|
|
6290
|
-
background: var(--color-accent
|
|
6582
|
+
background: var(--color-accent-primary);
|
|
6291
6583
|
}
|
|
6292
6584
|
.skills-filter-toggle input:checked ~ .skills-filter-toggle-track::after {
|
|
6293
6585
|
transform: translateX(0.875rem);
|
|
@@ -6310,7 +6602,7 @@ body {
|
|
|
6310
6602
|
color: var(--color-text-secondary);
|
|
6311
6603
|
font-size: 0.8125rem;
|
|
6312
6604
|
}
|
|
6313
|
-
/* Guided CTA card in the empty-skills state
|
|
6605
|
+
/* Guided CTA card in the empty-skills state */
|
|
6314
6606
|
.skills-empty-create-btn {
|
|
6315
6607
|
display: flex;
|
|
6316
6608
|
align-items: center;
|
|
@@ -6777,28 +7069,280 @@ body {
|
|
|
6777
7069
|
margin-bottom: 0.625rem;
|
|
6778
7070
|
}
|
|
6779
7071
|
|
|
6780
|
-
/*
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
padding: 0.875rem 1rem;
|
|
6786
|
-
transition: border-color .15s;
|
|
6787
|
-
}
|
|
6788
|
-
.brand-skill-card:hover { border-color: var(--color-text-muted); }
|
|
6789
|
-
.brand-skill-card-main {
|
|
7072
|
+
/* ── Extension Market ─────────────────────────────────────────────────── */
|
|
7073
|
+
#extensions-body {
|
|
7074
|
+
flex: 1;
|
|
7075
|
+
overflow-y: auto;
|
|
7076
|
+
padding: 1.75rem 2.25rem;
|
|
6790
7077
|
display: flex;
|
|
6791
|
-
|
|
6792
|
-
gap:
|
|
7078
|
+
flex-direction: column;
|
|
7079
|
+
gap: 1.25rem;
|
|
6793
7080
|
}
|
|
6794
|
-
.
|
|
6795
|
-
.brand-skill-title {
|
|
7081
|
+
.extensions-toolbar {
|
|
6796
7082
|
display: flex;
|
|
6797
7083
|
align-items: center;
|
|
6798
|
-
gap: 0.
|
|
6799
|
-
margin-bottom: 0.25rem;
|
|
7084
|
+
gap: 0.5rem;
|
|
6800
7085
|
}
|
|
6801
|
-
.
|
|
7086
|
+
.extensions-search {
|
|
7087
|
+
flex: 1;
|
|
7088
|
+
min-width: 0;
|
|
7089
|
+
font-size: 0.8125rem;
|
|
7090
|
+
padding: 0.4375rem 0.75rem;
|
|
7091
|
+
border-radius: 6px;
|
|
7092
|
+
border: 1px solid var(--color-border-primary);
|
|
7093
|
+
background: var(--color-bg-secondary);
|
|
7094
|
+
color: var(--color-text-primary);
|
|
7095
|
+
}
|
|
7096
|
+
.extensions-search:focus {
|
|
7097
|
+
outline: none;
|
|
7098
|
+
border-color: var(--color-accent, #6366f1);
|
|
7099
|
+
}
|
|
7100
|
+
.extensions-sort {
|
|
7101
|
+
flex-shrink: 0;
|
|
7102
|
+
font-size: 0.8125rem;
|
|
7103
|
+
padding: 0.4375rem 2rem 0.4375rem 0.75rem;
|
|
7104
|
+
border-radius: 6px;
|
|
7105
|
+
border: 1px solid var(--color-border-primary);
|
|
7106
|
+
background: var(--color-bg-secondary);
|
|
7107
|
+
color: var(--color-text-primary);
|
|
7108
|
+
cursor: pointer;
|
|
7109
|
+
appearance: none;
|
|
7110
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
7111
|
+
background-repeat: no-repeat;
|
|
7112
|
+
background-position: right 0.625rem center;
|
|
7113
|
+
}
|
|
7114
|
+
.extensions-sort:focus {
|
|
7115
|
+
outline: none;
|
|
7116
|
+
border-color: var(--color-accent, #6366f1);
|
|
7117
|
+
}
|
|
7118
|
+
#extensions-list {
|
|
7119
|
+
display: flex;
|
|
7120
|
+
flex-direction: column;
|
|
7121
|
+
gap: 0.5rem;
|
|
7122
|
+
padding-top: 0.25rem;
|
|
7123
|
+
}
|
|
7124
|
+
.extensions-empty {
|
|
7125
|
+
font-size: 0.8125rem;
|
|
7126
|
+
color: var(--color-text-secondary);
|
|
7127
|
+
text-align: center;
|
|
7128
|
+
padding: 1.5rem 0;
|
|
7129
|
+
}
|
|
7130
|
+
.extension-card {
|
|
7131
|
+
background: var(--color-bg-secondary);
|
|
7132
|
+
border: 1px solid var(--color-border-primary);
|
|
7133
|
+
border-radius: 8px;
|
|
7134
|
+
padding: 0.875rem 1rem;
|
|
7135
|
+
transition: border-color .15s;
|
|
7136
|
+
}
|
|
7137
|
+
.extension-card:hover { border-color: var(--color-text-muted); }
|
|
7138
|
+
.extension-card-main {
|
|
7139
|
+
display: flex;
|
|
7140
|
+
align-items: flex-start;
|
|
7141
|
+
gap: 0.75rem;
|
|
7142
|
+
}
|
|
7143
|
+
.extension-emoji {
|
|
7144
|
+
font-size: 1.5rem;
|
|
7145
|
+
line-height: 1.4;
|
|
7146
|
+
flex-shrink: 0;
|
|
7147
|
+
}
|
|
7148
|
+
.extension-info { flex: 1; min-width: 0; }
|
|
7149
|
+
.extension-title {
|
|
7150
|
+
display: flex;
|
|
7151
|
+
align-items: center;
|
|
7152
|
+
gap: 0.375rem;
|
|
7153
|
+
margin-bottom: 0.25rem;
|
|
7154
|
+
flex-wrap: wrap;
|
|
7155
|
+
}
|
|
7156
|
+
.extension-name {
|
|
7157
|
+
font-size: 0.8125rem;
|
|
7158
|
+
font-weight: 600;
|
|
7159
|
+
color: var(--color-text-primary);
|
|
7160
|
+
}
|
|
7161
|
+
.extension-version {
|
|
7162
|
+
font-size: 0.6875rem;
|
|
7163
|
+
color: var(--color-text-secondary);
|
|
7164
|
+
background: var(--color-bg-tertiary, rgba(255,255,255,0.05));
|
|
7165
|
+
border-radius: 4px;
|
|
7166
|
+
padding: 0.0625rem 0.375rem;
|
|
7167
|
+
}
|
|
7168
|
+
.extension-units {
|
|
7169
|
+
font-size: 0.6875rem;
|
|
7170
|
+
color: var(--color-text-muted);
|
|
7171
|
+
}
|
|
7172
|
+
.extension-installed {
|
|
7173
|
+
font-size: 0.6875rem;
|
|
7174
|
+
color: var(--color-success, #16a34a);
|
|
7175
|
+
background: var(--color-success-bg, rgba(22,163,74,0.12));
|
|
7176
|
+
border-radius: 4px;
|
|
7177
|
+
padding: 0.0625rem 0.375rem;
|
|
7178
|
+
}
|
|
7179
|
+
.extension-desc {
|
|
7180
|
+
font-size: 0.75rem;
|
|
7181
|
+
color: var(--color-text-secondary);
|
|
7182
|
+
line-height: 1.5;
|
|
7183
|
+
margin-bottom: 0.375rem;
|
|
7184
|
+
}
|
|
7185
|
+
.extension-meta {
|
|
7186
|
+
display: flex;
|
|
7187
|
+
align-items: center;
|
|
7188
|
+
gap: 0.75rem;
|
|
7189
|
+
}
|
|
7190
|
+
.extension-homepage {
|
|
7191
|
+
font-size: 0.6875rem;
|
|
7192
|
+
color: var(--color-accent, #6366f1);
|
|
7193
|
+
text-decoration: none;
|
|
7194
|
+
}
|
|
7195
|
+
.extension-homepage:hover { text-decoration: underline; }
|
|
7196
|
+
|
|
7197
|
+
/* Clickable catalog card + detail view */
|
|
7198
|
+
.extension-card-clickable { cursor: pointer; }
|
|
7199
|
+
|
|
7200
|
+
.extension-detail {
|
|
7201
|
+
flex: 1;
|
|
7202
|
+
overflow-y: auto;
|
|
7203
|
+
padding: 1.75rem 2.25rem;
|
|
7204
|
+
}
|
|
7205
|
+
.extension-detail-head { margin-bottom: 1rem; }
|
|
7206
|
+
.extension-detail-back {
|
|
7207
|
+
display: inline-flex;
|
|
7208
|
+
align-items: center;
|
|
7209
|
+
gap: 0.25rem;
|
|
7210
|
+
background: transparent;
|
|
7211
|
+
border: none;
|
|
7212
|
+
color: var(--color-text-secondary);
|
|
7213
|
+
font-size: 0.8125rem;
|
|
7214
|
+
cursor: pointer;
|
|
7215
|
+
padding: 0.3rem 0.6rem;
|
|
7216
|
+
border-radius: 6px;
|
|
7217
|
+
margin-left: -0.6rem;
|
|
7218
|
+
transition: background 0.15s, color 0.15s;
|
|
7219
|
+
}
|
|
7220
|
+
.extension-detail-back:hover {
|
|
7221
|
+
color: var(--color-text-primary);
|
|
7222
|
+
background: var(--color-bg-hover);
|
|
7223
|
+
}
|
|
7224
|
+
.extension-detail-hero {
|
|
7225
|
+
display: flex;
|
|
7226
|
+
align-items: flex-start;
|
|
7227
|
+
gap: 0.875rem;
|
|
7228
|
+
padding-bottom: 1rem;
|
|
7229
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
7230
|
+
}
|
|
7231
|
+
.extension-detail-heading { flex: 1; min-width: 0; }
|
|
7232
|
+
.extension-emoji-lg { font-size: 2.25rem; }
|
|
7233
|
+
.extension-name-lg { font-size: 1.0625rem; }
|
|
7234
|
+
.extension-detail-block { margin-top: 1.25rem; }
|
|
7235
|
+
.extension-detail-block-title {
|
|
7236
|
+
font-size: 0.8125rem;
|
|
7237
|
+
font-weight: 600;
|
|
7238
|
+
color: var(--color-text-primary);
|
|
7239
|
+
margin: 0 0 0.625rem;
|
|
7240
|
+
}
|
|
7241
|
+
.extension-detail-section { margin-bottom: 0.875rem; }
|
|
7242
|
+
.extension-detail-section-title {
|
|
7243
|
+
font-size: 0.6875rem;
|
|
7244
|
+
font-weight: 600;
|
|
7245
|
+
text-transform: uppercase;
|
|
7246
|
+
letter-spacing: 0.03em;
|
|
7247
|
+
color: var(--color-text-muted);
|
|
7248
|
+
margin: 0 0 0.375rem;
|
|
7249
|
+
}
|
|
7250
|
+
.extension-contrib-list,
|
|
7251
|
+
.extension-version-list { list-style: none; margin: 0; padding: 0; }
|
|
7252
|
+
.extension-contrib-item {
|
|
7253
|
+
padding: 0.5rem 0.75rem;
|
|
7254
|
+
background: var(--color-bg-secondary);
|
|
7255
|
+
border: 1px solid var(--color-border-primary);
|
|
7256
|
+
border-radius: 6px;
|
|
7257
|
+
margin-bottom: 0.375rem;
|
|
7258
|
+
}
|
|
7259
|
+
.extension-contrib-title {
|
|
7260
|
+
display: block;
|
|
7261
|
+
font-size: 0.8125rem;
|
|
7262
|
+
font-weight: 600;
|
|
7263
|
+
color: var(--color-text-primary);
|
|
7264
|
+
}
|
|
7265
|
+
.extension-contrib-desc {
|
|
7266
|
+
display: block;
|
|
7267
|
+
font-size: 0.75rem;
|
|
7268
|
+
color: var(--color-text-secondary);
|
|
7269
|
+
line-height: 1.5;
|
|
7270
|
+
margin-top: 0.125rem;
|
|
7271
|
+
}
|
|
7272
|
+
.extension-version-item {
|
|
7273
|
+
padding: 0.5rem 0.75rem;
|
|
7274
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
7275
|
+
}
|
|
7276
|
+
.extension-version-item:last-child { border-bottom: none; }
|
|
7277
|
+
.extension-version-row {
|
|
7278
|
+
display: flex;
|
|
7279
|
+
align-items: center;
|
|
7280
|
+
gap: 0.5rem;
|
|
7281
|
+
}
|
|
7282
|
+
.extension-version-date {
|
|
7283
|
+
font-size: 0.6875rem;
|
|
7284
|
+
color: var(--color-text-muted);
|
|
7285
|
+
}
|
|
7286
|
+
.extension-version-notes {
|
|
7287
|
+
font-size: 0.75rem;
|
|
7288
|
+
color: var(--color-text-secondary);
|
|
7289
|
+
line-height: 1.5;
|
|
7290
|
+
margin-top: 0.25rem;
|
|
7291
|
+
white-space: pre-wrap;
|
|
7292
|
+
}
|
|
7293
|
+
.extension-detail-loading { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
7294
|
+
|
|
7295
|
+
.extension-detail-actions {
|
|
7296
|
+
display: flex;
|
|
7297
|
+
align-items: center;
|
|
7298
|
+
gap: 0.5rem;
|
|
7299
|
+
margin-top: 0.75rem;
|
|
7300
|
+
}
|
|
7301
|
+
.extension-disabled {
|
|
7302
|
+
font-size: 0.6875rem;
|
|
7303
|
+
color: var(--color-text-secondary);
|
|
7304
|
+
background: var(--color-surface-hover, rgba(0,0,0,0.06));
|
|
7305
|
+
border-radius: 4px;
|
|
7306
|
+
padding: 0.0625rem 0.375rem;
|
|
7307
|
+
}
|
|
7308
|
+
.extension-action {
|
|
7309
|
+
font-size: 0.75rem;
|
|
7310
|
+
padding: 0.3125rem 0.75rem;
|
|
7311
|
+
border-radius: 6px;
|
|
7312
|
+
border: 1px solid var(--color-border);
|
|
7313
|
+
background: var(--color-surface);
|
|
7314
|
+
color: var(--color-text);
|
|
7315
|
+
cursor: pointer;
|
|
7316
|
+
}
|
|
7317
|
+
.extension-action:hover { background: var(--color-surface-hover, rgba(0,0,0,0.04)); }
|
|
7318
|
+
.extension-action-remove {
|
|
7319
|
+
color: var(--color-danger, #dc2626);
|
|
7320
|
+
border-color: var(--color-danger-border, rgba(220,38,38,0.4));
|
|
7321
|
+
}
|
|
7322
|
+
.extension-action-remove:hover { background: var(--color-danger-bg, rgba(220,38,38,0.08)); }
|
|
7323
|
+
|
|
7324
|
+
/* Brand Skill card */
|
|
7325
|
+
.brand-skill-card {
|
|
7326
|
+
background: var(--color-bg-secondary);
|
|
7327
|
+
border: 1px solid var(--color-border-primary);
|
|
7328
|
+
border-radius: 8px;
|
|
7329
|
+
padding: 0.875rem 1rem;
|
|
7330
|
+
transition: border-color .15s;
|
|
7331
|
+
}
|
|
7332
|
+
.brand-skill-card:hover { border-color: var(--color-text-muted); }
|
|
7333
|
+
.brand-skill-card-main {
|
|
7334
|
+
display: flex;
|
|
7335
|
+
align-items: center;
|
|
7336
|
+
gap: 0.75rem;
|
|
7337
|
+
}
|
|
7338
|
+
.brand-skill-info { flex: 1; min-width: 0; }
|
|
7339
|
+
.brand-skill-title {
|
|
7340
|
+
display: flex;
|
|
7341
|
+
align-items: center;
|
|
7342
|
+
gap: 0.375rem;
|
|
7343
|
+
margin-bottom: 0.25rem;
|
|
7344
|
+
}
|
|
7345
|
+
.brand-skill-name {
|
|
6802
7346
|
font-size: 0.8125rem;
|
|
6803
7347
|
font-weight: 600;
|
|
6804
7348
|
color: var(--color-text-primary);
|
|
@@ -8184,6 +8728,8 @@ body.setup-mode[data-theme="dark"] {
|
|
|
8184
8728
|
flex-shrink: 0;
|
|
8185
8729
|
}
|
|
8186
8730
|
|
|
8731
|
+
.brand-warning-bar > span { flex: 1; }
|
|
8732
|
+
|
|
8187
8733
|
.brand-warning-bar button {
|
|
8188
8734
|
background: transparent;
|
|
8189
8735
|
border: none;
|
|
@@ -8194,6 +8740,20 @@ body.setup-mode[data-theme="dark"] {
|
|
|
8194
8740
|
opacity: 0.7;
|
|
8195
8741
|
}
|
|
8196
8742
|
|
|
8743
|
+
.brand-warning-bar .brand-warning-renew-btn {
|
|
8744
|
+
background: transparent;
|
|
8745
|
+
border: 1px solid currentColor;
|
|
8746
|
+
border-radius: var(--radius-sm, 4px);
|
|
8747
|
+
color: var(--color-warning);
|
|
8748
|
+
cursor: pointer;
|
|
8749
|
+
font-size: 0.75rem;
|
|
8750
|
+
font-weight: 600;
|
|
8751
|
+
padding: 0.2rem 0.6rem;
|
|
8752
|
+
opacity: 0.9;
|
|
8753
|
+
flex-shrink: 0;
|
|
8754
|
+
white-space: nowrap;
|
|
8755
|
+
}
|
|
8756
|
+
|
|
8197
8757
|
.brand-warning-bar button:hover { opacity: 1; }
|
|
8198
8758
|
|
|
8199
8759
|
/* ── Brand activation banner (top info bar, replaces full-screen panel) ──── */
|
|
@@ -9353,449 +9913,88 @@ body.setup-mode[data-theme="dark"] {
|
|
|
9353
9913
|
display: inline-flex;
|
|
9354
9914
|
align-items: center;
|
|
9355
9915
|
gap: 0.3125rem;
|
|
9356
|
-
transition: background 0.15s, border-color 0.15s, color 0.15s;
|
|
9357
|
-
}
|
|
9358
|
-
|
|
9359
|
-
.btn-memory-curate:hover,
|
|
9360
|
-
.btn-memory-edit:hover {
|
|
9361
|
-
border-color: var(--color-text-primary);
|
|
9362
|
-
background: var(--color-bg-hover);
|
|
9363
|
-
}
|
|
9364
|
-
|
|
9365
|
-
.btn-memory-delete {
|
|
9366
|
-
color: var(--color-text-primary);
|
|
9367
|
-
}
|
|
9368
|
-
.btn-memory-delete:hover {
|
|
9369
|
-
border-color: var(--color-error);
|
|
9370
|
-
color: var(--color-error);
|
|
9371
|
-
background: var(--color-error-bg);
|
|
9372
|
-
}
|
|
9373
|
-
|
|
9374
|
-
.btn-memory-expand {
|
|
9375
|
-
min-width: 1.75rem;
|
|
9376
|
-
justify-content: center;
|
|
9377
|
-
color: var(--color-text-muted);
|
|
9378
|
-
}
|
|
9379
|
-
|
|
9380
|
-
.btn-memory-expand:hover { color: var(--color-text-primary); }
|
|
9381
|
-
.btn-memory-expand.expanded svg { transform: rotate(180deg); }
|
|
9382
|
-
.btn-memory-expand svg { transition: transform 0.2s; }
|
|
9383
|
-
|
|
9384
|
-
.memory-card-body {
|
|
9385
|
-
padding: 0.25rem 1rem 0.875rem 1rem;
|
|
9386
|
-
border-top: 1px solid var(--color-border-primary);
|
|
9387
|
-
background: var(--color-bg-secondary);
|
|
9388
|
-
font-size: 0.8125rem;
|
|
9389
|
-
line-height: 1.6;
|
|
9390
|
-
color: var(--color-text-primary);
|
|
9391
|
-
}
|
|
9392
|
-
|
|
9393
|
-
.memory-card-body h1,
|
|
9394
|
-
.memory-card-body h2,
|
|
9395
|
-
.memory-card-body h3 {
|
|
9396
|
-
margin: 0.625rem 0 0.375rem;
|
|
9397
|
-
font-weight: 600;
|
|
9398
|
-
}
|
|
9399
|
-
|
|
9400
|
-
.memory-card-body p { margin: 0.375rem 0; }
|
|
9401
|
-
.memory-card-body ul,
|
|
9402
|
-
.memory-card-body ol { margin: 0.25rem 0 0.5rem 1.25rem; padding: 0; }
|
|
9403
|
-
.memory-card-body li { margin: 2px 0; }
|
|
9404
|
-
.memory-card-body code {
|
|
9405
|
-
background: var(--color-bg-hover);
|
|
9406
|
-
padding: 1px 0.3125rem;
|
|
9407
|
-
border-radius: 4px;
|
|
9408
|
-
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
9409
|
-
font-size: 0.75rem;
|
|
9410
|
-
}
|
|
9411
|
-
|
|
9412
|
-
.memory-card-loading {
|
|
9413
|
-
padding: 0.625rem 0;
|
|
9414
|
-
text-align: center;
|
|
9415
|
-
color: var(--color-text-muted);
|
|
9416
|
-
font-size: 0.75rem;
|
|
9417
|
-
font-style: italic;
|
|
9418
|
-
}
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
/* ── Mobile responsive (≤48rem) ─────────────────────────────────────────── */
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
/* ══════════════════════════════════════════════════════════════════════════
|
|
9425
|
-
Creator Hub — Creator Center
|
|
9426
|
-
══════════════════════════════════════════════════════════════════════════ */
|
|
9427
|
-
|
|
9428
|
-
#creator-panel {
|
|
9429
|
-
display: flex;
|
|
9430
|
-
flex-direction: column;
|
|
9431
|
-
height: 100%;
|
|
9432
|
-
overflow: hidden;
|
|
9433
|
-
}
|
|
9434
|
-
|
|
9435
|
-
#creator-body {
|
|
9436
|
-
flex: 1;
|
|
9437
|
-
overflow-y: auto;
|
|
9438
|
-
display: flex;
|
|
9439
|
-
flex-direction: column;
|
|
9440
|
-
padding: 2rem 2rem 3.75rem;
|
|
9441
|
-
gap: 1.75rem;
|
|
9442
|
-
}
|
|
9443
|
-
|
|
9444
|
-
/* ── Section blocks ────────────────────────────────────────────────────── */
|
|
9445
|
-
.creator-section-block {
|
|
9446
|
-
display: flex;
|
|
9447
|
-
flex-direction: column;
|
|
9448
|
-
gap: 0.625rem;
|
|
9449
|
-
}
|
|
9450
|
-
|
|
9451
|
-
.creator-section-header {
|
|
9452
|
-
display: flex;
|
|
9453
|
-
align-items: baseline;
|
|
9454
|
-
gap: 0.625rem;
|
|
9455
|
-
padding-bottom: 0.375rem;
|
|
9456
|
-
border-bottom: 1px solid var(--color-border-primary);
|
|
9457
|
-
margin-bottom: 2px;
|
|
9458
|
-
}
|
|
9459
|
-
|
|
9460
|
-
.creator-section-label {
|
|
9461
|
-
font-size: 0.75rem;
|
|
9462
|
-
font-weight: 600;
|
|
9463
|
-
color: var(--color-text-secondary);
|
|
9464
|
-
text-transform: uppercase;
|
|
9465
|
-
letter-spacing: 0.5px;
|
|
9466
|
-
}
|
|
9467
|
-
|
|
9468
|
-
.creator-section-hint {
|
|
9469
|
-
font-size: 0.6875rem;
|
|
9470
|
-
color: var(--color-text-muted);
|
|
9471
|
-
}
|
|
9472
|
-
|
|
9473
|
-
.creator-list {
|
|
9474
|
-
display: flex;
|
|
9475
|
-
flex-direction: column;
|
|
9476
|
-
gap: 0.5rem;
|
|
9477
|
-
}
|
|
9478
|
-
|
|
9479
|
-
/* ── Skill Card base ───────────────────────────────────────────────────── */
|
|
9480
|
-
.creator-skill-card {
|
|
9481
|
-
background: var(--color-bg-secondary);
|
|
9482
|
-
border: 1px solid var(--color-border-primary);
|
|
9483
|
-
border-radius: 8px;
|
|
9484
|
-
padding: 0.875rem 1rem;
|
|
9485
|
-
margin-bottom: 0.75rem;
|
|
9486
|
-
transition: border-color .15s;
|
|
9487
|
-
}
|
|
9488
|
-
.creator-skill-card:last-child {
|
|
9489
|
-
margin-bottom: 0;
|
|
9490
|
-
}
|
|
9491
|
-
.creator-skill-card:hover { border-color: var(--color-text-muted); }
|
|
9492
|
-
|
|
9493
|
-
.creator-card-main {
|
|
9494
|
-
display: flex;
|
|
9495
|
-
align-items: center;
|
|
9496
|
-
gap: 0.75rem;
|
|
9497
|
-
}
|
|
9498
|
-
.creator-card-info { flex: 1; min-width: 0; }
|
|
9499
|
-
.creator-card-actions {
|
|
9500
|
-
display: flex;
|
|
9501
|
-
align-items: center;
|
|
9502
|
-
gap: 0.5rem;
|
|
9503
|
-
flex-shrink: 0;
|
|
9504
|
-
}
|
|
9505
|
-
.creator-card-title {
|
|
9506
|
-
display: flex;
|
|
9507
|
-
align-items: center;
|
|
9508
|
-
gap: 0.5rem;
|
|
9509
|
-
margin-bottom: 0.25rem;
|
|
9510
|
-
flex-wrap: wrap;
|
|
9511
|
-
}
|
|
9512
|
-
.creator-skill-name {
|
|
9513
|
-
font-size: 0.8125rem;
|
|
9514
|
-
font-weight: 600;
|
|
9515
|
-
color: var(--color-text-primary);
|
|
9516
|
-
}
|
|
9517
|
-
.creator-card-desc {
|
|
9518
|
-
font-size: 0.75rem;
|
|
9519
|
-
color: var(--color-text-tertiary);
|
|
9520
|
-
line-height: 1.5;
|
|
9521
|
-
white-space: nowrap;
|
|
9522
|
-
overflow: hidden;
|
|
9523
|
-
text-overflow: ellipsis;
|
|
9524
|
-
}
|
|
9525
|
-
|
|
9526
|
-
/* ── Card meta row (version + download count) ──────────────────────────── */
|
|
9527
|
-
.creator-card-meta {
|
|
9528
|
-
display: flex;
|
|
9529
|
-
align-items: center;
|
|
9530
|
-
gap: 0.75rem;
|
|
9531
|
-
margin-top: 0.3125rem;
|
|
9532
|
-
}
|
|
9533
|
-
|
|
9534
|
-
.creator-version {
|
|
9535
|
-
font-size: 0.6875rem;
|
|
9536
|
-
color: var(--color-text-muted);
|
|
9537
|
-
}
|
|
9538
|
-
|
|
9539
|
-
.creator-dl-count {
|
|
9540
|
-
display: inline-flex;
|
|
9541
|
-
align-items: center;
|
|
9542
|
-
gap: 0.25rem;
|
|
9543
|
-
font-size: 0.6875rem;
|
|
9544
|
-
color: var(--color-text-muted);
|
|
9545
|
-
}
|
|
9546
|
-
|
|
9547
|
-
/* ── Badges ────────────────────────────────────────────────────────────── */
|
|
9548
|
-
.creator-badge {
|
|
9549
|
-
font-size: 0.625rem;
|
|
9550
|
-
font-weight: 600;
|
|
9551
|
-
padding: 2px 0.4375rem;
|
|
9552
|
-
border-radius: 10px;
|
|
9553
|
-
letter-spacing: 0.3px;
|
|
9554
|
-
flex-shrink: 0;
|
|
9555
|
-
}
|
|
9556
|
-
.creator-badge-published {
|
|
9557
|
-
background: var(--color-success-bg);
|
|
9558
|
-
color: var(--color-success);
|
|
9559
|
-
border: 1px solid var(--color-success-border);
|
|
9560
|
-
}
|
|
9561
|
-
.creator-badge-local {
|
|
9562
|
-
background: rgba(250, 173, 20, 0.1);
|
|
9563
|
-
color: #b8860b;
|
|
9564
|
-
border: 1px solid rgba(250, 173, 20, 0.3);
|
|
9565
|
-
}
|
|
9566
|
-
[data-theme="dark"] .creator-badge-local {
|
|
9567
|
-
color: #f5c842;
|
|
9568
|
-
background: rgba(245, 200, 66, 0.1);
|
|
9569
|
-
border-color: rgba(245, 200, 66, 0.25);
|
|
9570
|
-
}
|
|
9571
|
-
|
|
9572
|
-
/* "Has local changes" badge — orange dot */
|
|
9573
|
-
.creator-changes-badge {
|
|
9574
|
-
font-size: 0.6875rem;
|
|
9575
|
-
font-weight: 500;
|
|
9576
|
-
color: #d97706;
|
|
9577
|
-
flex-shrink: 0;
|
|
9578
|
-
}
|
|
9579
|
-
[data-theme="dark"] .creator-changes-badge {
|
|
9580
|
-
color: #fbbf24;
|
|
9581
|
-
}
|
|
9582
|
-
|
|
9583
|
-
/* Local-overrides-brand badge */
|
|
9584
|
-
.creator-shadow-badge {
|
|
9585
|
-
font-size: 0.625rem;
|
|
9586
|
-
font-weight: 600;
|
|
9587
|
-
padding: 2px 0.4375rem;
|
|
9588
|
-
border-radius: 10px;
|
|
9589
|
-
background: rgba(168, 85, 247, 0.1);
|
|
9590
|
-
color: #8b5cf6;
|
|
9591
|
-
border: 1px solid rgba(168, 85, 247, 0.3);
|
|
9592
|
-
cursor: help;
|
|
9593
|
-
}
|
|
9594
|
-
[data-theme="dark"] .creator-shadow-badge {
|
|
9595
|
-
background: rgba(139, 92, 246, 0.15);
|
|
9596
|
-
color: #a78bfa;
|
|
9597
|
-
border-color: rgba(139, 92, 246, 0.3);
|
|
9598
|
-
}
|
|
9599
|
-
|
|
9600
|
-
/* ── Publish / Update button ───────────────────────────────────────────── */
|
|
9601
|
-
.creator-upload-wrap { position: relative; }
|
|
9602
|
-
|
|
9603
|
-
.btn-creator-publish {
|
|
9604
|
-
display: flex;
|
|
9605
|
-
align-items: center;
|
|
9606
|
-
gap: 0.3125rem;
|
|
9607
|
-
padding: 0.375rem 0.75rem;
|
|
9608
|
-
border-radius: 7px;
|
|
9609
|
-
font-size: 0.75rem;
|
|
9610
|
-
font-weight: 500;
|
|
9611
|
-
cursor: pointer;
|
|
9612
|
-
background: var(--color-accent-primary);
|
|
9613
|
-
color: #fff;
|
|
9614
|
-
border: none;
|
|
9615
|
-
transition: background-color 0.2s, opacity 0.2s;
|
|
9616
|
-
white-space: nowrap;
|
|
9617
|
-
}
|
|
9618
|
-
.btn-creator-publish:hover:not(:disabled) {
|
|
9619
|
-
background: var(--color-accent-hover);
|
|
9620
|
-
}
|
|
9621
|
-
.btn-creator-publish:disabled {
|
|
9622
|
-
opacity: 0.6;
|
|
9623
|
-
cursor: not-allowed;
|
|
9624
|
-
}
|
|
9625
|
-
.btn-creator-publish[data-state="success"] { background: var(--color-success, #22c55e); }
|
|
9626
|
-
.btn-creator-publish[data-state="error"] { background: var(--color-error, #ef4444); }
|
|
9627
|
-
|
|
9628
|
-
/* Progress bar (reuse skill-upload-progress-* classes) */
|
|
9629
|
-
.creator-upload-wrap .skill-upload-progress-wrap {
|
|
9630
|
-
position: absolute;
|
|
9631
|
-
bottom: -0.1875rem;
|
|
9632
|
-
left: 0; right: 0;
|
|
9633
|
-
height: 2px;
|
|
9634
|
-
background: var(--color-border-primary);
|
|
9635
|
-
border-radius: 1px;
|
|
9636
|
-
overflow: hidden;
|
|
9637
|
-
}
|
|
9638
|
-
.creator-upload-wrap .skill-upload-progress-bar {
|
|
9639
|
-
height: 100%;
|
|
9640
|
-
background: var(--color-accent-primary);
|
|
9641
|
-
border-radius: 1px;
|
|
9642
|
-
transition: width 0.15s ease;
|
|
9643
|
-
}
|
|
9644
|
-
.creator-upload-wrap .skill-upload-progress-bar[data-state="success"] { background: var(--color-success, #22c55e); }
|
|
9645
|
-
.creator-upload-wrap .skill-upload-progress-bar[data-state="error"] { background: var(--color-error, #ef4444); }
|
|
9646
|
-
|
|
9647
|
-
/* Iterate button */
|
|
9648
|
-
.btn-creator-iterate {
|
|
9649
|
-
display: flex;
|
|
9650
|
-
align-items: center;
|
|
9651
|
-
gap: 0.3125rem;
|
|
9652
|
-
padding: 0.375rem 0.75rem;
|
|
9653
|
-
border-radius: 7px;
|
|
9654
|
-
font-size: 0.75rem;
|
|
9655
|
-
font-weight: 500;
|
|
9656
|
-
cursor: pointer;
|
|
9657
|
-
background: transparent;
|
|
9658
|
-
color: var(--color-text-secondary);
|
|
9659
|
-
border: 1px solid var(--color-border-primary);
|
|
9660
|
-
transition: background-color 0.2s, color 0.2s, border-color 0.2s;
|
|
9661
|
-
white-space: nowrap;
|
|
9662
|
-
}
|
|
9663
|
-
.btn-creator-iterate:hover {
|
|
9664
|
-
background: var(--color-bg-hover);
|
|
9665
|
-
color: var(--color-text-primary);
|
|
9666
|
-
border-color: var(--color-border-secondary);
|
|
9667
|
-
}
|
|
9668
|
-
|
|
9669
|
-
/* Up-to-date (disabled) button */
|
|
9670
|
-
.btn-creator-up-to-date {
|
|
9671
|
-
display: flex;
|
|
9672
|
-
align-items: center;
|
|
9673
|
-
gap: 0.3125rem;
|
|
9674
|
-
padding: 0.375rem 0.75rem;
|
|
9675
|
-
border-radius: 7px;
|
|
9676
|
-
font-size: 0.75rem;
|
|
9677
|
-
font-weight: 500;
|
|
9678
|
-
cursor: not-allowed;
|
|
9679
|
-
background: transparent;
|
|
9680
|
-
color: var(--color-text-disabled, var(--color-text-muted));
|
|
9681
|
-
border: 1px solid var(--color-border-muted, var(--color-border-primary));
|
|
9682
|
-
opacity: 0.55;
|
|
9683
|
-
white-space: nowrap;
|
|
9684
|
-
}
|
|
9685
|
-
|
|
9686
|
-
/* ── Promo banner (non-licensed users) ─────────────────────────────────── */
|
|
9687
|
-
#creator-promo-banner {
|
|
9688
|
-
display: flex;
|
|
9689
|
-
align-items: center;
|
|
9690
|
-
gap: 0.5rem;
|
|
9691
|
-
padding: 0.625rem 0.875rem;
|
|
9692
|
-
background: var(--color-bg-secondary);
|
|
9693
|
-
border: 1px solid var(--color-border-primary);
|
|
9694
|
-
border-radius: 8px;
|
|
9695
|
-
font-size: 0.7812rem;
|
|
9696
|
-
color: var(--color-text-secondary);
|
|
9916
|
+
transition: background 0.15s, border-color 0.15s, color 0.15s;
|
|
9697
9917
|
}
|
|
9698
|
-
|
|
9699
|
-
|
|
9700
|
-
|
|
9701
|
-
|
|
9918
|
+
|
|
9919
|
+
.btn-memory-curate:hover,
|
|
9920
|
+
.btn-memory-edit:hover {
|
|
9921
|
+
border-color: var(--color-text-primary);
|
|
9922
|
+
background: var(--color-bg-hover);
|
|
9702
9923
|
}
|
|
9703
|
-
|
|
9704
|
-
|
|
9705
|
-
|
|
9706
|
-
color: var(--color-accent-primary);
|
|
9707
|
-
text-decoration: none;
|
|
9708
|
-
font-weight: 500;
|
|
9924
|
+
|
|
9925
|
+
.btn-memory-delete {
|
|
9926
|
+
color: var(--color-text-primary);
|
|
9709
9927
|
}
|
|
9710
|
-
|
|
9711
|
-
|
|
9928
|
+
.btn-memory-delete:hover {
|
|
9929
|
+
border-color: var(--color-error);
|
|
9930
|
+
color: var(--color-error);
|
|
9931
|
+
background: var(--color-error-bg);
|
|
9712
9932
|
}
|
|
9713
9933
|
|
|
9714
|
-
|
|
9715
|
-
|
|
9716
|
-
|
|
9717
|
-
align-items: center;
|
|
9718
|
-
gap: 0.5rem;
|
|
9719
|
-
padding: 0.75rem 0.875rem;
|
|
9720
|
-
border: 1px dashed var(--color-border-primary);
|
|
9721
|
-
border-radius: 8px;
|
|
9722
|
-
font-size: 0.7812rem;
|
|
9934
|
+
.btn-memory-expand {
|
|
9935
|
+
min-width: 1.75rem;
|
|
9936
|
+
justify-content: center;
|
|
9723
9937
|
color: var(--color-text-muted);
|
|
9724
9938
|
}
|
|
9725
|
-
#creator-cloud-lock svg {
|
|
9726
|
-
flex-shrink: 0;
|
|
9727
|
-
opacity: 0.5;
|
|
9728
|
-
}
|
|
9729
|
-
#creator-cloud-lock a {
|
|
9730
|
-
margin-left: auto;
|
|
9731
|
-
white-space: nowrap;
|
|
9732
|
-
color: var(--color-accent-primary);
|
|
9733
|
-
text-decoration: none;
|
|
9734
|
-
font-weight: 500;
|
|
9735
|
-
opacity: 0.85;
|
|
9736
|
-
}
|
|
9737
|
-
#creator-cloud-lock a:hover {
|
|
9738
|
-
text-decoration: underline;
|
|
9739
|
-
}
|
|
9740
9939
|
|
|
9741
|
-
|
|
9742
|
-
.
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
|
|
9746
|
-
padding: 0.875rem 1rem;
|
|
9940
|
+
.btn-memory-expand:hover { color: var(--color-text-primary); }
|
|
9941
|
+
.btn-memory-expand.expanded svg { transform: rotate(180deg); }
|
|
9942
|
+
.btn-memory-expand svg { transition: transform 0.2s; }
|
|
9943
|
+
|
|
9944
|
+
.memory-card-body {
|
|
9945
|
+
padding: 0.25rem 1rem 0.875rem 1rem;
|
|
9946
|
+
border-top: 1px solid var(--color-border-primary);
|
|
9747
9947
|
background: var(--color-bg-secondary);
|
|
9748
|
-
border: 1px dashed var(--color-border-primary);
|
|
9749
|
-
border-radius: 8px;
|
|
9750
|
-
cursor: pointer;
|
|
9751
9948
|
font-size: 0.8125rem;
|
|
9752
|
-
|
|
9753
|
-
color: var(--color-text-
|
|
9754
|
-
transition: border-color .15s, color .15s, background .15s;
|
|
9949
|
+
line-height: 1.6;
|
|
9950
|
+
color: var(--color-text-primary);
|
|
9755
9951
|
}
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
|
|
9759
|
-
|
|
9952
|
+
|
|
9953
|
+
.memory-card-body h1,
|
|
9954
|
+
.memory-card-body h2,
|
|
9955
|
+
.memory-card-body h3 {
|
|
9956
|
+
margin: 0.625rem 0 0.375rem;
|
|
9957
|
+
font-weight: 600;
|
|
9760
9958
|
}
|
|
9761
|
-
|
|
9762
|
-
margin
|
|
9763
|
-
|
|
9764
|
-
|
|
9959
|
+
|
|
9960
|
+
.memory-card-body p { margin: 0.375rem 0; }
|
|
9961
|
+
.memory-card-body ul,
|
|
9962
|
+
.memory-card-body ol { margin: 0.25rem 0 0.5rem 1.25rem; padding: 0; }
|
|
9963
|
+
.memory-card-body li { margin: 2px 0; }
|
|
9964
|
+
.memory-card-body code {
|
|
9965
|
+
background: var(--color-bg-hover);
|
|
9966
|
+
padding: 1px 0.3125rem;
|
|
9967
|
+
border-radius: 4px;
|
|
9968
|
+
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
9969
|
+
font-size: 0.75rem;
|
|
9765
9970
|
}
|
|
9766
|
-
|
|
9767
|
-
|
|
9768
|
-
|
|
9971
|
+
|
|
9972
|
+
.memory-card-loading {
|
|
9973
|
+
padding: 0.625rem 0;
|
|
9974
|
+
text-align: center;
|
|
9975
|
+
color: var(--color-text-muted);
|
|
9976
|
+
font-size: 0.75rem;
|
|
9977
|
+
font-style: italic;
|
|
9769
9978
|
}
|
|
9770
9979
|
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
|
-
|
|
9980
|
+
|
|
9981
|
+
/* ── Mobile responsive (≤48rem) ─────────────────────────────────────────── */
|
|
9982
|
+
|
|
9983
|
+
/* ── Trash panel · Recently Deleted ────────────────────────────────── */
|
|
9984
|
+
|
|
9985
|
+
.trash-loading,
|
|
9986
|
+
.trash-empty {
|
|
9774
9987
|
text-align: center;
|
|
9775
9988
|
color: var(--color-text-tertiary);
|
|
9776
9989
|
font-size: 0.8125rem;
|
|
9777
9990
|
padding: 1.5rem 0;
|
|
9778
9991
|
}
|
|
9779
|
-
.
|
|
9992
|
+
.trash-error {
|
|
9780
9993
|
text-align: center;
|
|
9781
9994
|
color: var(--color-error, #ef4444);
|
|
9782
9995
|
font-size: 0.8125rem;
|
|
9783
9996
|
padding: 1.5rem 0;
|
|
9784
9997
|
}
|
|
9785
|
-
.creator-notice {
|
|
9786
|
-
font-size: 0.75rem;
|
|
9787
|
-
padding: 0.5rem 0.75rem;
|
|
9788
|
-
border-radius: 6px;
|
|
9789
|
-
margin-bottom: 0.25rem;
|
|
9790
|
-
}
|
|
9791
|
-
.creator-notice-warn {
|
|
9792
|
-
background: rgba(250, 173, 20, 0.1);
|
|
9793
|
-
color: #b8860b;
|
|
9794
|
-
border: 1px solid rgba(250, 173, 20, 0.3);
|
|
9795
|
-
}
|
|
9796
|
-
[data-theme="dark"] .creator-notice-warn { color: #f5c842; }
|
|
9797
|
-
|
|
9798
|
-
/* ── Trash panel · Recently Deleted ────────────────────────────────── */
|
|
9799
9998
|
|
|
9800
9999
|
/* Tab switches (file trash / session trash) — mirrors skills-tabs pattern */
|
|
9801
10000
|
#trash-tabs {
|
|
@@ -9803,7 +10002,7 @@ body.setup-mode[data-theme="dark"] {
|
|
|
9803
10002
|
align-items: center;
|
|
9804
10003
|
justify-content: space-between;
|
|
9805
10004
|
border-bottom: 1px solid var(--color-border-primary);
|
|
9806
|
-
margin-bottom: 0.
|
|
10005
|
+
margin-bottom: 0.25rem;
|
|
9807
10006
|
}
|
|
9808
10007
|
.trash-tabs-left {
|
|
9809
10008
|
display: flex;
|
|
@@ -9908,11 +10107,68 @@ body.setup-mode[data-theme="dark"] {
|
|
|
9908
10107
|
opacity: .5;
|
|
9909
10108
|
cursor: not-allowed;
|
|
9910
10109
|
}
|
|
10110
|
+
|
|
10111
|
+
/* Skeleton card wrapper — uses global .skel for lines + animation */
|
|
10112
|
+
.trash-session-skeleton {
|
|
10113
|
+
background: var(--color-bg-secondary);
|
|
10114
|
+
border: 1px solid var(--color-border-primary);
|
|
10115
|
+
border-radius: 10px;
|
|
10116
|
+
padding: 0.75rem 1rem;
|
|
10117
|
+
display: flex;
|
|
10118
|
+
align-items: center;
|
|
10119
|
+
gap: 0.75rem;
|
|
10120
|
+
}
|
|
10121
|
+
.trash-session-skeleton-info {
|
|
10122
|
+
flex: 1;
|
|
10123
|
+
min-width: 0;
|
|
10124
|
+
display: flex;
|
|
10125
|
+
flex-direction: column;
|
|
10126
|
+
gap: 0.375rem;
|
|
10127
|
+
}
|
|
10128
|
+
.trash-skeleton-actions {
|
|
10129
|
+
display: flex;
|
|
10130
|
+
gap: 0.375rem;
|
|
10131
|
+
flex-shrink: 0;
|
|
10132
|
+
}
|
|
10133
|
+
.trash-skeleton-btn {
|
|
10134
|
+
width: 3.5rem;
|
|
10135
|
+
height: 1.625rem;
|
|
10136
|
+
border-radius: 5px;
|
|
10137
|
+
}
|
|
10138
|
+
.trash-session-hint {
|
|
10139
|
+
margin: -0.25rem 0;
|
|
10140
|
+
font-size: 0.75rem;
|
|
10141
|
+
color: var(--color-text-secondary);
|
|
10142
|
+
}
|
|
9911
10143
|
.trash-summary {
|
|
9912
10144
|
font-size: 0.6875rem;
|
|
9913
10145
|
color: var(--color-text-muted);
|
|
9914
10146
|
margin-right: auto;
|
|
9915
10147
|
}
|
|
10148
|
+
.trash-filter-bar {
|
|
10149
|
+
display: flex;
|
|
10150
|
+
align-items: center;
|
|
10151
|
+
gap: 0.375rem;
|
|
10152
|
+
}
|
|
10153
|
+
.trash-filter-chip {
|
|
10154
|
+
font-size: 0.6875rem;
|
|
10155
|
+
padding: 0.2rem 0.55rem;
|
|
10156
|
+
border-radius: 5px;
|
|
10157
|
+
border: 1px solid var(--color-border-primary);
|
|
10158
|
+
background: transparent;
|
|
10159
|
+
color: var(--color-text-muted);
|
|
10160
|
+
cursor: pointer;
|
|
10161
|
+
transition: background 0.14s, color 0.14s, border-color 0.14s;
|
|
10162
|
+
}
|
|
10163
|
+
.trash-filter-chip:hover {
|
|
10164
|
+
border-color: var(--color-accent-primary);
|
|
10165
|
+
color: var(--color-text-primary);
|
|
10166
|
+
}
|
|
10167
|
+
.trash-filter-chip.active {
|
|
10168
|
+
background: var(--color-accent-primary);
|
|
10169
|
+
border-color: var(--color-accent-primary);
|
|
10170
|
+
color: #fff;
|
|
10171
|
+
}
|
|
9916
10172
|
.trash-actions {
|
|
9917
10173
|
display: flex;
|
|
9918
10174
|
align-items: center;
|
|
@@ -11634,16 +11890,16 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11634
11890
|
.share-modal {
|
|
11635
11891
|
position: relative;
|
|
11636
11892
|
width: 100%;
|
|
11637
|
-
max-width:
|
|
11893
|
+
max-width: 780px;
|
|
11638
11894
|
max-height: 90vh;
|
|
11639
11895
|
overflow-y: auto;
|
|
11640
11896
|
background: var(--color-bg-card);
|
|
11641
11897
|
border: 1px solid var(--color-border-primary);
|
|
11642
11898
|
border-radius: var(--radius-lg, 14px);
|
|
11643
|
-
box-shadow: 0
|
|
11644
|
-
padding:
|
|
11645
|
-
transform: translateY(
|
|
11646
|
-
transition: transform .
|
|
11899
|
+
box-shadow: 0 24px 64px rgba(15, 18, 28, 0.28);
|
|
11900
|
+
padding: 28px;
|
|
11901
|
+
transform: translateY(10px) scale(.97);
|
|
11902
|
+
transition: transform .22s ease;
|
|
11647
11903
|
}
|
|
11648
11904
|
.share-overlay.open .share-modal { transform: translateY(0) scale(1); }
|
|
11649
11905
|
|
|
@@ -11657,59 +11913,81 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11657
11913
|
line-height: 1;
|
|
11658
11914
|
color: var(--color-text-muted);
|
|
11659
11915
|
cursor: pointer;
|
|
11916
|
+
width: 32px;
|
|
11917
|
+
height: 32px;
|
|
11918
|
+
border-radius: 8px;
|
|
11919
|
+
display: flex;
|
|
11920
|
+
align-items: center;
|
|
11921
|
+
justify-content: center;
|
|
11922
|
+
transition: background 0.15s ease, color 0.15s ease;
|
|
11923
|
+
}
|
|
11924
|
+
.share-close:hover {
|
|
11925
|
+
color: var(--color-text-primary);
|
|
11926
|
+
background: var(--color-bg-hover, rgba(0,0,0,0.07));
|
|
11660
11927
|
}
|
|
11661
|
-
.share-close:hover { color: var(--color-text-primary); }
|
|
11662
11928
|
|
|
11663
11929
|
.share-title {
|
|
11664
11930
|
margin: 0 0 4px;
|
|
11665
|
-
font-size: 1.
|
|
11931
|
+
font-size: 1.125rem;
|
|
11666
11932
|
font-weight: 700;
|
|
11667
11933
|
color: var(--color-text-primary);
|
|
11668
11934
|
}
|
|
11669
11935
|
.share-subtitle {
|
|
11670
|
-
margin: 0 0
|
|
11936
|
+
margin: 0 0 20px;
|
|
11671
11937
|
font-size: 0.8125rem;
|
|
11672
11938
|
color: var(--color-text-tertiary);
|
|
11673
11939
|
}
|
|
11674
11940
|
|
|
11675
11941
|
.share-body {
|
|
11676
11942
|
display: flex;
|
|
11677
|
-
gap:
|
|
11678
|
-
align-items:
|
|
11943
|
+
gap: 24px;
|
|
11944
|
+
align-items: stretch;
|
|
11679
11945
|
}
|
|
11680
11946
|
.share-controls {
|
|
11681
11947
|
flex: 1;
|
|
11682
11948
|
min-width: 0;
|
|
11949
|
+
display: flex;
|
|
11950
|
+
flex-direction: column;
|
|
11951
|
+
}
|
|
11952
|
+
.share-actions {
|
|
11953
|
+
margin-top: auto;
|
|
11683
11954
|
}
|
|
11684
11955
|
|
|
11685
11956
|
.share-poster-wrap {
|
|
11686
|
-
display: flex;
|
|
11687
|
-
justify-content: center;
|
|
11688
11957
|
flex-shrink: 0;
|
|
11958
|
+
display: flex;
|
|
11689
11959
|
}
|
|
11690
11960
|
.share-poster-img {
|
|
11691
|
-
width:
|
|
11961
|
+
width: 250px;
|
|
11962
|
+
object-fit: cover;
|
|
11692
11963
|
border-radius: var(--radius-md, 10px);
|
|
11693
|
-
box-shadow: 0
|
|
11964
|
+
box-shadow: 0 8px 28px rgba(15, 18, 28, 0.22);
|
|
11965
|
+
cursor: pointer;
|
|
11966
|
+
transition: box-shadow .2s ease;
|
|
11967
|
+
}
|
|
11968
|
+
.share-poster-img:hover {
|
|
11969
|
+
box-shadow: 0 12px 36px rgba(15, 18, 28, 0.3);
|
|
11694
11970
|
}
|
|
11695
11971
|
|
|
11696
|
-
@media (max-width:
|
|
11972
|
+
@media (max-width: 620px) {
|
|
11697
11973
|
.share-body { flex-direction: column; align-items: stretch; }
|
|
11698
11974
|
.share-poster-wrap { margin-bottom: 4px; }
|
|
11699
|
-
.share-poster-img { width:
|
|
11975
|
+
.share-poster-img { width: 100%; height: 200px; }
|
|
11700
11976
|
}
|
|
11701
11977
|
|
|
11702
11978
|
.share-row-label {
|
|
11703
|
-
font-size: 0.
|
|
11979
|
+
font-size: 0.6875rem;
|
|
11704
11980
|
font-weight: 600;
|
|
11705
|
-
|
|
11981
|
+
letter-spacing: .04em;
|
|
11982
|
+
text-transform: uppercase;
|
|
11983
|
+
color: var(--color-text-muted);
|
|
11706
11984
|
}
|
|
11707
11985
|
|
|
11708
11986
|
.share-theme-row {
|
|
11709
11987
|
display: flex;
|
|
11710
11988
|
flex-direction: column;
|
|
11711
|
-
gap:
|
|
11712
|
-
margin-bottom:
|
|
11989
|
+
gap: 8px;
|
|
11990
|
+
margin-bottom: 16px;
|
|
11713
11991
|
}
|
|
11714
11992
|
.share-theme-chips {
|
|
11715
11993
|
display: flex;
|
|
@@ -11717,29 +11995,46 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11717
11995
|
}
|
|
11718
11996
|
.share-theme-chip {
|
|
11719
11997
|
flex: 1;
|
|
11720
|
-
height:
|
|
11998
|
+
height: 40px;
|
|
11721
11999
|
border: 2px solid transparent;
|
|
11722
|
-
border-radius: var(--radius-sm,
|
|
12000
|
+
border-radius: var(--radius-sm, 8px);
|
|
11723
12001
|
cursor: pointer;
|
|
11724
12002
|
position: relative;
|
|
11725
12003
|
display: flex;
|
|
11726
12004
|
align-items: center;
|
|
11727
12005
|
justify-content: center;
|
|
11728
|
-
|
|
12006
|
+
gap: 6px;
|
|
12007
|
+
transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
|
|
12008
|
+
box-shadow: 0 2px 6px rgba(0,0,0,.08);
|
|
12009
|
+
}
|
|
12010
|
+
.share-theme-chip:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.14); }
|
|
12011
|
+
.share-theme-chip.is-active {
|
|
12012
|
+
border-color: var(--color-button-primary);
|
|
12013
|
+
box-shadow: 0 0 0 3px rgba(var(--color-button-primary-rgb, 124,58,237), .18);
|
|
11729
12014
|
}
|
|
11730
|
-
.share-theme-chip:hover { transform: translateY(-1px); }
|
|
11731
|
-
.share-theme-chip.is-active { border-color: var(--color-button-primary); }
|
|
11732
12015
|
.share-theme-name {
|
|
11733
12016
|
font-size: 0.6875rem;
|
|
11734
12017
|
font-weight: 700;
|
|
11735
|
-
color: rgba(0,0,0,.55);
|
|
11736
|
-
text-shadow: 0 1px 0 rgba(255,255,255,.4);
|
|
11737
12018
|
pointer-events: none;
|
|
11738
12019
|
}
|
|
12020
|
+
.share-theme-dot {
|
|
12021
|
+
width: 8px;
|
|
12022
|
+
height: 8px;
|
|
12023
|
+
border-radius: 50%;
|
|
12024
|
+
flex-shrink: 0;
|
|
12025
|
+
pointer-events: none;
|
|
12026
|
+
box-shadow: 0 0 0 1.5px rgba(255,255,255,.3);
|
|
12027
|
+
}
|
|
11739
12028
|
.share-theme-chip[data-theme="geek"] .share-theme-name {
|
|
11740
12029
|
color: rgba(255,255,255,.92);
|
|
11741
12030
|
text-shadow: 0 1px 2px rgba(0,0,0,.4);
|
|
11742
12031
|
}
|
|
12032
|
+
.share-theme-chip[data-theme="light"] .share-theme-name {
|
|
12033
|
+
color: rgba(15,23,42,.72);
|
|
12034
|
+
}
|
|
12035
|
+
.share-theme-chip[data-theme="warm"] .share-theme-name {
|
|
12036
|
+
color: rgba(124,45,18,.85);
|
|
12037
|
+
}
|
|
11743
12038
|
|
|
11744
12039
|
.share-periods {
|
|
11745
12040
|
display: inline-flex;
|
|
@@ -11771,7 +12066,7 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11771
12066
|
display: grid;
|
|
11772
12067
|
grid-template-columns: repeat(4, 1fr);
|
|
11773
12068
|
gap: 8px;
|
|
11774
|
-
margin-bottom:
|
|
12069
|
+
margin-bottom: 16px;
|
|
11775
12070
|
}
|
|
11776
12071
|
.share-platform {
|
|
11777
12072
|
padding: 9px 4px;
|
|
@@ -11779,22 +12074,31 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11779
12074
|
border-radius: var(--radius-sm, 6px);
|
|
11780
12075
|
background: var(--color-bg-primary);
|
|
11781
12076
|
color: var(--color-text-secondary);
|
|
11782
|
-
font-size: 0.
|
|
12077
|
+
font-size: 0.75rem;
|
|
11783
12078
|
font-weight: 600;
|
|
11784
12079
|
cursor: pointer;
|
|
11785
|
-
|
|
12080
|
+
display: flex;
|
|
12081
|
+
flex-direction: column;
|
|
12082
|
+
align-items: center;
|
|
12083
|
+
gap: 4px;
|
|
12084
|
+
transition: background .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
|
|
11786
12085
|
}
|
|
11787
12086
|
.share-platform:hover {
|
|
11788
12087
|
background: var(--color-bg-hover);
|
|
11789
12088
|
border-color: var(--color-border-strong);
|
|
12089
|
+
transform: translateY(-1px);
|
|
11790
12090
|
}
|
|
11791
12091
|
.share-platform.is-active {
|
|
11792
12092
|
background: var(--color-button-primary);
|
|
11793
12093
|
color: var(--color-button-primary-text);
|
|
11794
12094
|
border-color: var(--color-button-primary);
|
|
11795
12095
|
}
|
|
12096
|
+
.share-platform-icon {
|
|
12097
|
+
font-size: 1.125rem;
|
|
12098
|
+
line-height: 1;
|
|
12099
|
+
}
|
|
11796
12100
|
|
|
11797
|
-
.share-editor { margin-bottom:
|
|
12101
|
+
.share-editor { margin-bottom: 16px; }
|
|
11798
12102
|
.share-editor-head {
|
|
11799
12103
|
display: flex;
|
|
11800
12104
|
align-items: center;
|
|
@@ -11809,25 +12113,29 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11809
12113
|
font-weight: 600;
|
|
11810
12114
|
cursor: pointer;
|
|
11811
12115
|
padding: 2px 4px;
|
|
12116
|
+
border-radius: 4px;
|
|
12117
|
+
transition: background .1s ease;
|
|
11812
12118
|
}
|
|
11813
|
-
.share-shuffle:hover {
|
|
12119
|
+
.share-shuffle:hover { background: var(--color-bg-hover); }
|
|
11814
12120
|
.share-text {
|
|
11815
12121
|
width: 100%;
|
|
11816
12122
|
box-sizing: border-box;
|
|
11817
12123
|
resize: vertical;
|
|
11818
|
-
min-height:
|
|
12124
|
+
min-height: 80px;
|
|
11819
12125
|
padding: 10px 12px;
|
|
11820
12126
|
border: 1px solid var(--color-border-primary);
|
|
11821
12127
|
border-radius: var(--radius-sm, 6px);
|
|
11822
12128
|
background: var(--color-bg-primary);
|
|
11823
12129
|
color: var(--color-text-primary);
|
|
11824
12130
|
font-size: 0.8125rem;
|
|
11825
|
-
line-height: 1.
|
|
12131
|
+
line-height: 1.6;
|
|
11826
12132
|
font-family: inherit;
|
|
12133
|
+
transition: border-color .12s ease;
|
|
11827
12134
|
}
|
|
11828
12135
|
.share-text:focus {
|
|
11829
12136
|
outline: none;
|
|
11830
12137
|
border-color: var(--color-button-primary);
|
|
12138
|
+
box-shadow: 0 0 0 2px rgba(var(--color-button-primary-rgb, 124,58,237), .12);
|
|
11831
12139
|
}
|
|
11832
12140
|
|
|
11833
12141
|
.share-actions {
|
|
@@ -11835,28 +12143,44 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11835
12143
|
flex-wrap: wrap;
|
|
11836
12144
|
gap: 8px;
|
|
11837
12145
|
}
|
|
11838
|
-
.share-btn-primary, .share-btn-secondary {
|
|
11839
|
-
padding: 10px;
|
|
11840
|
-
border-radius: var(--radius-sm, 6px);
|
|
11841
|
-
font-size: 0.8125rem;
|
|
11842
|
-
font-weight: 600;
|
|
11843
|
-
cursor: pointer;
|
|
11844
|
-
border: 1px solid var(--color-border-primary);
|
|
11845
|
-
}
|
|
11846
12146
|
.share-btn-primary {
|
|
11847
12147
|
flex: 1 1 100%;
|
|
12148
|
+
padding: 12px 16px;
|
|
12149
|
+
border-radius: var(--radius-sm, 8px);
|
|
12150
|
+
font-size: 0.9375rem;
|
|
12151
|
+
font-weight: 700;
|
|
12152
|
+
cursor: pointer;
|
|
12153
|
+
border: none;
|
|
11848
12154
|
background: var(--color-button-primary);
|
|
11849
12155
|
color: var(--color-button-primary-text);
|
|
11850
|
-
|
|
12156
|
+
letter-spacing: .01em;
|
|
12157
|
+
transition: background .14s ease, transform .1s ease, box-shadow .14s ease;
|
|
12158
|
+
box-shadow: 0 2px 8px rgba(var(--color-button-primary-rgb, 124,58,237), .3);
|
|
11851
12159
|
}
|
|
11852
|
-
.share-btn-primary:hover {
|
|
12160
|
+
.share-btn-primary:hover {
|
|
12161
|
+
background: var(--color-button-primary-hover);
|
|
12162
|
+
transform: translateY(-1px);
|
|
12163
|
+
box-shadow: 0 4px 14px rgba(var(--color-button-primary-rgb, 124,58,237), .4);
|
|
12164
|
+
}
|
|
12165
|
+
.share-btn-primary:active { transform: translateY(0); }
|
|
11853
12166
|
.share-btn-secondary {
|
|
11854
|
-
flex: 1 1 calc(
|
|
11855
|
-
min-width:
|
|
12167
|
+
flex: 1 1 calc(33% - 6px);
|
|
12168
|
+
min-width: 80px;
|
|
12169
|
+
padding: 9px 8px;
|
|
12170
|
+
border-radius: var(--radius-sm, 6px);
|
|
12171
|
+
font-size: 0.8125rem;
|
|
12172
|
+
font-weight: 600;
|
|
12173
|
+
cursor: pointer;
|
|
12174
|
+
border: 1px solid var(--color-border-primary);
|
|
11856
12175
|
background: var(--color-bg-primary);
|
|
11857
12176
|
color: var(--color-text-secondary);
|
|
12177
|
+
transition: background .12s ease, border-color .12s ease, color .12s ease;
|
|
12178
|
+
}
|
|
12179
|
+
.share-btn-secondary:hover {
|
|
12180
|
+
background: var(--color-bg-hover);
|
|
12181
|
+
border-color: var(--color-border-strong);
|
|
12182
|
+
color: var(--color-text-primary);
|
|
11858
12183
|
}
|
|
11859
|
-
.share-btn-secondary:hover { background: var(--color-bg-hover); }
|
|
11860
12184
|
|
|
11861
12185
|
#share-toggle-header svg { display: block; }
|
|
11862
12186
|
|
|
@@ -12136,10 +12460,9 @@ body.setup-mode[data-theme="dark"] {
|
|
|
12136
12460
|
gap: 0.75rem;
|
|
12137
12461
|
}
|
|
12138
12462
|
|
|
12139
|
-
/* ── Billing / Trash
|
|
12463
|
+
/* ── Billing / Trash pages ── */
|
|
12140
12464
|
#billing-body { padding: 1rem 1rem 1rem; }
|
|
12141
12465
|
#trash-body { padding: 1rem 1rem 1rem; }
|
|
12142
|
-
#creator-body { padding: 1rem 1rem 1rem; }
|
|
12143
12466
|
|
|
12144
12467
|
.billing-heatmap-row { grid-template-columns: 1fr; }
|
|
12145
12468
|
|
|
@@ -12297,5 +12620,41 @@ body.setup-mode[data-theme="dark"] {
|
|
|
12297
12620
|
#workspace-overlay.active {
|
|
12298
12621
|
display: block;
|
|
12299
12622
|
}
|
|
12623
|
+
|
|
12624
|
+
/* ── New-session page: mobile ── */
|
|
12625
|
+
#welcome.new-session-page {
|
|
12626
|
+
position: fixed;
|
|
12627
|
+
top: 3rem;
|
|
12628
|
+
left: 0;
|
|
12629
|
+
right: 0;
|
|
12630
|
+
bottom: 0;
|
|
12631
|
+
overflow: hidden;
|
|
12632
|
+
padding: 0;
|
|
12633
|
+
justify-content: flex-start;
|
|
12634
|
+
height: auto;
|
|
12635
|
+
}
|
|
12636
|
+
.new-session-inner {
|
|
12637
|
+
height: 100%;
|
|
12638
|
+
display: flex;
|
|
12639
|
+
flex-direction: column;
|
|
12640
|
+
}
|
|
12641
|
+
.new-session-spacer {
|
|
12642
|
+
display: none;
|
|
12643
|
+
}
|
|
12644
|
+
.new-session-body {
|
|
12645
|
+
flex: 1 1 auto;
|
|
12646
|
+
min-height: 0;
|
|
12647
|
+
overflow-y: auto;
|
|
12648
|
+
-webkit-overflow-scrolling: touch;
|
|
12649
|
+
padding: 1.25rem 1rem 1rem;
|
|
12650
|
+
max-width: 100%;
|
|
12651
|
+
}
|
|
12652
|
+
.new-session-composer {
|
|
12653
|
+
flex: none;
|
|
12654
|
+
position: static;
|
|
12655
|
+
padding: 0.75rem 1rem 1rem;
|
|
12656
|
+
border-top: 1px solid var(--color-border-subtle);
|
|
12657
|
+
background: var(--color-bg-primary);
|
|
12658
|
+
}
|
|
12300
12659
|
}
|
|
12301
12660
|
|