openclacky 1.3.6 → 1.3.7
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 +30 -0
- data/lib/clacky/agent.rb +8 -1
- data/lib/clacky/agent_profile.rb +121 -53
- data/lib/clacky/brand_config.rb +309 -6
- data/lib/clacky/cli.rb +4 -57
- data/lib/clacky/default_extensions/coding/ext.yml +18 -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 +32 -0
- data/lib/clacky/default_extensions/ext-studio/panels/studio/view.js +1269 -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/ext.yml +18 -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} +1 -2
- 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 -89
- 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 +483 -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 +313 -144
- data/lib/clacky/server/session_registry.rb +9 -2
- data/lib/clacky/skill_loader.rb +28 -1
- data/lib/clacky/ui2/ui_controller.rb +9 -6
- data/lib/clacky/version.rb +1 -1
- data/lib/clacky/web/app.css +748 -573
- 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 +316 -79
- 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 +389 -0
- data/lib/clacky/web/features/new-session/store.js +186 -0
- data/lib/clacky/web/features/new-session/view.js +319 -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 +46 -9
- 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 +118 -106
- data/lib/clacky/web/index.html +138 -188
- data/lib/clacky/web/sessions.js +64 -269
- data/lib/clacky/web/settings.js +1 -1
- data/lib/clacky/web/skills.js +2 -0
- data/lib/clacky/web/theme.js +2 -0
- data/lib/clacky/web/ws-dispatcher.js +1 -0
- data/lib/clacky/web/ws.js +2 -0
- data/lib/clacky.rb +21 -10
- metadata +55 -24
- 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
|
@@ -607,6 +607,21 @@ body {
|
|
|
607
607
|
}
|
|
608
608
|
#session-list { padding: 4px 0 0; min-height: 6.75rem; }
|
|
609
609
|
|
|
610
|
+
/* ── Extension nav slots (top / mid / bottom) ───────────────────────────── */
|
|
611
|
+
[id^="ext-slot-sidebar-nav"] { display: block; }
|
|
612
|
+
[id^="ext-slot-sidebar-nav"]:empty { display: none; }
|
|
613
|
+
#ext-slot-sidebar-nav-top {
|
|
614
|
+
padding: 8px 0 10px;
|
|
615
|
+
margin-bottom: 6px;
|
|
616
|
+
border-bottom: 1px solid var(--color-border-secondary);
|
|
617
|
+
}
|
|
618
|
+
#ext-slot-sidebar-nav { padding: 6px 0 4px; }
|
|
619
|
+
#ext-slot-sidebar-nav-bottom {
|
|
620
|
+
padding: 8px 0 10px;
|
|
621
|
+
margin-top: 6px;
|
|
622
|
+
border-top: 1px solid var(--color-border-secondary);
|
|
623
|
+
}
|
|
624
|
+
|
|
610
625
|
/* ── Sidebar divider (Section Labels) ───────────────────────────────────── */
|
|
611
626
|
.sidebar-divider {
|
|
612
627
|
display: flex;
|
|
@@ -645,19 +660,12 @@ body {
|
|
|
645
660
|
gap: 4px;
|
|
646
661
|
}
|
|
647
662
|
|
|
648
|
-
/* ──
|
|
649
|
-
.btn-split-wrap {
|
|
650
|
-
position: relative;
|
|
651
|
-
display: flex;
|
|
652
|
-
align-items: center;
|
|
653
|
-
border-radius: 6px;
|
|
654
|
-
overflow: visible;
|
|
655
|
-
}
|
|
663
|
+
/* ── New Session button ──────────────────────────────────────────────────── */
|
|
656
664
|
.btn-split-main {
|
|
657
665
|
height: 1.5rem;
|
|
658
666
|
padding: 0 0.625rem;
|
|
659
667
|
border: none;
|
|
660
|
-
border-radius: 6px
|
|
668
|
+
border-radius: 6px;
|
|
661
669
|
background: var(--color-accent-primary);
|
|
662
670
|
color: #fff;
|
|
663
671
|
font-size: 0.75rem;
|
|
@@ -671,51 +679,6 @@ body {
|
|
|
671
679
|
background: var(--color-button-primary-hover);
|
|
672
680
|
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
|
|
673
681
|
}
|
|
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
682
|
|
|
720
683
|
/* ── Session source badge ────────────────────────────────────────────────── */
|
|
721
684
|
/* Design: compact neutral chips — the visual weight is carried by the
|
|
@@ -769,6 +732,21 @@ body {
|
|
|
769
732
|
.session-item.active .session-badge--coding {
|
|
770
733
|
color: var(--color-text-tertiary);
|
|
771
734
|
}
|
|
735
|
+
/* Agent profile: extension / custom agents — same hollow neutral base as
|
|
736
|
+
coding, but a subtle accent tint keeps user-defined agents visually
|
|
737
|
+
distinct from the built-in "coding" tag. */
|
|
738
|
+
.session-badge--agent {
|
|
739
|
+
background: transparent;
|
|
740
|
+
color: var(--color-accent-primary);
|
|
741
|
+
border-color: var(--color-accent-soft);
|
|
742
|
+
max-width: 8rem;
|
|
743
|
+
overflow: hidden;
|
|
744
|
+
text-overflow: ellipsis;
|
|
745
|
+
white-space: nowrap;
|
|
746
|
+
}
|
|
747
|
+
.session-item.active .session-badge--agent {
|
|
748
|
+
border-color: var(--color-accent-primary);
|
|
749
|
+
}
|
|
772
750
|
|
|
773
751
|
|
|
774
752
|
/* ── Sidebar divider actions group ───────────────────────────────────────── */
|
|
@@ -1516,6 +1494,23 @@ body {
|
|
|
1516
1494
|
background: var(--color-accent-primary);
|
|
1517
1495
|
}
|
|
1518
1496
|
|
|
1497
|
+
/* Extension nav mounts are wrapped by ext.js; the Router stamps .active on the
|
|
1498
|
+
wrapper, so the highlight is forwarded to the inner nav item. */
|
|
1499
|
+
[data-ext-workspace].active > .task-item {
|
|
1500
|
+
background: var(--color-accent-soft);
|
|
1501
|
+
}
|
|
1502
|
+
[data-ext-workspace].active > .task-item::before {
|
|
1503
|
+
content: "";
|
|
1504
|
+
position: absolute;
|
|
1505
|
+
left: -10px;
|
|
1506
|
+
top: 50%;
|
|
1507
|
+
transform: translateY(-50%);
|
|
1508
|
+
width: 3px;
|
|
1509
|
+
height: 17px;
|
|
1510
|
+
border-radius: 0 3px 3px 0;
|
|
1511
|
+
background: var(--color-accent-primary);
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1519
1514
|
.task-row {
|
|
1520
1515
|
display: flex;
|
|
1521
1516
|
align-items: center;
|
|
@@ -1839,6 +1834,14 @@ body {
|
|
|
1839
1834
|
background: var(--color-bg-secondary);
|
|
1840
1835
|
transition: background-color var(--transition-base);
|
|
1841
1836
|
}
|
|
1837
|
+
|
|
1838
|
+
/* Extension workspace slot: give any registered workspace the same page
|
|
1839
|
+
chrome as built-in pages (padding + scroll) so extensions don't reinvent it. */
|
|
1840
|
+
#ext-slot-main-workspace {
|
|
1841
|
+
flex: 1;
|
|
1842
|
+
overflow-y: auto;
|
|
1843
|
+
padding: 2rem 2rem 1.5rem;
|
|
1844
|
+
}
|
|
1842
1845
|
.centered {
|
|
1843
1846
|
flex: 1;
|
|
1844
1847
|
display: flex;
|
|
@@ -1849,80 +1852,263 @@ body {
|
|
|
1849
1852
|
color: var(--color-text-secondary);
|
|
1850
1853
|
}
|
|
1851
1854
|
|
|
1852
|
-
/* ──
|
|
1853
|
-
.
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
display: grid;
|
|
1859
|
-
place-items: center;
|
|
1855
|
+
/* ── New Session landing page (#new) ─────────────────────────────────────── */
|
|
1856
|
+
.new-session-page {
|
|
1857
|
+
justify-content: flex-start;
|
|
1858
|
+
padding: 3rem 1.5rem 2rem;
|
|
1859
|
+
overflow-y: auto;
|
|
1860
|
+
gap: 0;
|
|
1860
1861
|
}
|
|
1861
|
-
.
|
|
1862
|
-
|
|
1862
|
+
.new-session-inner {
|
|
1863
|
+
width: 100%;
|
|
1864
|
+
max-width: 44rem;
|
|
1863
1865
|
display: flex;
|
|
1864
1866
|
flex-direction: column;
|
|
1865
|
-
gap:
|
|
1866
|
-
align-items: center;
|
|
1867
|
+
gap: 1.5rem;
|
|
1867
1868
|
}
|
|
1868
|
-
.
|
|
1869
|
-
font-size: 1.
|
|
1869
|
+
.new-session-title {
|
|
1870
|
+
font-size: 1.5rem;
|
|
1870
1871
|
font-weight: 680;
|
|
1871
1872
|
color: var(--color-text-primary);
|
|
1872
1873
|
letter-spacing: -0.01em;
|
|
1873
1874
|
text-align: center;
|
|
1875
|
+
margin: 0;
|
|
1874
1876
|
}
|
|
1875
|
-
.
|
|
1877
|
+
.new-session-subtitle {
|
|
1876
1878
|
color: var(--color-text-tertiary);
|
|
1877
|
-
font-size: 0.
|
|
1879
|
+
font-size: 0.875rem;
|
|
1878
1880
|
text-align: center;
|
|
1881
|
+
margin: 0;
|
|
1879
1882
|
}
|
|
1880
|
-
.
|
|
1883
|
+
.new-session-agents {
|
|
1881
1884
|
display: flex;
|
|
1882
|
-
gap: 0.625rem;
|
|
1883
1885
|
flex-wrap: wrap;
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
+
gap: 0.75rem;
|
|
1887
|
+
justify-content: flex-start;
|
|
1886
1888
|
}
|
|
1887
|
-
.
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1889
|
+
.agent-card {
|
|
1890
|
+
position: relative;
|
|
1891
|
+
flex: 1 1 12rem;
|
|
1892
|
+
min-width: 11rem;
|
|
1893
|
+
max-width: 15rem;
|
|
1894
|
+
padding: 0.9375rem 1rem;
|
|
1892
1895
|
border: 1px solid var(--color-border-primary);
|
|
1893
|
-
border-radius: 0.
|
|
1896
|
+
border-radius: 0.75rem;
|
|
1894
1897
|
background: var(--color-bg-primary);
|
|
1895
1898
|
cursor: pointer;
|
|
1896
1899
|
text-align: left;
|
|
1897
|
-
transition: border-color 0.14s, transform 0.14s;
|
|
1900
|
+
transition: border-color 0.14s, background-color 0.14s, transform 0.14s;
|
|
1901
|
+
display: flex;
|
|
1902
|
+
flex-direction: column;
|
|
1903
|
+
gap: 0.25rem;
|
|
1898
1904
|
}
|
|
1899
|
-
.
|
|
1900
|
-
border-color: color-mix(in srgb, var(--color-accent-primary)
|
|
1905
|
+
.agent-card:hover {
|
|
1906
|
+
border-color: color-mix(in srgb, var(--color-accent-primary) 40%, var(--color-border-primary));
|
|
1901
1907
|
transform: translateY(-1px);
|
|
1902
1908
|
}
|
|
1903
|
-
.
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1909
|
+
.agent-card--selected {
|
|
1910
|
+
border-color: var(--color-accent-primary);
|
|
1911
|
+
background: var(--color-accent-soft);
|
|
1912
|
+
}
|
|
1913
|
+
.agent-card-title {
|
|
1914
|
+
font-size: 0.9375rem;
|
|
1915
|
+
font-weight: 620;
|
|
1916
|
+
color: var(--color-text-primary);
|
|
1917
|
+
display: flex;
|
|
1918
|
+
align-items: center;
|
|
1919
|
+
gap: 0.375rem;
|
|
1920
|
+
}
|
|
1921
|
+
.agent-card-new {
|
|
1922
|
+
font-size: 0.6rem;
|
|
1923
|
+
font-weight: 700;
|
|
1924
|
+
line-height: 1;
|
|
1925
|
+
padding: 2px 5px;
|
|
1926
|
+
border-radius: 4px;
|
|
1927
|
+
background: color-mix(in srgb, #16a34a 18%, transparent);
|
|
1928
|
+
color: #16a34a;
|
|
1929
|
+
letter-spacing: 0.04em;
|
|
1930
|
+
}
|
|
1931
|
+
.agent-card-desc {
|
|
1932
|
+
font-size: 0.78125rem;
|
|
1933
|
+
color: var(--color-text-tertiary);
|
|
1934
|
+
line-height: 1.4;
|
|
1935
|
+
}
|
|
1936
|
+
.agent-card-badge {
|
|
1937
|
+
position: absolute;
|
|
1938
|
+
top: 0.5rem;
|
|
1939
|
+
right: 0.5rem;
|
|
1940
|
+
font-size: 0.65rem;
|
|
1941
|
+
font-weight: 600;
|
|
1942
|
+
padding: 1px 5px;
|
|
1943
|
+
border-radius: 4px;
|
|
1907
1944
|
background: var(--color-bg-hover);
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1945
|
+
color: var(--color-text-secondary);
|
|
1946
|
+
letter-spacing: 0.02em;
|
|
1947
|
+
text-transform: uppercase;
|
|
1911
1948
|
}
|
|
1912
|
-
.
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1949
|
+
.agent-card-badge--custom {
|
|
1950
|
+
background: color-mix(in srgb, var(--color-accent-primary) 15%, transparent);
|
|
1951
|
+
color: var(--color-accent-primary);
|
|
1952
|
+
}
|
|
1953
|
+
.agent-card-author {
|
|
1954
|
+
font-size: 0.72rem;
|
|
1918
1955
|
color: var(--color-text-tertiary);
|
|
1956
|
+
opacity: 0.8;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
.new-session-composer {
|
|
1960
|
+
display: flex;
|
|
1961
|
+
flex-direction: column;
|
|
1962
|
+
gap: 0.5rem;
|
|
1963
|
+
border: 1px solid var(--color-border-primary);
|
|
1964
|
+
border-radius: 0.75rem;
|
|
1965
|
+
padding: 0.75rem;
|
|
1966
|
+
background: var(--color-bg-primary);
|
|
1967
|
+
}
|
|
1968
|
+
.new-session-textarea {
|
|
1969
|
+
width: 100%;
|
|
1970
|
+
border: none;
|
|
1971
|
+
outline: none;
|
|
1972
|
+
resize: vertical;
|
|
1973
|
+
background: transparent;
|
|
1974
|
+
color: var(--color-text-primary);
|
|
1975
|
+
font: inherit;
|
|
1976
|
+
font-size: 0.9375rem;
|
|
1977
|
+
line-height: 1.5;
|
|
1978
|
+
padding: 0.25rem;
|
|
1979
|
+
min-height: 3rem;
|
|
1980
|
+
max-height: 12rem;
|
|
1981
|
+
}
|
|
1982
|
+
.new-session-composer-actions {
|
|
1983
|
+
display: flex;
|
|
1984
|
+
align-items: center;
|
|
1985
|
+
justify-content: flex-end;
|
|
1986
|
+
gap: 0.5rem;
|
|
1987
|
+
}
|
|
1988
|
+
.new-session-advanced-wrap {
|
|
1989
|
+
display: flex;
|
|
1990
|
+
flex-direction: column;
|
|
1991
|
+
gap: 0.5rem;
|
|
1992
|
+
align-items: flex-start;
|
|
1993
|
+
}
|
|
1994
|
+
.new-session-advanced-toggle {
|
|
1995
|
+
display: inline-flex;
|
|
1996
|
+
align-items: center;
|
|
1997
|
+
gap: 0.375rem;
|
|
1919
1998
|
border: none;
|
|
1999
|
+
background: transparent;
|
|
2000
|
+
color: var(--color-text-tertiary);
|
|
2001
|
+
font-size: 0.8125rem;
|
|
2002
|
+
cursor: pointer;
|
|
1920
2003
|
padding: 0.25rem 0.5rem;
|
|
2004
|
+
border-radius: 0.375rem;
|
|
2005
|
+
transition: color var(--transition-fast), background-color var(--transition-fast);
|
|
2006
|
+
}
|
|
2007
|
+
.new-session-advanced-toggle:hover {
|
|
2008
|
+
color: var(--color-text-secondary);
|
|
2009
|
+
background: var(--color-bg-hover);
|
|
2010
|
+
}
|
|
2011
|
+
.new-session-advanced-caret {
|
|
2012
|
+
transition: transform 0.15s;
|
|
2013
|
+
}
|
|
2014
|
+
.new-session-advanced-toggle.is-open .new-session-advanced-caret {
|
|
2015
|
+
transform: rotate(180deg);
|
|
2016
|
+
}
|
|
2017
|
+
.new-session-send {
|
|
2018
|
+
padding: 0.4375rem 1rem;
|
|
2019
|
+
border: none;
|
|
2020
|
+
border-radius: 0.5rem;
|
|
2021
|
+
background: var(--color-accent-primary);
|
|
2022
|
+
color: var(--color-text-inverse, #fff);
|
|
2023
|
+
font-size: 0.875rem;
|
|
2024
|
+
font-weight: 550;
|
|
2025
|
+
cursor: pointer;
|
|
2026
|
+
transition: opacity 0.14s;
|
|
2027
|
+
}
|
|
2028
|
+
.new-session-send:disabled {
|
|
2029
|
+
opacity: 0.45;
|
|
2030
|
+
cursor: not-allowed;
|
|
2031
|
+
}
|
|
2032
|
+
.new-session-send:not(:disabled):hover {
|
|
2033
|
+
opacity: 0.9;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
.new-session-advanced {
|
|
2037
|
+
display: flex;
|
|
2038
|
+
flex-direction: column;
|
|
2039
|
+
gap: 0.75rem;
|
|
2040
|
+
padding: 0.9375rem;
|
|
2041
|
+
border: 1px solid var(--color-border-primary);
|
|
2042
|
+
border-radius: 0.75rem;
|
|
2043
|
+
background: var(--color-bg-secondary);
|
|
2044
|
+
align-self: stretch;
|
|
2045
|
+
}
|
|
2046
|
+
.new-session-advanced[hidden] {
|
|
2047
|
+
display: none;
|
|
2048
|
+
}
|
|
2049
|
+
.new-session-field {
|
|
2050
|
+
display: flex;
|
|
2051
|
+
flex-direction: column;
|
|
2052
|
+
gap: 0.3125rem;
|
|
2053
|
+
}
|
|
2054
|
+
.new-session-label {
|
|
2055
|
+
font-size: 0.78125rem;
|
|
2056
|
+
color: var(--color-text-secondary);
|
|
2057
|
+
font-weight: 540;
|
|
2058
|
+
}
|
|
2059
|
+
.new-session-input,
|
|
2060
|
+
.new-session-select {
|
|
2061
|
+
width: 100%;
|
|
2062
|
+
padding: 0.4375rem 0.625rem;
|
|
2063
|
+
border: 1px solid var(--color-border-primary);
|
|
2064
|
+
border-radius: 0.4375rem;
|
|
2065
|
+
background: var(--color-bg-primary);
|
|
2066
|
+
color: var(--color-text-primary);
|
|
2067
|
+
font-size: 0.8125rem;
|
|
2068
|
+
font-family: inherit;
|
|
2069
|
+
}
|
|
2070
|
+
.new-session-input:focus,
|
|
2071
|
+
.new-session-select:focus {
|
|
2072
|
+
outline: none;
|
|
2073
|
+
border-color: var(--color-accent-primary);
|
|
2074
|
+
}
|
|
2075
|
+
.new-session-input-row {
|
|
2076
|
+
display: flex;
|
|
2077
|
+
gap: 0.375rem;
|
|
2078
|
+
}
|
|
2079
|
+
.new-session-input-row .new-session-input {
|
|
2080
|
+
flex: 1;
|
|
2081
|
+
}
|
|
2082
|
+
.new-session-browse-btn {
|
|
2083
|
+
padding: 0 0.625rem;
|
|
2084
|
+
border: 1px solid var(--color-border-primary);
|
|
2085
|
+
border-radius: 0.4375rem;
|
|
2086
|
+
background: var(--color-bg-primary);
|
|
2087
|
+
color: var(--color-text-secondary);
|
|
2088
|
+
cursor: pointer;
|
|
2089
|
+
display: grid;
|
|
2090
|
+
place-items: center;
|
|
2091
|
+
transition: border-color var(--transition-fast), color var(--transition-fast);
|
|
2092
|
+
}
|
|
2093
|
+
.new-session-browse-btn:hover {
|
|
2094
|
+
border-color: var(--color-accent-primary);
|
|
2095
|
+
color: var(--color-accent-primary);
|
|
2096
|
+
}
|
|
2097
|
+
.new-session-checkbox-field {
|
|
2098
|
+
display: flex;
|
|
2099
|
+
align-items: center;
|
|
2100
|
+
}
|
|
2101
|
+
.new-session-checkbox-label {
|
|
2102
|
+
display: inline-flex;
|
|
2103
|
+
align-items: center;
|
|
2104
|
+
gap: 0.5rem;
|
|
1921
2105
|
font-size: 0.8125rem;
|
|
2106
|
+
color: var(--color-text-secondary);
|
|
2107
|
+
cursor: pointer;
|
|
2108
|
+
}
|
|
2109
|
+
.new-session-checkbox {
|
|
1922
2110
|
cursor: pointer;
|
|
1923
|
-
transition: color var(--transition-fast);
|
|
1924
2111
|
}
|
|
1925
|
-
#btn-welcome-new:hover { color: var(--color-text-secondary); text-decoration: underline; }
|
|
1926
2112
|
|
|
1927
2113
|
|
|
1928
2114
|
/* ── Chat panel ──────────────────────────────────────────────────────────── */
|
|
@@ -5780,24 +5966,7 @@ body {
|
|
|
5780
5966
|
border-color: var(--color-accent-primary);
|
|
5781
5967
|
}
|
|
5782
5968
|
|
|
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
|
-
}
|
|
5969
|
+
|
|
5801
5970
|
.modal-box .modal-header {
|
|
5802
5971
|
display: flex;
|
|
5803
5972
|
align-items: center;
|
|
@@ -5922,13 +6091,6 @@ body {
|
|
|
5922
6091
|
cursor: pointer;
|
|
5923
6092
|
accent-color: var(--color-accent-primary);
|
|
5924
6093
|
}
|
|
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
6094
|
.modal-footer {
|
|
5933
6095
|
display: flex;
|
|
5934
6096
|
gap: 0.625rem;
|
|
@@ -6287,7 +6449,7 @@ body {
|
|
|
6287
6449
|
transition: transform 0.18s;
|
|
6288
6450
|
}
|
|
6289
6451
|
.skills-filter-toggle input:checked ~ .skills-filter-toggle-track {
|
|
6290
|
-
background: var(--color-accent
|
|
6452
|
+
background: var(--color-accent-primary);
|
|
6291
6453
|
}
|
|
6292
6454
|
.skills-filter-toggle input:checked ~ .skills-filter-toggle-track::after {
|
|
6293
6455
|
transform: translateX(0.875rem);
|
|
@@ -6310,7 +6472,7 @@ body {
|
|
|
6310
6472
|
color: var(--color-text-secondary);
|
|
6311
6473
|
font-size: 0.8125rem;
|
|
6312
6474
|
}
|
|
6313
|
-
/* Guided CTA card in the empty-skills state
|
|
6475
|
+
/* Guided CTA card in the empty-skills state */
|
|
6314
6476
|
.skills-empty-create-btn {
|
|
6315
6477
|
display: flex;
|
|
6316
6478
|
align-items: center;
|
|
@@ -6777,6 +6939,240 @@ body {
|
|
|
6777
6939
|
margin-bottom: 0.625rem;
|
|
6778
6940
|
}
|
|
6779
6941
|
|
|
6942
|
+
/* ── Extension Market ─────────────────────────────────────────────────── */
|
|
6943
|
+
#extensions-body {
|
|
6944
|
+
flex: 1;
|
|
6945
|
+
overflow-y: auto;
|
|
6946
|
+
padding: 1.75rem 2.25rem;
|
|
6947
|
+
display: flex;
|
|
6948
|
+
flex-direction: column;
|
|
6949
|
+
gap: 1.25rem;
|
|
6950
|
+
}
|
|
6951
|
+
.extensions-toolbar {
|
|
6952
|
+
display: flex;
|
|
6953
|
+
align-items: center;
|
|
6954
|
+
gap: 0.5rem;
|
|
6955
|
+
}
|
|
6956
|
+
.extensions-search {
|
|
6957
|
+
flex: 1;
|
|
6958
|
+
min-width: 0;
|
|
6959
|
+
font-size: 0.8125rem;
|
|
6960
|
+
padding: 0.4375rem 0.75rem;
|
|
6961
|
+
border-radius: 6px;
|
|
6962
|
+
border: 1px solid var(--color-border-primary);
|
|
6963
|
+
background: var(--color-bg-secondary);
|
|
6964
|
+
color: var(--color-text-primary);
|
|
6965
|
+
}
|
|
6966
|
+
.extensions-search:focus {
|
|
6967
|
+
outline: none;
|
|
6968
|
+
border-color: var(--color-accent, #6366f1);
|
|
6969
|
+
}
|
|
6970
|
+
.extensions-sort {
|
|
6971
|
+
font-size: 0.8125rem;
|
|
6972
|
+
padding: 0.4375rem 0.5rem;
|
|
6973
|
+
border-radius: 6px;
|
|
6974
|
+
border: 1px solid var(--color-border-primary);
|
|
6975
|
+
background: var(--color-bg-secondary);
|
|
6976
|
+
color: var(--color-text-primary);
|
|
6977
|
+
cursor: pointer;
|
|
6978
|
+
}
|
|
6979
|
+
#extensions-list {
|
|
6980
|
+
display: flex;
|
|
6981
|
+
flex-direction: column;
|
|
6982
|
+
gap: 0.5rem;
|
|
6983
|
+
padding-top: 0.25rem;
|
|
6984
|
+
}
|
|
6985
|
+
.extensions-empty {
|
|
6986
|
+
font-size: 0.8125rem;
|
|
6987
|
+
color: var(--color-text-secondary);
|
|
6988
|
+
text-align: center;
|
|
6989
|
+
padding: 1.5rem 0;
|
|
6990
|
+
}
|
|
6991
|
+
.extension-card {
|
|
6992
|
+
background: var(--color-bg-secondary);
|
|
6993
|
+
border: 1px solid var(--color-border-primary);
|
|
6994
|
+
border-radius: 8px;
|
|
6995
|
+
padding: 0.875rem 1rem;
|
|
6996
|
+
transition: border-color .15s;
|
|
6997
|
+
}
|
|
6998
|
+
.extension-card:hover { border-color: var(--color-text-muted); }
|
|
6999
|
+
.extension-card-main {
|
|
7000
|
+
display: flex;
|
|
7001
|
+
align-items: flex-start;
|
|
7002
|
+
gap: 0.75rem;
|
|
7003
|
+
}
|
|
7004
|
+
.extension-emoji {
|
|
7005
|
+
font-size: 1.5rem;
|
|
7006
|
+
line-height: 1.4;
|
|
7007
|
+
flex-shrink: 0;
|
|
7008
|
+
}
|
|
7009
|
+
.extension-info { flex: 1; min-width: 0; }
|
|
7010
|
+
.extension-title {
|
|
7011
|
+
display: flex;
|
|
7012
|
+
align-items: center;
|
|
7013
|
+
gap: 0.375rem;
|
|
7014
|
+
margin-bottom: 0.25rem;
|
|
7015
|
+
flex-wrap: wrap;
|
|
7016
|
+
}
|
|
7017
|
+
.extension-name {
|
|
7018
|
+
font-size: 0.8125rem;
|
|
7019
|
+
font-weight: 600;
|
|
7020
|
+
color: var(--color-text-primary);
|
|
7021
|
+
}
|
|
7022
|
+
.extension-version {
|
|
7023
|
+
font-size: 0.6875rem;
|
|
7024
|
+
color: var(--color-text-secondary);
|
|
7025
|
+
background: var(--color-bg-tertiary, rgba(255,255,255,0.05));
|
|
7026
|
+
border-radius: 4px;
|
|
7027
|
+
padding: 0.0625rem 0.375rem;
|
|
7028
|
+
}
|
|
7029
|
+
.extension-units {
|
|
7030
|
+
font-size: 0.6875rem;
|
|
7031
|
+
color: var(--color-text-muted);
|
|
7032
|
+
}
|
|
7033
|
+
.extension-installed {
|
|
7034
|
+
font-size: 0.6875rem;
|
|
7035
|
+
color: var(--color-success, #16a34a);
|
|
7036
|
+
background: var(--color-success-bg, rgba(22,163,74,0.12));
|
|
7037
|
+
border-radius: 4px;
|
|
7038
|
+
padding: 0.0625rem 0.375rem;
|
|
7039
|
+
}
|
|
7040
|
+
.extension-desc {
|
|
7041
|
+
font-size: 0.75rem;
|
|
7042
|
+
color: var(--color-text-secondary);
|
|
7043
|
+
line-height: 1.5;
|
|
7044
|
+
margin-bottom: 0.375rem;
|
|
7045
|
+
}
|
|
7046
|
+
.extension-meta {
|
|
7047
|
+
display: flex;
|
|
7048
|
+
align-items: center;
|
|
7049
|
+
gap: 0.75rem;
|
|
7050
|
+
}
|
|
7051
|
+
.extension-homepage {
|
|
7052
|
+
font-size: 0.6875rem;
|
|
7053
|
+
color: var(--color-accent, #6366f1);
|
|
7054
|
+
text-decoration: none;
|
|
7055
|
+
}
|
|
7056
|
+
.extension-homepage:hover { text-decoration: underline; }
|
|
7057
|
+
|
|
7058
|
+
/* Clickable catalog card + detail view */
|
|
7059
|
+
.extension-card-clickable { cursor: pointer; }
|
|
7060
|
+
|
|
7061
|
+
.extension-detail {
|
|
7062
|
+
flex: 1;
|
|
7063
|
+
overflow-y: auto;
|
|
7064
|
+
padding: 1.75rem 2.25rem;
|
|
7065
|
+
}
|
|
7066
|
+
.extension-detail-head { margin-bottom: 1rem; }
|
|
7067
|
+
.extension-detail-back {
|
|
7068
|
+
background: transparent;
|
|
7069
|
+
border: none;
|
|
7070
|
+
color: var(--color-text-secondary);
|
|
7071
|
+
font-size: 0.8125rem;
|
|
7072
|
+
cursor: pointer;
|
|
7073
|
+
padding: 0.25rem 0;
|
|
7074
|
+
}
|
|
7075
|
+
.extension-detail-back:hover { color: var(--color-text-primary); }
|
|
7076
|
+
.extension-detail-hero {
|
|
7077
|
+
display: flex;
|
|
7078
|
+
align-items: flex-start;
|
|
7079
|
+
gap: 0.875rem;
|
|
7080
|
+
padding-bottom: 1rem;
|
|
7081
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
7082
|
+
}
|
|
7083
|
+
.extension-detail-heading { flex: 1; min-width: 0; }
|
|
7084
|
+
.extension-emoji-lg { font-size: 2.25rem; }
|
|
7085
|
+
.extension-name-lg { font-size: 1.0625rem; }
|
|
7086
|
+
.extension-detail-block { margin-top: 1.25rem; }
|
|
7087
|
+
.extension-detail-block-title {
|
|
7088
|
+
font-size: 0.8125rem;
|
|
7089
|
+
font-weight: 600;
|
|
7090
|
+
color: var(--color-text-primary);
|
|
7091
|
+
margin: 0 0 0.625rem;
|
|
7092
|
+
}
|
|
7093
|
+
.extension-detail-section { margin-bottom: 0.875rem; }
|
|
7094
|
+
.extension-detail-section-title {
|
|
7095
|
+
font-size: 0.6875rem;
|
|
7096
|
+
font-weight: 600;
|
|
7097
|
+
text-transform: uppercase;
|
|
7098
|
+
letter-spacing: 0.03em;
|
|
7099
|
+
color: var(--color-text-muted);
|
|
7100
|
+
margin: 0 0 0.375rem;
|
|
7101
|
+
}
|
|
7102
|
+
.extension-contrib-list,
|
|
7103
|
+
.extension-version-list { list-style: none; margin: 0; padding: 0; }
|
|
7104
|
+
.extension-contrib-item {
|
|
7105
|
+
padding: 0.5rem 0.75rem;
|
|
7106
|
+
background: var(--color-bg-secondary);
|
|
7107
|
+
border: 1px solid var(--color-border-primary);
|
|
7108
|
+
border-radius: 6px;
|
|
7109
|
+
margin-bottom: 0.375rem;
|
|
7110
|
+
}
|
|
7111
|
+
.extension-contrib-title {
|
|
7112
|
+
display: block;
|
|
7113
|
+
font-size: 0.8125rem;
|
|
7114
|
+
font-weight: 600;
|
|
7115
|
+
color: var(--color-text-primary);
|
|
7116
|
+
}
|
|
7117
|
+
.extension-contrib-desc {
|
|
7118
|
+
display: block;
|
|
7119
|
+
font-size: 0.75rem;
|
|
7120
|
+
color: var(--color-text-secondary);
|
|
7121
|
+
line-height: 1.5;
|
|
7122
|
+
margin-top: 0.125rem;
|
|
7123
|
+
}
|
|
7124
|
+
.extension-version-item {
|
|
7125
|
+
padding: 0.5rem 0.75rem;
|
|
7126
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
7127
|
+
}
|
|
7128
|
+
.extension-version-item:last-child { border-bottom: none; }
|
|
7129
|
+
.extension-version-row {
|
|
7130
|
+
display: flex;
|
|
7131
|
+
align-items: center;
|
|
7132
|
+
gap: 0.5rem;
|
|
7133
|
+
}
|
|
7134
|
+
.extension-version-date {
|
|
7135
|
+
font-size: 0.6875rem;
|
|
7136
|
+
color: var(--color-text-muted);
|
|
7137
|
+
}
|
|
7138
|
+
.extension-version-notes {
|
|
7139
|
+
font-size: 0.75rem;
|
|
7140
|
+
color: var(--color-text-secondary);
|
|
7141
|
+
line-height: 1.5;
|
|
7142
|
+
margin-top: 0.25rem;
|
|
7143
|
+
white-space: pre-wrap;
|
|
7144
|
+
}
|
|
7145
|
+
.extension-detail-loading { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
7146
|
+
|
|
7147
|
+
.extension-detail-actions {
|
|
7148
|
+
display: flex;
|
|
7149
|
+
align-items: center;
|
|
7150
|
+
gap: 0.5rem;
|
|
7151
|
+
margin-top: 0.75rem;
|
|
7152
|
+
}
|
|
7153
|
+
.extension-disabled {
|
|
7154
|
+
font-size: 0.6875rem;
|
|
7155
|
+
color: var(--color-text-secondary);
|
|
7156
|
+
background: var(--color-surface-hover, rgba(0,0,0,0.06));
|
|
7157
|
+
border-radius: 4px;
|
|
7158
|
+
padding: 0.0625rem 0.375rem;
|
|
7159
|
+
}
|
|
7160
|
+
.extension-action {
|
|
7161
|
+
font-size: 0.75rem;
|
|
7162
|
+
padding: 0.3125rem 0.75rem;
|
|
7163
|
+
border-radius: 6px;
|
|
7164
|
+
border: 1px solid var(--color-border);
|
|
7165
|
+
background: var(--color-surface);
|
|
7166
|
+
color: var(--color-text);
|
|
7167
|
+
cursor: pointer;
|
|
7168
|
+
}
|
|
7169
|
+
.extension-action:hover { background: var(--color-surface-hover, rgba(0,0,0,0.04)); }
|
|
7170
|
+
.extension-action-remove {
|
|
7171
|
+
color: var(--color-danger, #dc2626);
|
|
7172
|
+
border-color: var(--color-danger-border, rgba(220,38,38,0.4));
|
|
7173
|
+
}
|
|
7174
|
+
.extension-action-remove:hover { background: var(--color-danger-bg, rgba(220,38,38,0.08)); }
|
|
7175
|
+
|
|
6780
7176
|
/* Brand Skill card */
|
|
6781
7177
|
.brand-skill-card {
|
|
6782
7178
|
background: var(--color-bg-secondary);
|
|
@@ -8184,6 +8580,8 @@ body.setup-mode[data-theme="dark"] {
|
|
|
8184
8580
|
flex-shrink: 0;
|
|
8185
8581
|
}
|
|
8186
8582
|
|
|
8583
|
+
.brand-warning-bar > span { flex: 1; }
|
|
8584
|
+
|
|
8187
8585
|
.brand-warning-bar button {
|
|
8188
8586
|
background: transparent;
|
|
8189
8587
|
border: none;
|
|
@@ -8194,6 +8592,20 @@ body.setup-mode[data-theme="dark"] {
|
|
|
8194
8592
|
opacity: 0.7;
|
|
8195
8593
|
}
|
|
8196
8594
|
|
|
8595
|
+
.brand-warning-bar .brand-warning-renew-btn {
|
|
8596
|
+
background: transparent;
|
|
8597
|
+
border: 1px solid currentColor;
|
|
8598
|
+
border-radius: var(--radius-sm, 4px);
|
|
8599
|
+
color: var(--color-warning);
|
|
8600
|
+
cursor: pointer;
|
|
8601
|
+
font-size: 0.75rem;
|
|
8602
|
+
font-weight: 600;
|
|
8603
|
+
padding: 0.2rem 0.6rem;
|
|
8604
|
+
opacity: 0.9;
|
|
8605
|
+
flex-shrink: 0;
|
|
8606
|
+
white-space: nowrap;
|
|
8607
|
+
}
|
|
8608
|
+
|
|
8197
8609
|
.brand-warning-bar button:hover { opacity: 1; }
|
|
8198
8610
|
|
|
8199
8611
|
/* ── Brand activation banner (top info bar, replaces full-screen panel) ──── */
|
|
@@ -9420,418 +9832,57 @@ body.setup-mode[data-theme="dark"] {
|
|
|
9420
9832
|
|
|
9421
9833
|
/* ── Mobile responsive (≤48rem) ─────────────────────────────────────────── */
|
|
9422
9834
|
|
|
9835
|
+
/* ── Trash panel · Recently Deleted ────────────────────────────────── */
|
|
9423
9836
|
|
|
9424
|
-
|
|
9425
|
-
|
|
9426
|
-
|
|
9427
|
-
|
|
9428
|
-
|
|
9429
|
-
|
|
9430
|
-
flex-direction: column;
|
|
9431
|
-
height: 100%;
|
|
9432
|
-
overflow: hidden;
|
|
9837
|
+
.trash-loading,
|
|
9838
|
+
.trash-empty {
|
|
9839
|
+
text-align: center;
|
|
9840
|
+
color: var(--color-text-tertiary);
|
|
9841
|
+
font-size: 0.8125rem;
|
|
9842
|
+
padding: 1.5rem 0;
|
|
9433
9843
|
}
|
|
9434
|
-
|
|
9435
|
-
|
|
9436
|
-
|
|
9437
|
-
|
|
9438
|
-
|
|
9439
|
-
flex-direction: column;
|
|
9440
|
-
padding: 2rem 2rem 3.75rem;
|
|
9441
|
-
gap: 1.75rem;
|
|
9844
|
+
.trash-error {
|
|
9845
|
+
text-align: center;
|
|
9846
|
+
color: var(--color-error, #ef4444);
|
|
9847
|
+
font-size: 0.8125rem;
|
|
9848
|
+
padding: 1.5rem 0;
|
|
9442
9849
|
}
|
|
9443
9850
|
|
|
9444
|
-
/*
|
|
9445
|
-
|
|
9851
|
+
/* Tab switches (file trash / session trash) — mirrors skills-tabs pattern */
|
|
9852
|
+
#trash-tabs {
|
|
9446
9853
|
display: flex;
|
|
9447
|
-
|
|
9448
|
-
|
|
9854
|
+
align-items: center;
|
|
9855
|
+
justify-content: space-between;
|
|
9856
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
9857
|
+
margin-bottom: 0.25rem;
|
|
9449
9858
|
}
|
|
9450
|
-
|
|
9451
|
-
.creator-section-header {
|
|
9859
|
+
.trash-tabs-left {
|
|
9452
9860
|
display: flex;
|
|
9453
|
-
align-items:
|
|
9454
|
-
gap: 0.
|
|
9455
|
-
padding-bottom: 0.375rem;
|
|
9456
|
-
border-bottom: 1px solid var(--color-border-primary);
|
|
9457
|
-
margin-bottom: 2px;
|
|
9861
|
+
align-items: center;
|
|
9862
|
+
gap: 0.25rem;
|
|
9458
9863
|
}
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9864
|
+
.trash-tab {
|
|
9865
|
+
background: none;
|
|
9866
|
+
border: none;
|
|
9867
|
+
border-bottom: 2px solid transparent;
|
|
9463
9868
|
color: var(--color-text-secondary);
|
|
9464
|
-
|
|
9465
|
-
|
|
9466
|
-
|
|
9467
|
-
|
|
9468
|
-
|
|
9469
|
-
|
|
9470
|
-
color: var(--color-text-muted);
|
|
9869
|
+
cursor: pointer;
|
|
9870
|
+
font-size: 0.8125rem;
|
|
9871
|
+
font-weight: 500;
|
|
9872
|
+
padding: 0.5rem 1rem;
|
|
9873
|
+
margin-bottom: -1px;
|
|
9874
|
+
transition: color .15s, border-color .15s;
|
|
9471
9875
|
}
|
|
9876
|
+
.trash-tab:hover { color: var(--color-text-primary); }
|
|
9877
|
+
.trash-tab.active { color: var(--color-accent-primary); border-bottom-color: var(--color-accent-primary); }
|
|
9472
9878
|
|
|
9473
|
-
.
|
|
9474
|
-
|
|
9475
|
-
|
|
9476
|
-
gap: 0.5rem;
|
|
9879
|
+
.trash-tab-content {
|
|
9880
|
+
flex: 1;
|
|
9881
|
+
overflow-y: auto;
|
|
9477
9882
|
}
|
|
9478
9883
|
|
|
9479
|
-
/*
|
|
9480
|
-
.
|
|
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);
|
|
9697
|
-
}
|
|
9698
|
-
#creator-promo-banner svg {
|
|
9699
|
-
flex-shrink: 0;
|
|
9700
|
-
color: var(--color-accent-primary);
|
|
9701
|
-
opacity: 0.8;
|
|
9702
|
-
}
|
|
9703
|
-
#creator-promo-banner a {
|
|
9704
|
-
margin-left: auto;
|
|
9705
|
-
white-space: nowrap;
|
|
9706
|
-
color: var(--color-accent-primary);
|
|
9707
|
-
text-decoration: none;
|
|
9708
|
-
font-weight: 500;
|
|
9709
|
-
}
|
|
9710
|
-
#creator-promo-banner a:hover {
|
|
9711
|
-
text-decoration: underline;
|
|
9712
|
-
}
|
|
9713
|
-
|
|
9714
|
-
/* ── Cloud skills lock (non-licensed users) ─────────────────────────────── */
|
|
9715
|
-
#creator-cloud-lock {
|
|
9716
|
-
display: flex;
|
|
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;
|
|
9723
|
-
color: var(--color-text-muted);
|
|
9724
|
-
}
|
|
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
|
-
|
|
9741
|
-
/* ── Create New Skill entry card ───────────────────────────────────────── */
|
|
9742
|
-
.creator-new-card {
|
|
9743
|
-
display: flex;
|
|
9744
|
-
align-items: center;
|
|
9745
|
-
gap: 0.625rem;
|
|
9746
|
-
padding: 0.875rem 1rem;
|
|
9747
|
-
background: var(--color-bg-secondary);
|
|
9748
|
-
border: 1px dashed var(--color-border-primary);
|
|
9749
|
-
border-radius: 8px;
|
|
9750
|
-
cursor: pointer;
|
|
9751
|
-
font-size: 0.8125rem;
|
|
9752
|
-
font-weight: 500;
|
|
9753
|
-
color: var(--color-text-secondary);
|
|
9754
|
-
transition: border-color .15s, color .15s, background .15s;
|
|
9755
|
-
}
|
|
9756
|
-
.creator-new-card:hover {
|
|
9757
|
-
border-color: var(--color-accent-primary);
|
|
9758
|
-
color: var(--color-accent-primary);
|
|
9759
|
-
background: var(--color-accent-bg, rgba(59,130,246,0.04));
|
|
9760
|
-
}
|
|
9761
|
-
.creator-new-arrow {
|
|
9762
|
-
margin-left: auto;
|
|
9763
|
-
opacity: 0.5;
|
|
9764
|
-
transition: opacity .15s, transform .15s;
|
|
9765
|
-
}
|
|
9766
|
-
.creator-new-card:hover .creator-new-arrow {
|
|
9767
|
-
opacity: 1;
|
|
9768
|
-
transform: translateX(3px);
|
|
9769
|
-
}
|
|
9770
|
-
|
|
9771
|
-
/* ── State messages ────────────────────────────────────────────────────── */
|
|
9772
|
-
.creator-loading,
|
|
9773
|
-
.creator-empty {
|
|
9774
|
-
text-align: center;
|
|
9775
|
-
color: var(--color-text-tertiary);
|
|
9776
|
-
font-size: 0.8125rem;
|
|
9777
|
-
padding: 1.5rem 0;
|
|
9778
|
-
}
|
|
9779
|
-
.creator-error {
|
|
9780
|
-
text-align: center;
|
|
9781
|
-
color: var(--color-error, #ef4444);
|
|
9782
|
-
font-size: 0.8125rem;
|
|
9783
|
-
padding: 1.5rem 0;
|
|
9784
|
-
}
|
|
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
|
-
|
|
9800
|
-
/* Tab switches (file trash / session trash) — mirrors skills-tabs pattern */
|
|
9801
|
-
#trash-tabs {
|
|
9802
|
-
display: flex;
|
|
9803
|
-
align-items: center;
|
|
9804
|
-
justify-content: space-between;
|
|
9805
|
-
border-bottom: 1px solid var(--color-border-primary);
|
|
9806
|
-
margin-bottom: 0.75rem;
|
|
9807
|
-
}
|
|
9808
|
-
.trash-tabs-left {
|
|
9809
|
-
display: flex;
|
|
9810
|
-
align-items: center;
|
|
9811
|
-
gap: 0.25rem;
|
|
9812
|
-
}
|
|
9813
|
-
.trash-tab {
|
|
9814
|
-
background: none;
|
|
9815
|
-
border: none;
|
|
9816
|
-
border-bottom: 2px solid transparent;
|
|
9817
|
-
color: var(--color-text-secondary);
|
|
9818
|
-
cursor: pointer;
|
|
9819
|
-
font-size: 0.8125rem;
|
|
9820
|
-
font-weight: 500;
|
|
9821
|
-
padding: 0.5rem 1rem;
|
|
9822
|
-
margin-bottom: -1px;
|
|
9823
|
-
transition: color .15s, border-color .15s;
|
|
9824
|
-
}
|
|
9825
|
-
.trash-tab:hover { color: var(--color-text-primary); }
|
|
9826
|
-
.trash-tab.active { color: var(--color-accent-primary); border-bottom-color: var(--color-accent-primary); }
|
|
9827
|
-
|
|
9828
|
-
.trash-tab-content {
|
|
9829
|
-
flex: 1;
|
|
9830
|
-
overflow-y: auto;
|
|
9831
|
-
}
|
|
9832
|
-
|
|
9833
|
-
/* Session trash card — similar to file trash card but shows session name and timestamp */
|
|
9834
|
-
.trash-session-card {
|
|
9884
|
+
/* Session trash card — similar to file trash card but shows session name and timestamp */
|
|
9885
|
+
.trash-session-card {
|
|
9835
9886
|
background: var(--color-bg-secondary);
|
|
9836
9887
|
border: 1px solid var(--color-border-primary);
|
|
9837
9888
|
border-radius: 10px;
|
|
@@ -9908,11 +9959,68 @@ body.setup-mode[data-theme="dark"] {
|
|
|
9908
9959
|
opacity: .5;
|
|
9909
9960
|
cursor: not-allowed;
|
|
9910
9961
|
}
|
|
9962
|
+
|
|
9963
|
+
/* Skeleton card wrapper — uses global .skel for lines + animation */
|
|
9964
|
+
.trash-session-skeleton {
|
|
9965
|
+
background: var(--color-bg-secondary);
|
|
9966
|
+
border: 1px solid var(--color-border-primary);
|
|
9967
|
+
border-radius: 10px;
|
|
9968
|
+
padding: 0.75rem 1rem;
|
|
9969
|
+
display: flex;
|
|
9970
|
+
align-items: center;
|
|
9971
|
+
gap: 0.75rem;
|
|
9972
|
+
}
|
|
9973
|
+
.trash-session-skeleton-info {
|
|
9974
|
+
flex: 1;
|
|
9975
|
+
min-width: 0;
|
|
9976
|
+
display: flex;
|
|
9977
|
+
flex-direction: column;
|
|
9978
|
+
gap: 0.375rem;
|
|
9979
|
+
}
|
|
9980
|
+
.trash-skeleton-actions {
|
|
9981
|
+
display: flex;
|
|
9982
|
+
gap: 0.375rem;
|
|
9983
|
+
flex-shrink: 0;
|
|
9984
|
+
}
|
|
9985
|
+
.trash-skeleton-btn {
|
|
9986
|
+
width: 3.5rem;
|
|
9987
|
+
height: 1.625rem;
|
|
9988
|
+
border-radius: 5px;
|
|
9989
|
+
}
|
|
9990
|
+
.trash-session-hint {
|
|
9991
|
+
margin: -0.25rem 0;
|
|
9992
|
+
font-size: 0.75rem;
|
|
9993
|
+
color: var(--color-text-secondary);
|
|
9994
|
+
}
|
|
9911
9995
|
.trash-summary {
|
|
9912
9996
|
font-size: 0.6875rem;
|
|
9913
9997
|
color: var(--color-text-muted);
|
|
9914
9998
|
margin-right: auto;
|
|
9915
9999
|
}
|
|
10000
|
+
.trash-filter-bar {
|
|
10001
|
+
display: flex;
|
|
10002
|
+
align-items: center;
|
|
10003
|
+
gap: 0.375rem;
|
|
10004
|
+
}
|
|
10005
|
+
.trash-filter-chip {
|
|
10006
|
+
font-size: 0.6875rem;
|
|
10007
|
+
padding: 0.2rem 0.55rem;
|
|
10008
|
+
border-radius: 5px;
|
|
10009
|
+
border: 1px solid var(--color-border-primary);
|
|
10010
|
+
background: transparent;
|
|
10011
|
+
color: var(--color-text-muted);
|
|
10012
|
+
cursor: pointer;
|
|
10013
|
+
transition: background 0.14s, color 0.14s, border-color 0.14s;
|
|
10014
|
+
}
|
|
10015
|
+
.trash-filter-chip:hover {
|
|
10016
|
+
border-color: var(--color-accent-primary);
|
|
10017
|
+
color: var(--color-text-primary);
|
|
10018
|
+
}
|
|
10019
|
+
.trash-filter-chip.active {
|
|
10020
|
+
background: var(--color-accent-primary);
|
|
10021
|
+
border-color: var(--color-accent-primary);
|
|
10022
|
+
color: #fff;
|
|
10023
|
+
}
|
|
9916
10024
|
.trash-actions {
|
|
9917
10025
|
display: flex;
|
|
9918
10026
|
align-items: center;
|
|
@@ -11634,16 +11742,16 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11634
11742
|
.share-modal {
|
|
11635
11743
|
position: relative;
|
|
11636
11744
|
width: 100%;
|
|
11637
|
-
max-width:
|
|
11745
|
+
max-width: 780px;
|
|
11638
11746
|
max-height: 90vh;
|
|
11639
11747
|
overflow-y: auto;
|
|
11640
11748
|
background: var(--color-bg-card);
|
|
11641
11749
|
border: 1px solid var(--color-border-primary);
|
|
11642
11750
|
border-radius: var(--radius-lg, 14px);
|
|
11643
|
-
box-shadow: 0
|
|
11644
|
-
padding:
|
|
11645
|
-
transform: translateY(
|
|
11646
|
-
transition: transform .
|
|
11751
|
+
box-shadow: 0 24px 64px rgba(15, 18, 28, 0.28);
|
|
11752
|
+
padding: 28px;
|
|
11753
|
+
transform: translateY(10px) scale(.97);
|
|
11754
|
+
transition: transform .22s ease;
|
|
11647
11755
|
}
|
|
11648
11756
|
.share-overlay.open .share-modal { transform: translateY(0) scale(1); }
|
|
11649
11757
|
|
|
@@ -11657,59 +11765,81 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11657
11765
|
line-height: 1;
|
|
11658
11766
|
color: var(--color-text-muted);
|
|
11659
11767
|
cursor: pointer;
|
|
11768
|
+
width: 32px;
|
|
11769
|
+
height: 32px;
|
|
11770
|
+
border-radius: 8px;
|
|
11771
|
+
display: flex;
|
|
11772
|
+
align-items: center;
|
|
11773
|
+
justify-content: center;
|
|
11774
|
+
transition: background 0.15s ease, color 0.15s ease;
|
|
11775
|
+
}
|
|
11776
|
+
.share-close:hover {
|
|
11777
|
+
color: var(--color-text-primary);
|
|
11778
|
+
background: var(--color-bg-hover, rgba(0,0,0,0.07));
|
|
11660
11779
|
}
|
|
11661
|
-
.share-close:hover { color: var(--color-text-primary); }
|
|
11662
11780
|
|
|
11663
11781
|
.share-title {
|
|
11664
11782
|
margin: 0 0 4px;
|
|
11665
|
-
font-size: 1.
|
|
11783
|
+
font-size: 1.125rem;
|
|
11666
11784
|
font-weight: 700;
|
|
11667
11785
|
color: var(--color-text-primary);
|
|
11668
11786
|
}
|
|
11669
11787
|
.share-subtitle {
|
|
11670
|
-
margin: 0 0
|
|
11788
|
+
margin: 0 0 20px;
|
|
11671
11789
|
font-size: 0.8125rem;
|
|
11672
11790
|
color: var(--color-text-tertiary);
|
|
11673
11791
|
}
|
|
11674
11792
|
|
|
11675
11793
|
.share-body {
|
|
11676
11794
|
display: flex;
|
|
11677
|
-
gap:
|
|
11678
|
-
align-items:
|
|
11795
|
+
gap: 24px;
|
|
11796
|
+
align-items: stretch;
|
|
11679
11797
|
}
|
|
11680
11798
|
.share-controls {
|
|
11681
11799
|
flex: 1;
|
|
11682
11800
|
min-width: 0;
|
|
11801
|
+
display: flex;
|
|
11802
|
+
flex-direction: column;
|
|
11803
|
+
}
|
|
11804
|
+
.share-actions {
|
|
11805
|
+
margin-top: auto;
|
|
11683
11806
|
}
|
|
11684
11807
|
|
|
11685
11808
|
.share-poster-wrap {
|
|
11686
|
-
display: flex;
|
|
11687
|
-
justify-content: center;
|
|
11688
11809
|
flex-shrink: 0;
|
|
11810
|
+
display: flex;
|
|
11689
11811
|
}
|
|
11690
11812
|
.share-poster-img {
|
|
11691
|
-
width:
|
|
11813
|
+
width: 250px;
|
|
11814
|
+
object-fit: cover;
|
|
11692
11815
|
border-radius: var(--radius-md, 10px);
|
|
11693
|
-
box-shadow: 0
|
|
11816
|
+
box-shadow: 0 8px 28px rgba(15, 18, 28, 0.22);
|
|
11817
|
+
cursor: pointer;
|
|
11818
|
+
transition: box-shadow .2s ease;
|
|
11819
|
+
}
|
|
11820
|
+
.share-poster-img:hover {
|
|
11821
|
+
box-shadow: 0 12px 36px rgba(15, 18, 28, 0.3);
|
|
11694
11822
|
}
|
|
11695
11823
|
|
|
11696
|
-
@media (max-width:
|
|
11824
|
+
@media (max-width: 620px) {
|
|
11697
11825
|
.share-body { flex-direction: column; align-items: stretch; }
|
|
11698
11826
|
.share-poster-wrap { margin-bottom: 4px; }
|
|
11699
|
-
.share-poster-img { width:
|
|
11827
|
+
.share-poster-img { width: 100%; height: 200px; }
|
|
11700
11828
|
}
|
|
11701
11829
|
|
|
11702
11830
|
.share-row-label {
|
|
11703
|
-
font-size: 0.
|
|
11831
|
+
font-size: 0.6875rem;
|
|
11704
11832
|
font-weight: 600;
|
|
11705
|
-
|
|
11833
|
+
letter-spacing: .04em;
|
|
11834
|
+
text-transform: uppercase;
|
|
11835
|
+
color: var(--color-text-muted);
|
|
11706
11836
|
}
|
|
11707
11837
|
|
|
11708
11838
|
.share-theme-row {
|
|
11709
11839
|
display: flex;
|
|
11710
11840
|
flex-direction: column;
|
|
11711
|
-
gap:
|
|
11712
|
-
margin-bottom:
|
|
11841
|
+
gap: 8px;
|
|
11842
|
+
margin-bottom: 16px;
|
|
11713
11843
|
}
|
|
11714
11844
|
.share-theme-chips {
|
|
11715
11845
|
display: flex;
|
|
@@ -11717,29 +11847,46 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11717
11847
|
}
|
|
11718
11848
|
.share-theme-chip {
|
|
11719
11849
|
flex: 1;
|
|
11720
|
-
height:
|
|
11850
|
+
height: 40px;
|
|
11721
11851
|
border: 2px solid transparent;
|
|
11722
|
-
border-radius: var(--radius-sm,
|
|
11852
|
+
border-radius: var(--radius-sm, 8px);
|
|
11723
11853
|
cursor: pointer;
|
|
11724
11854
|
position: relative;
|
|
11725
11855
|
display: flex;
|
|
11726
11856
|
align-items: center;
|
|
11727
11857
|
justify-content: center;
|
|
11728
|
-
|
|
11858
|
+
gap: 6px;
|
|
11859
|
+
transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
|
|
11860
|
+
box-shadow: 0 2px 6px rgba(0,0,0,.08);
|
|
11861
|
+
}
|
|
11862
|
+
.share-theme-chip:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.14); }
|
|
11863
|
+
.share-theme-chip.is-active {
|
|
11864
|
+
border-color: var(--color-button-primary);
|
|
11865
|
+
box-shadow: 0 0 0 3px rgba(var(--color-button-primary-rgb, 124,58,237), .18);
|
|
11729
11866
|
}
|
|
11730
|
-
.share-theme-chip:hover { transform: translateY(-1px); }
|
|
11731
|
-
.share-theme-chip.is-active { border-color: var(--color-button-primary); }
|
|
11732
11867
|
.share-theme-name {
|
|
11733
11868
|
font-size: 0.6875rem;
|
|
11734
11869
|
font-weight: 700;
|
|
11735
|
-
color: rgba(0,0,0,.55);
|
|
11736
|
-
text-shadow: 0 1px 0 rgba(255,255,255,.4);
|
|
11737
11870
|
pointer-events: none;
|
|
11738
11871
|
}
|
|
11872
|
+
.share-theme-dot {
|
|
11873
|
+
width: 8px;
|
|
11874
|
+
height: 8px;
|
|
11875
|
+
border-radius: 50%;
|
|
11876
|
+
flex-shrink: 0;
|
|
11877
|
+
pointer-events: none;
|
|
11878
|
+
box-shadow: 0 0 0 1.5px rgba(255,255,255,.3);
|
|
11879
|
+
}
|
|
11739
11880
|
.share-theme-chip[data-theme="geek"] .share-theme-name {
|
|
11740
11881
|
color: rgba(255,255,255,.92);
|
|
11741
11882
|
text-shadow: 0 1px 2px rgba(0,0,0,.4);
|
|
11742
11883
|
}
|
|
11884
|
+
.share-theme-chip[data-theme="light"] .share-theme-name {
|
|
11885
|
+
color: rgba(15,23,42,.72);
|
|
11886
|
+
}
|
|
11887
|
+
.share-theme-chip[data-theme="warm"] .share-theme-name {
|
|
11888
|
+
color: rgba(124,45,18,.85);
|
|
11889
|
+
}
|
|
11743
11890
|
|
|
11744
11891
|
.share-periods {
|
|
11745
11892
|
display: inline-flex;
|
|
@@ -11771,7 +11918,7 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11771
11918
|
display: grid;
|
|
11772
11919
|
grid-template-columns: repeat(4, 1fr);
|
|
11773
11920
|
gap: 8px;
|
|
11774
|
-
margin-bottom:
|
|
11921
|
+
margin-bottom: 16px;
|
|
11775
11922
|
}
|
|
11776
11923
|
.share-platform {
|
|
11777
11924
|
padding: 9px 4px;
|
|
@@ -11779,22 +11926,31 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11779
11926
|
border-radius: var(--radius-sm, 6px);
|
|
11780
11927
|
background: var(--color-bg-primary);
|
|
11781
11928
|
color: var(--color-text-secondary);
|
|
11782
|
-
font-size: 0.
|
|
11929
|
+
font-size: 0.75rem;
|
|
11783
11930
|
font-weight: 600;
|
|
11784
11931
|
cursor: pointer;
|
|
11785
|
-
|
|
11932
|
+
display: flex;
|
|
11933
|
+
flex-direction: column;
|
|
11934
|
+
align-items: center;
|
|
11935
|
+
gap: 4px;
|
|
11936
|
+
transition: background .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
|
|
11786
11937
|
}
|
|
11787
11938
|
.share-platform:hover {
|
|
11788
11939
|
background: var(--color-bg-hover);
|
|
11789
11940
|
border-color: var(--color-border-strong);
|
|
11941
|
+
transform: translateY(-1px);
|
|
11790
11942
|
}
|
|
11791
11943
|
.share-platform.is-active {
|
|
11792
11944
|
background: var(--color-button-primary);
|
|
11793
11945
|
color: var(--color-button-primary-text);
|
|
11794
11946
|
border-color: var(--color-button-primary);
|
|
11795
11947
|
}
|
|
11948
|
+
.share-platform-icon {
|
|
11949
|
+
font-size: 1.125rem;
|
|
11950
|
+
line-height: 1;
|
|
11951
|
+
}
|
|
11796
11952
|
|
|
11797
|
-
.share-editor { margin-bottom:
|
|
11953
|
+
.share-editor { margin-bottom: 16px; }
|
|
11798
11954
|
.share-editor-head {
|
|
11799
11955
|
display: flex;
|
|
11800
11956
|
align-items: center;
|
|
@@ -11809,25 +11965,29 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11809
11965
|
font-weight: 600;
|
|
11810
11966
|
cursor: pointer;
|
|
11811
11967
|
padding: 2px 4px;
|
|
11968
|
+
border-radius: 4px;
|
|
11969
|
+
transition: background .1s ease;
|
|
11812
11970
|
}
|
|
11813
|
-
.share-shuffle:hover {
|
|
11971
|
+
.share-shuffle:hover { background: var(--color-bg-hover); }
|
|
11814
11972
|
.share-text {
|
|
11815
11973
|
width: 100%;
|
|
11816
11974
|
box-sizing: border-box;
|
|
11817
11975
|
resize: vertical;
|
|
11818
|
-
min-height:
|
|
11976
|
+
min-height: 80px;
|
|
11819
11977
|
padding: 10px 12px;
|
|
11820
11978
|
border: 1px solid var(--color-border-primary);
|
|
11821
11979
|
border-radius: var(--radius-sm, 6px);
|
|
11822
11980
|
background: var(--color-bg-primary);
|
|
11823
11981
|
color: var(--color-text-primary);
|
|
11824
11982
|
font-size: 0.8125rem;
|
|
11825
|
-
line-height: 1.
|
|
11983
|
+
line-height: 1.6;
|
|
11826
11984
|
font-family: inherit;
|
|
11985
|
+
transition: border-color .12s ease;
|
|
11827
11986
|
}
|
|
11828
11987
|
.share-text:focus {
|
|
11829
11988
|
outline: none;
|
|
11830
11989
|
border-color: var(--color-button-primary);
|
|
11990
|
+
box-shadow: 0 0 0 2px rgba(var(--color-button-primary-rgb, 124,58,237), .12);
|
|
11831
11991
|
}
|
|
11832
11992
|
|
|
11833
11993
|
.share-actions {
|
|
@@ -11835,28 +11995,44 @@ body.setup-mode[data-theme="dark"] {
|
|
|
11835
11995
|
flex-wrap: wrap;
|
|
11836
11996
|
gap: 8px;
|
|
11837
11997
|
}
|
|
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
11998
|
.share-btn-primary {
|
|
11847
11999
|
flex: 1 1 100%;
|
|
12000
|
+
padding: 12px 16px;
|
|
12001
|
+
border-radius: var(--radius-sm, 8px);
|
|
12002
|
+
font-size: 0.9375rem;
|
|
12003
|
+
font-weight: 700;
|
|
12004
|
+
cursor: pointer;
|
|
12005
|
+
border: none;
|
|
11848
12006
|
background: var(--color-button-primary);
|
|
11849
12007
|
color: var(--color-button-primary-text);
|
|
11850
|
-
|
|
12008
|
+
letter-spacing: .01em;
|
|
12009
|
+
transition: background .14s ease, transform .1s ease, box-shadow .14s ease;
|
|
12010
|
+
box-shadow: 0 2px 8px rgba(var(--color-button-primary-rgb, 124,58,237), .3);
|
|
12011
|
+
}
|
|
12012
|
+
.share-btn-primary:hover {
|
|
12013
|
+
background: var(--color-button-primary-hover);
|
|
12014
|
+
transform: translateY(-1px);
|
|
12015
|
+
box-shadow: 0 4px 14px rgba(var(--color-button-primary-rgb, 124,58,237), .4);
|
|
11851
12016
|
}
|
|
11852
|
-
.share-btn-primary:
|
|
12017
|
+
.share-btn-primary:active { transform: translateY(0); }
|
|
11853
12018
|
.share-btn-secondary {
|
|
11854
|
-
flex: 1 1 calc(
|
|
11855
|
-
min-width:
|
|
12019
|
+
flex: 1 1 calc(33% - 6px);
|
|
12020
|
+
min-width: 80px;
|
|
12021
|
+
padding: 9px 8px;
|
|
12022
|
+
border-radius: var(--radius-sm, 6px);
|
|
12023
|
+
font-size: 0.8125rem;
|
|
12024
|
+
font-weight: 600;
|
|
12025
|
+
cursor: pointer;
|
|
12026
|
+
border: 1px solid var(--color-border-primary);
|
|
11856
12027
|
background: var(--color-bg-primary);
|
|
11857
12028
|
color: var(--color-text-secondary);
|
|
12029
|
+
transition: background .12s ease, border-color .12s ease, color .12s ease;
|
|
12030
|
+
}
|
|
12031
|
+
.share-btn-secondary:hover {
|
|
12032
|
+
background: var(--color-bg-hover);
|
|
12033
|
+
border-color: var(--color-border-strong);
|
|
12034
|
+
color: var(--color-text-primary);
|
|
11858
12035
|
}
|
|
11859
|
-
.share-btn-secondary:hover { background: var(--color-bg-hover); }
|
|
11860
12036
|
|
|
11861
12037
|
#share-toggle-header svg { display: block; }
|
|
11862
12038
|
|
|
@@ -12136,10 +12312,9 @@ body.setup-mode[data-theme="dark"] {
|
|
|
12136
12312
|
gap: 0.75rem;
|
|
12137
12313
|
}
|
|
12138
12314
|
|
|
12139
|
-
/* ── Billing / Trash
|
|
12315
|
+
/* ── Billing / Trash pages ── */
|
|
12140
12316
|
#billing-body { padding: 1rem 1rem 1rem; }
|
|
12141
12317
|
#trash-body { padding: 1rem 1rem 1rem; }
|
|
12142
|
-
#creator-body { padding: 1rem 1rem 1rem; }
|
|
12143
12318
|
|
|
12144
12319
|
.billing-heatmap-row { grid-template-columns: 1fr; }
|
|
12145
12320
|
|