@in-the-loop-labs/pair-review 3.6.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/package.json +20 -15
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin-code-critic/.claude-plugin/plugin.json +1 -1
- package/plugin-code-critic/skills/analyze/scripts/git-diff-lines +0 -0
- package/public/css/analysis-config.css +1807 -0
- package/public/css/pr.css +17 -1737
- package/public/index.html +11 -0
- package/public/js/components/AIPanel.js +89 -44
- package/public/js/components/AdvancedConfigTab.js +56 -4
- package/public/js/components/AnalysisConfigModal.js +41 -25
- package/public/js/components/ChatPanel.js +11 -1
- package/public/js/components/ReviewModal.js +135 -13
- package/public/js/components/SuggestionNavigator.js +55 -10
- package/public/js/components/VoiceCentricConfigTab.js +36 -0
- package/public/js/index.js +175 -16
- package/public/js/local.js +58 -8
- package/public/js/modules/suggestion-manager.js +25 -1
- package/public/js/modules/tour-renderer.js +45 -5
- package/public/js/pr.js +703 -171
- package/public/js/repo-links.js +328 -0
- package/public/js/utils/provider-model.js +88 -0
- package/public/js/utils/scroll-into-view.js +164 -0
- package/public/js/utils/storage-keys.js +50 -0
- package/public/local.html +10 -0
- package/public/pr.html +10 -0
- package/public/repo-settings.html +1 -0
- package/public/setup.html +2 -0
- package/src/ai/analyzer.js +125 -18
- package/src/ai/claude-provider.js +31 -3
- package/src/config.js +664 -10
- package/src/external/github-adapter.js +114 -25
- package/src/git/base-branch.js +11 -4
- package/src/github/client.js +482 -588
- package/src/github/errors.js +55 -0
- package/src/github/impl/graphql/pending-review-comments.js +230 -0
- package/src/github/impl/graphql/pending-review.js +153 -0
- package/src/github/impl/graphql/review-lifecycle.js +161 -0
- package/src/github/impl/graphql/stack-walker.js +210 -0
- package/src/github/impl/host/pending-review-comments.js +338 -0
- package/src/github/impl/rest/pending-review.js +251 -0
- package/src/github/impl/rest/review-lifecycle.js +226 -0
- package/src/github/impl/rest/stack-walker.js +309 -0
- package/src/github/operations/pending-review-comments.js +79 -0
- package/src/github/operations/pending-review.js +89 -0
- package/src/github/operations/review-lifecycle.js +126 -0
- package/src/github/operations/stack-walker.js +87 -0
- package/src/github/parser.js +230 -4
- package/src/github/stack-walker.js +14 -189
- package/src/links/repo-links.js +230 -0
- package/src/local-review.js +13 -4
- package/src/main.js +136 -32
- package/src/routes/analyses.js +30 -7
- package/src/routes/bulk-analysis-configs.js +295 -0
- package/src/routes/config.js +102 -2
- package/src/routes/external-comments.js +20 -10
- package/src/routes/github-collections.js +3 -1
- package/src/routes/local.js +101 -11
- package/src/routes/mcp.js +47 -4
- package/src/routes/pr.js +298 -68
- package/src/routes/setup.js +8 -3
- package/src/routes/stack-analysis.js +33 -9
- package/src/routes/worktrees.js +3 -2
- package/src/server.js +2 -0
- package/src/setup/pr-setup.js +37 -11
- package/src/setup/stack-setup.js +13 -3
- package/src/single-port.js +6 -3
package/public/css/pr.css
CHANGED
|
@@ -1661,6 +1661,23 @@
|
|
|
1661
1661
|
scroll-margin-top: var(--toolbar-height, 0px);
|
|
1662
1662
|
}
|
|
1663
1663
|
|
|
1664
|
+
/* Suggestion / finding / comment / chat-line navigation lands the target at
|
|
1665
|
+
the TOP of the diff panel (scrollIntoView block:'start'). Offset it below
|
|
1666
|
+
the sticky toolbar AND the sticky file header so it isn't hidden behind
|
|
1667
|
+
them. `--diff-file-header-height` is measured in JS (_measureFileHeaderHeight)
|
|
1668
|
+
with a sane fallback. Suppressed during a tour, which scrolls to center and
|
|
1669
|
+
manages its own sticky offsets. */
|
|
1670
|
+
:root {
|
|
1671
|
+
--diff-scroll-offset: calc(var(--toolbar-height, 0px) + var(--diff-file-header-height, 38px));
|
|
1672
|
+
}
|
|
1673
|
+
body:not(.tour-active) .d2h-file-wrapper tr,
|
|
1674
|
+
body:not(.tour-active) .ai-suggestion,
|
|
1675
|
+
body:not(.tour-active) .file-comment-card,
|
|
1676
|
+
body:not(.tour-active) .user-comment-row,
|
|
1677
|
+
body:not(.tour-active) .external-comment-row {
|
|
1678
|
+
scroll-margin-top: var(--diff-scroll-offset);
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1664
1681
|
/* Hide diff content when collapsed */
|
|
1665
1682
|
.d2h-file-wrapper.collapsed .d2h-file-body,
|
|
1666
1683
|
.d2h-file-wrapper.collapsed .d2h-diff-table {
|
|
@@ -2686,164 +2703,6 @@ tr.newly-expanded .d2h-code-line-ctn {
|
|
|
2686
2703
|
background-color: var(--color-bg-secondary);
|
|
2687
2704
|
}
|
|
2688
2705
|
|
|
2689
|
-
/* Modal Styles */
|
|
2690
|
-
.modal-overlay {
|
|
2691
|
-
position: fixed;
|
|
2692
|
-
top: 0;
|
|
2693
|
-
left: 0;
|
|
2694
|
-
right: 0;
|
|
2695
|
-
bottom: 0;
|
|
2696
|
-
z-index: 1000;
|
|
2697
|
-
display: flex;
|
|
2698
|
-
align-items: center;
|
|
2699
|
-
justify-content: center;
|
|
2700
|
-
}
|
|
2701
|
-
|
|
2702
|
-
.modal-backdrop {
|
|
2703
|
-
position: absolute;
|
|
2704
|
-
top: 0;
|
|
2705
|
-
left: 0;
|
|
2706
|
-
right: 0;
|
|
2707
|
-
bottom: 0;
|
|
2708
|
-
background: rgba(0, 0, 0, 0.5);
|
|
2709
|
-
cursor: pointer;
|
|
2710
|
-
}
|
|
2711
|
-
|
|
2712
|
-
.modal-container {
|
|
2713
|
-
position: relative;
|
|
2714
|
-
width: min(960px, 90vw);
|
|
2715
|
-
height: 520px; /* Increased from 420px to show all 4 levels without scrolling */
|
|
2716
|
-
background: var(--color-bg-primary, #ffffff);
|
|
2717
|
-
border-radius: 20px;
|
|
2718
|
-
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
|
|
2719
|
-
display: flex;
|
|
2720
|
-
flex-direction: column;
|
|
2721
|
-
overflow: hidden;
|
|
2722
|
-
border: 1px solid var(--color-border-default, #d1d9e0);
|
|
2723
|
-
}
|
|
2724
|
-
|
|
2725
|
-
.modal-header {
|
|
2726
|
-
display: flex;
|
|
2727
|
-
align-items: center;
|
|
2728
|
-
justify-content: space-between;
|
|
2729
|
-
padding: 24px 24px 16px 24px;
|
|
2730
|
-
border-bottom: 1px solid var(--ai-border, rgba(217, 119, 6, 0.3));
|
|
2731
|
-
background: linear-gradient(to right, var(--ai-subtle, rgba(217, 119, 6, 0.08)), transparent);
|
|
2732
|
-
}
|
|
2733
|
-
|
|
2734
|
-
.modal-header h3 {
|
|
2735
|
-
font-size: 18px;
|
|
2736
|
-
font-weight: 600;
|
|
2737
|
-
color: var(--ai-primary, #d97706);
|
|
2738
|
-
margin: 0;
|
|
2739
|
-
}
|
|
2740
|
-
|
|
2741
|
-
.modal-close-btn {
|
|
2742
|
-
background: none;
|
|
2743
|
-
border: none;
|
|
2744
|
-
padding: 4px;
|
|
2745
|
-
cursor: pointer;
|
|
2746
|
-
border-radius: 4px;
|
|
2747
|
-
color: var(--color-text-secondary, #656d76);
|
|
2748
|
-
display: flex;
|
|
2749
|
-
align-items: center;
|
|
2750
|
-
justify-content: center;
|
|
2751
|
-
}
|
|
2752
|
-
|
|
2753
|
-
.modal-close-btn:hover {
|
|
2754
|
-
background: var(--color-bg-tertiary, #f6f8fa);
|
|
2755
|
-
color: var(--color-text-primary, #24292f);
|
|
2756
|
-
}
|
|
2757
|
-
|
|
2758
|
-
.modal-body {
|
|
2759
|
-
padding: 16px 24px;
|
|
2760
|
-
flex: 1;
|
|
2761
|
-
overflow-y: auto;
|
|
2762
|
-
}
|
|
2763
|
-
|
|
2764
|
-
.modal-footer {
|
|
2765
|
-
padding: 16px 24px 24px 24px;
|
|
2766
|
-
display: flex;
|
|
2767
|
-
gap: 8px;
|
|
2768
|
-
justify-content: flex-end;
|
|
2769
|
-
border-top: 1px solid var(--color-border-default, #d1d9e0);
|
|
2770
|
-
}
|
|
2771
|
-
|
|
2772
|
-
.modal-footer .btn {
|
|
2773
|
-
padding: 8px 16px;
|
|
2774
|
-
font-size: 14px;
|
|
2775
|
-
}
|
|
2776
|
-
|
|
2777
|
-
/* Confirm dialog buttons should be centered */
|
|
2778
|
-
.confirm-dialog-container .modal-footer {
|
|
2779
|
-
justify-content: center;
|
|
2780
|
-
}
|
|
2781
|
-
|
|
2782
|
-
/* When a secondary button is visible (3 buttons), widen and stack vertically.
|
|
2783
|
-
column-reverse puts Confirm (primary) on top, Cancel on bottom. */
|
|
2784
|
-
.confirm-dialog-container.has-secondary {
|
|
2785
|
-
min-width: 440px;
|
|
2786
|
-
}
|
|
2787
|
-
|
|
2788
|
-
.confirm-dialog-container.has-secondary .modal-footer {
|
|
2789
|
-
flex-direction: column-reverse;
|
|
2790
|
-
align-items: stretch;
|
|
2791
|
-
}
|
|
2792
|
-
|
|
2793
|
-
.confirm-dialog-container.has-secondary .modal-footer .btn {
|
|
2794
|
-
display: flex;
|
|
2795
|
-
flex-direction: column;
|
|
2796
|
-
align-items: center;
|
|
2797
|
-
}
|
|
2798
|
-
|
|
2799
|
-
/* Button description subtitles */
|
|
2800
|
-
.modal-footer .btn .btn-label {
|
|
2801
|
-
display: block;
|
|
2802
|
-
}
|
|
2803
|
-
|
|
2804
|
-
.modal-footer .btn .btn-desc {
|
|
2805
|
-
display: block;
|
|
2806
|
-
font-size: 12px;
|
|
2807
|
-
font-weight: normal;
|
|
2808
|
-
opacity: 0.7;
|
|
2809
|
-
margin-top: 2px;
|
|
2810
|
-
}
|
|
2811
|
-
|
|
2812
|
-
/* Dialogs spawned from within other modals need higher z-index */
|
|
2813
|
-
#text-input-dialog,
|
|
2814
|
-
#confirm-dialog {
|
|
2815
|
-
z-index: 10000; /* Must stack above analysis-config-overlay (1100) */
|
|
2816
|
-
}
|
|
2817
|
-
|
|
2818
|
-
.text-input-dialog-field {
|
|
2819
|
-
display: flex;
|
|
2820
|
-
flex-direction: column;
|
|
2821
|
-
gap: 6px;
|
|
2822
|
-
}
|
|
2823
|
-
|
|
2824
|
-
.text-input-dialog-field label {
|
|
2825
|
-
font-size: 13px;
|
|
2826
|
-
font-weight: 600;
|
|
2827
|
-
color: var(--color-fg-default, #1f2328);
|
|
2828
|
-
}
|
|
2829
|
-
|
|
2830
|
-
.text-input-dialog-field input {
|
|
2831
|
-
padding: 8px 12px;
|
|
2832
|
-
font-size: 14px;
|
|
2833
|
-
border: 1px solid var(--color-border-default, #d1d9e0);
|
|
2834
|
-
border-radius: 6px;
|
|
2835
|
-
background: var(--color-bg-primary, #ffffff);
|
|
2836
|
-
color: var(--color-fg-default, #1f2328);
|
|
2837
|
-
outline: none;
|
|
2838
|
-
width: 100%;
|
|
2839
|
-
box-sizing: border-box;
|
|
2840
|
-
}
|
|
2841
|
-
|
|
2842
|
-
.text-input-dialog-field input:focus {
|
|
2843
|
-
border-color: var(--color-accent-fg, #0969da);
|
|
2844
|
-
box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.3);
|
|
2845
|
-
}
|
|
2846
|
-
|
|
2847
2706
|
/* Status Indicator Styles */
|
|
2848
2707
|
.status-indicator {
|
|
2849
2708
|
display: none;
|
|
@@ -2921,43 +2780,6 @@ tr.newly-expanded .d2h-code-line-ctn {
|
|
|
2921
2780
|
color: var(--color-text-secondary, #656d76);
|
|
2922
2781
|
}
|
|
2923
2782
|
|
|
2924
|
-
/* Dark theme adjustments for modal */
|
|
2925
|
-
[data-theme="dark"] .modal-container {
|
|
2926
|
-
background: var(--color-bg-primary);
|
|
2927
|
-
border-color: var(--color-border-default);
|
|
2928
|
-
}
|
|
2929
|
-
|
|
2930
|
-
[data-theme="dark"] .modal-header {
|
|
2931
|
-
border-color: var(--color-border-default);
|
|
2932
|
-
}
|
|
2933
|
-
|
|
2934
|
-
[data-theme="dark"] .modal-footer {
|
|
2935
|
-
border-color: var(--color-border-default);
|
|
2936
|
-
}
|
|
2937
|
-
|
|
2938
|
-
[data-theme="dark"] .modal-close-btn:hover {
|
|
2939
|
-
background: var(--color-bg-secondary);
|
|
2940
|
-
}
|
|
2941
|
-
|
|
2942
|
-
[data-theme="dark"] .modal-body {
|
|
2943
|
-
color: var(--color-text-primary); /* Better contrast for dark mode */
|
|
2944
|
-
}
|
|
2945
|
-
|
|
2946
|
-
[data-theme="dark"] .text-input-dialog-field label {
|
|
2947
|
-
color: var(--color-fg-default, #f0f6fc);
|
|
2948
|
-
}
|
|
2949
|
-
|
|
2950
|
-
[data-theme="dark"] .text-input-dialog-field input {
|
|
2951
|
-
background: var(--color-bg-tertiary, #161b22);
|
|
2952
|
-
border-color: var(--color-border-default, #30363d);
|
|
2953
|
-
color: var(--color-fg-default, #f0f6fc);
|
|
2954
|
-
}
|
|
2955
|
-
|
|
2956
|
-
[data-theme="dark"] .text-input-dialog-field input:focus {
|
|
2957
|
-
border-color: var(--color-accent-fg, #58a6ff);
|
|
2958
|
-
box-shadow: 0 0 0 3px rgba(56, 139, 253, 0.3);
|
|
2959
|
-
}
|
|
2960
|
-
|
|
2961
2783
|
[data-theme="dark"] .status-indicator {
|
|
2962
2784
|
background: var(--color-bg-primary);
|
|
2963
2785
|
border-color: var(--color-border-primary);
|
|
@@ -9945,1548 +9767,6 @@ body.resizing * {
|
|
|
9945
9767
|
background: var(--color-text-tertiary);
|
|
9946
9768
|
}
|
|
9947
9769
|
|
|
9948
|
-
/* ============================================
|
|
9949
|
-
AI Analysis Configuration Modal
|
|
9950
|
-
============================================ */
|
|
9951
|
-
|
|
9952
|
-
.analysis-config-overlay {
|
|
9953
|
-
z-index: 1100;
|
|
9954
|
-
}
|
|
9955
|
-
|
|
9956
|
-
.analysis-config-overlay.visible {
|
|
9957
|
-
opacity: 1;
|
|
9958
|
-
}
|
|
9959
|
-
|
|
9960
|
-
.analysis-config-overlay.visible .analysis-config-container {
|
|
9961
|
-
transform: translateY(0) scale(1);
|
|
9962
|
-
opacity: 1;
|
|
9963
|
-
}
|
|
9964
|
-
|
|
9965
|
-
.analysis-config-container {
|
|
9966
|
-
width: 90vw;
|
|
9967
|
-
max-width: min(900px, calc(100vw - 32px));
|
|
9968
|
-
height: auto; /* Override fixed height from .modal-container */
|
|
9969
|
-
max-height: min(90vh, calc(100vh - 32px));
|
|
9970
|
-
display: flex;
|
|
9971
|
-
flex-direction: column;
|
|
9972
|
-
transform: translateY(8px) scale(0.98);
|
|
9973
|
-
opacity: 0;
|
|
9974
|
-
transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
|
|
9975
|
-
opacity 0.2s ease-out;
|
|
9976
|
-
border-radius: 12px;
|
|
9977
|
-
overflow: hidden;
|
|
9978
|
-
box-shadow:
|
|
9979
|
-
0 0 0 1px var(--color-border-primary),
|
|
9980
|
-
0 16px 70px -12px rgba(0, 0, 0, 0.35),
|
|
9981
|
-
0 4px 16px rgba(0, 0, 0, 0.1);
|
|
9982
|
-
/* Ensure the dialog content is visible from the top */
|
|
9983
|
-
margin: auto;
|
|
9984
|
-
}
|
|
9985
|
-
|
|
9986
|
-
[data-theme="dark"] .analysis-config-container {
|
|
9987
|
-
box-shadow:
|
|
9988
|
-
0 0 0 1px var(--color-border-primary),
|
|
9989
|
-
0 16px 70px -12px rgba(0, 0, 0, 0.6),
|
|
9990
|
-
0 4px 16px rgba(0, 0, 0, 0.25);
|
|
9991
|
-
}
|
|
9992
|
-
|
|
9993
|
-
/* Header */
|
|
9994
|
-
.analysis-config-header {
|
|
9995
|
-
display: flex;
|
|
9996
|
-
align-items: center;
|
|
9997
|
-
justify-content: space-between;
|
|
9998
|
-
padding: 16px 20px;
|
|
9999
|
-
background: linear-gradient(135deg,
|
|
10000
|
-
var(--color-bg-secondary) 0%,
|
|
10001
|
-
var(--color-bg-tertiary) 100%);
|
|
10002
|
-
border-bottom: 1px solid var(--color-border-primary);
|
|
10003
|
-
}
|
|
10004
|
-
|
|
10005
|
-
.header-title-section {
|
|
10006
|
-
display: flex;
|
|
10007
|
-
align-items: center;
|
|
10008
|
-
gap: 12px;
|
|
10009
|
-
}
|
|
10010
|
-
|
|
10011
|
-
.header-icon {
|
|
10012
|
-
display: flex;
|
|
10013
|
-
align-items: center;
|
|
10014
|
-
justify-content: center;
|
|
10015
|
-
width: 40px;
|
|
10016
|
-
height: 40px;
|
|
10017
|
-
border-radius: 10px;
|
|
10018
|
-
background: linear-gradient(135deg, var(--color-accent-ai-dark) 0%, #d97706 100%);
|
|
10019
|
-
color: white;
|
|
10020
|
-
box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
|
|
10021
|
-
}
|
|
10022
|
-
|
|
10023
|
-
[data-theme="dark"] .header-icon {
|
|
10024
|
-
background: linear-gradient(135deg, var(--color-accent-ai) 0%, var(--color-accent-ai-dark) 100%);
|
|
10025
|
-
box-shadow: 0 2px 12px rgba(251, 191, 36, 0.25);
|
|
10026
|
-
}
|
|
10027
|
-
|
|
10028
|
-
.analysis-config-header h3 {
|
|
10029
|
-
margin: 0;
|
|
10030
|
-
font-size: 16px;
|
|
10031
|
-
font-weight: 600;
|
|
10032
|
-
color: var(--color-text-primary);
|
|
10033
|
-
}
|
|
10034
|
-
|
|
10035
|
-
.header-subtitle {
|
|
10036
|
-
margin: 2px 0 0;
|
|
10037
|
-
font-size: 12px;
|
|
10038
|
-
color: var(--color-text-secondary);
|
|
10039
|
-
}
|
|
10040
|
-
|
|
10041
|
-
/* Body */
|
|
10042
|
-
.analysis-config-body {
|
|
10043
|
-
flex: 1;
|
|
10044
|
-
overflow-y: auto;
|
|
10045
|
-
padding: 20px;
|
|
10046
|
-
background: var(--color-bg-primary);
|
|
10047
|
-
position: relative;
|
|
10048
|
-
}
|
|
10049
|
-
|
|
10050
|
-
/* Loading overlay shown while providers are being fetched */
|
|
10051
|
-
.config-loading-overlay {
|
|
10052
|
-
position: absolute;
|
|
10053
|
-
inset: 0;
|
|
10054
|
-
display: flex;
|
|
10055
|
-
flex-direction: column;
|
|
10056
|
-
align-items: center;
|
|
10057
|
-
justify-content: center;
|
|
10058
|
-
gap: 12px;
|
|
10059
|
-
background: var(--color-bg-primary);
|
|
10060
|
-
z-index: 10;
|
|
10061
|
-
color: var(--color-text-secondary);
|
|
10062
|
-
font-size: 13px;
|
|
10063
|
-
}
|
|
10064
|
-
|
|
10065
|
-
.config-loading-spinner {
|
|
10066
|
-
width: 24px;
|
|
10067
|
-
height: 24px;
|
|
10068
|
-
border: 2.5px solid var(--color-border-primary);
|
|
10069
|
-
border-top-color: var(--color-text-link, #2f81f7);
|
|
10070
|
-
border-radius: 50%;
|
|
10071
|
-
animation: spin 0.8s linear infinite;
|
|
10072
|
-
}
|
|
10073
|
-
|
|
10074
|
-
/* Section styling */
|
|
10075
|
-
.config-section {
|
|
10076
|
-
margin-bottom: 20px;
|
|
10077
|
-
}
|
|
10078
|
-
|
|
10079
|
-
.config-section:last-child {
|
|
10080
|
-
margin-bottom: 0;
|
|
10081
|
-
}
|
|
10082
|
-
|
|
10083
|
-
.section-title {
|
|
10084
|
-
display: flex;
|
|
10085
|
-
align-items: center;
|
|
10086
|
-
gap: 8px;
|
|
10087
|
-
margin: 0 0 10px;
|
|
10088
|
-
font-size: 13px;
|
|
10089
|
-
font-weight: 600;
|
|
10090
|
-
color: var(--color-text-primary);
|
|
10091
|
-
text-transform: uppercase;
|
|
10092
|
-
letter-spacing: 0.03em;
|
|
10093
|
-
}
|
|
10094
|
-
|
|
10095
|
-
.section-hint {
|
|
10096
|
-
font-weight: 400;
|
|
10097
|
-
font-size: 11px;
|
|
10098
|
-
color: var(--color-text-tertiary);
|
|
10099
|
-
text-transform: none;
|
|
10100
|
-
letter-spacing: 0;
|
|
10101
|
-
}
|
|
10102
|
-
|
|
10103
|
-
/* Provider Toggle */
|
|
10104
|
-
.provider-toggle {
|
|
10105
|
-
display: flex;
|
|
10106
|
-
flex-wrap: wrap;
|
|
10107
|
-
justify-content: center;
|
|
10108
|
-
gap: 8px;
|
|
10109
|
-
width: 100%;
|
|
10110
|
-
max-width: 100%;
|
|
10111
|
-
}
|
|
10112
|
-
|
|
10113
|
-
.provider-btn {
|
|
10114
|
-
display: inline-flex;
|
|
10115
|
-
align-items: center;
|
|
10116
|
-
gap: 6px;
|
|
10117
|
-
padding: 10px 18px;
|
|
10118
|
-
border: 2px solid var(--color-border-primary);
|
|
10119
|
-
background: var(--color-bg-secondary);
|
|
10120
|
-
color: var(--color-text-secondary);
|
|
10121
|
-
font-size: 14px;
|
|
10122
|
-
font-weight: 500;
|
|
10123
|
-
border-radius: 10px;
|
|
10124
|
-
cursor: pointer;
|
|
10125
|
-
transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
10126
|
-
white-space: nowrap;
|
|
10127
|
-
}
|
|
10128
|
-
|
|
10129
|
-
.provider-btn:hover {
|
|
10130
|
-
border-color: var(--color-border-secondary);
|
|
10131
|
-
background: var(--color-bg-tertiary);
|
|
10132
|
-
color: var(--color-text-primary);
|
|
10133
|
-
transform: translateY(-2px);
|
|
10134
|
-
box-shadow: 0 4px 12px var(--color-shadow);
|
|
10135
|
-
}
|
|
10136
|
-
|
|
10137
|
-
.provider-btn.selected {
|
|
10138
|
-
border-color: var(--color-accent-ai-dark);
|
|
10139
|
-
background: rgba(245, 158, 11, 0.08);
|
|
10140
|
-
color: var(--color-text-primary);
|
|
10141
|
-
box-shadow:
|
|
10142
|
-
0 0 0 3px rgba(245, 158, 11, 0.15),
|
|
10143
|
-
0 4px 12px rgba(245, 158, 11, 0.1);
|
|
10144
|
-
}
|
|
10145
|
-
|
|
10146
|
-
[data-theme="dark"] .provider-btn.selected {
|
|
10147
|
-
background: rgba(251, 191, 36, 0.1);
|
|
10148
|
-
border-color: var(--color-accent-ai);
|
|
10149
|
-
color: #fbbf24;
|
|
10150
|
-
box-shadow:
|
|
10151
|
-
0 0 0 3px rgba(251, 191, 36, 0.15),
|
|
10152
|
-
0 4px 12px rgba(251, 191, 36, 0.08);
|
|
10153
|
-
}
|
|
10154
|
-
|
|
10155
|
-
/* No providers available message */
|
|
10156
|
-
.no-providers-message {
|
|
10157
|
-
font-size: 13px;
|
|
10158
|
-
font-style: italic;
|
|
10159
|
-
color: var(--color-text-muted);
|
|
10160
|
-
padding: 8px 12px;
|
|
10161
|
-
}
|
|
10162
|
-
|
|
10163
|
-
/* Provider refresh button */
|
|
10164
|
-
.provider-refresh-btn {
|
|
10165
|
-
display: inline-flex;
|
|
10166
|
-
align-items: center;
|
|
10167
|
-
justify-content: center;
|
|
10168
|
-
width: 22px;
|
|
10169
|
-
height: 22px;
|
|
10170
|
-
padding: 0;
|
|
10171
|
-
margin-left: 4px;
|
|
10172
|
-
border: none;
|
|
10173
|
-
background: transparent;
|
|
10174
|
-
color: var(--color-text-tertiary);
|
|
10175
|
-
border-radius: 4px;
|
|
10176
|
-
cursor: pointer;
|
|
10177
|
-
transition: all 0.2s ease;
|
|
10178
|
-
}
|
|
10179
|
-
|
|
10180
|
-
.provider-refresh-btn:hover {
|
|
10181
|
-
background: var(--color-bg-tertiary);
|
|
10182
|
-
color: var(--color-text-secondary);
|
|
10183
|
-
}
|
|
10184
|
-
|
|
10185
|
-
.provider-refresh-btn:disabled {
|
|
10186
|
-
cursor: not-allowed;
|
|
10187
|
-
opacity: 0.5;
|
|
10188
|
-
}
|
|
10189
|
-
|
|
10190
|
-
.provider-refresh-btn.refreshing svg {
|
|
10191
|
-
animation: spin 1s linear infinite;
|
|
10192
|
-
}
|
|
10193
|
-
|
|
10194
|
-
@keyframes spin {
|
|
10195
|
-
from {
|
|
10196
|
-
transform: rotate(0deg);
|
|
10197
|
-
}
|
|
10198
|
-
to {
|
|
10199
|
-
transform: rotate(360deg);
|
|
10200
|
-
}
|
|
10201
|
-
}
|
|
10202
|
-
|
|
10203
|
-
/* Model Cards */
|
|
10204
|
-
.model-cards {
|
|
10205
|
-
display: grid;
|
|
10206
|
-
grid-template-columns: repeat(3, minmax(0, 220px));
|
|
10207
|
-
gap: 12px;
|
|
10208
|
-
justify-content: center;
|
|
10209
|
-
}
|
|
10210
|
-
|
|
10211
|
-
.model-card {
|
|
10212
|
-
position: relative;
|
|
10213
|
-
display: flex;
|
|
10214
|
-
flex-direction: column;
|
|
10215
|
-
align-items: center;
|
|
10216
|
-
padding: 14px 10px;
|
|
10217
|
-
background: var(--color-bg-secondary);
|
|
10218
|
-
border: 2px solid var(--color-border-primary);
|
|
10219
|
-
border-radius: 10px;
|
|
10220
|
-
cursor: pointer;
|
|
10221
|
-
transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
10222
|
-
text-align: center;
|
|
10223
|
-
aspect-ratio: 1.618 / 1;
|
|
10224
|
-
overflow: hidden;
|
|
10225
|
-
justify-content: center;
|
|
10226
|
-
}
|
|
10227
|
-
|
|
10228
|
-
.model-card:hover {
|
|
10229
|
-
border-color: var(--color-border-secondary);
|
|
10230
|
-
background: var(--color-bg-tertiary);
|
|
10231
|
-
transform: translateY(-2px);
|
|
10232
|
-
box-shadow: 0 4px 12px var(--color-shadow);
|
|
10233
|
-
}
|
|
10234
|
-
|
|
10235
|
-
.model-card.selected {
|
|
10236
|
-
border-color: var(--color-accent-ai-dark);
|
|
10237
|
-
background: rgba(245, 158, 11, 0.08);
|
|
10238
|
-
box-shadow:
|
|
10239
|
-
0 0 0 3px rgba(245, 158, 11, 0.15),
|
|
10240
|
-
0 4px 12px rgba(245, 158, 11, 0.1);
|
|
10241
|
-
}
|
|
10242
|
-
|
|
10243
|
-
[data-theme="dark"] .model-card.selected {
|
|
10244
|
-
background: rgba(251, 191, 36, 0.1);
|
|
10245
|
-
border-color: var(--color-accent-ai);
|
|
10246
|
-
box-shadow:
|
|
10247
|
-
0 0 0 3px rgba(251, 191, 36, 0.15),
|
|
10248
|
-
0 4px 12px rgba(251, 191, 36, 0.08);
|
|
10249
|
-
}
|
|
10250
|
-
|
|
10251
|
-
.model-badge {
|
|
10252
|
-
position: absolute;
|
|
10253
|
-
top: 8px;
|
|
10254
|
-
right: 8px;
|
|
10255
|
-
padding: 2px 8px;
|
|
10256
|
-
font-size: 9px;
|
|
10257
|
-
font-weight: 700;
|
|
10258
|
-
text-transform: uppercase;
|
|
10259
|
-
letter-spacing: 0.05em;
|
|
10260
|
-
border-radius: 10px;
|
|
10261
|
-
white-space: nowrap;
|
|
10262
|
-
}
|
|
10263
|
-
|
|
10264
|
-
.badge-speed {
|
|
10265
|
-
background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
|
|
10266
|
-
color: white;
|
|
10267
|
-
}
|
|
10268
|
-
|
|
10269
|
-
.badge-recommended {
|
|
10270
|
-
background: linear-gradient(135deg, var(--color-accent-ai-dark) 0%, #d97706 100%);
|
|
10271
|
-
color: white;
|
|
10272
|
-
}
|
|
10273
|
-
|
|
10274
|
-
.badge-power {
|
|
10275
|
-
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
|
|
10276
|
-
color: white;
|
|
10277
|
-
}
|
|
10278
|
-
|
|
10279
|
-
.badge-premium {
|
|
10280
|
-
background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
|
|
10281
|
-
color: white;
|
|
10282
|
-
}
|
|
10283
|
-
|
|
10284
|
-
.badge-balanced {
|
|
10285
|
-
background: linear-gradient(135deg, var(--color-accent-ai-dark) 0%, #d97706 100%);
|
|
10286
|
-
color: white;
|
|
10287
|
-
}
|
|
10288
|
-
|
|
10289
|
-
.model-icon {
|
|
10290
|
-
font-size: 28px;
|
|
10291
|
-
line-height: 1;
|
|
10292
|
-
margin-bottom: 2px;
|
|
10293
|
-
}
|
|
10294
|
-
|
|
10295
|
-
.model-info {
|
|
10296
|
-
display: flex;
|
|
10297
|
-
flex-direction: column;
|
|
10298
|
-
gap: 1px;
|
|
10299
|
-
}
|
|
10300
|
-
|
|
10301
|
-
.model-name {
|
|
10302
|
-
font-size: 13px;
|
|
10303
|
-
font-weight: 600;
|
|
10304
|
-
color: var(--color-text-primary);
|
|
10305
|
-
}
|
|
10306
|
-
|
|
10307
|
-
.model-tagline {
|
|
10308
|
-
font-size: 11px;
|
|
10309
|
-
color: var(--color-text-secondary);
|
|
10310
|
-
}
|
|
10311
|
-
|
|
10312
|
-
.model-description {
|
|
10313
|
-
margin: 4px 0 0;
|
|
10314
|
-
font-size: 10px;
|
|
10315
|
-
color: var(--color-text-tertiary);
|
|
10316
|
-
line-height: 1.3;
|
|
10317
|
-
}
|
|
10318
|
-
|
|
10319
|
-
.model-selected-indicator {
|
|
10320
|
-
position: absolute;
|
|
10321
|
-
bottom: 8px;
|
|
10322
|
-
right: 8px;
|
|
10323
|
-
width: 20px;
|
|
10324
|
-
height: 20px;
|
|
10325
|
-
display: flex;
|
|
10326
|
-
align-items: center;
|
|
10327
|
-
justify-content: center;
|
|
10328
|
-
background: var(--color-accent-ai-dark);
|
|
10329
|
-
border-radius: 50%;
|
|
10330
|
-
color: white;
|
|
10331
|
-
opacity: 0;
|
|
10332
|
-
transform: scale(0.5);
|
|
10333
|
-
transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
10334
|
-
}
|
|
10335
|
-
|
|
10336
|
-
[data-theme="dark"] .model-selected-indicator {
|
|
10337
|
-
background: var(--color-accent-ai);
|
|
10338
|
-
color: #1a1a1a;
|
|
10339
|
-
}
|
|
10340
|
-
|
|
10341
|
-
.model-card.selected .model-selected-indicator {
|
|
10342
|
-
opacity: 1;
|
|
10343
|
-
transform: scale(1);
|
|
10344
|
-
}
|
|
10345
|
-
|
|
10346
|
-
/* Remember toggle */
|
|
10347
|
-
.remember-toggle {
|
|
10348
|
-
display: flex;
|
|
10349
|
-
align-items: center;
|
|
10350
|
-
gap: 10px;
|
|
10351
|
-
margin-top: 12px;
|
|
10352
|
-
cursor: pointer;
|
|
10353
|
-
font-size: 12px;
|
|
10354
|
-
color: var(--color-text-secondary);
|
|
10355
|
-
user-select: none;
|
|
10356
|
-
}
|
|
10357
|
-
|
|
10358
|
-
.remember-toggle input {
|
|
10359
|
-
display: none;
|
|
10360
|
-
}
|
|
10361
|
-
|
|
10362
|
-
.toggle-switch {
|
|
10363
|
-
position: relative;
|
|
10364
|
-
width: 36px;
|
|
10365
|
-
height: 20px;
|
|
10366
|
-
background: var(--color-border-primary);
|
|
10367
|
-
border-radius: 10px;
|
|
10368
|
-
transition: background 0.2s ease;
|
|
10369
|
-
flex-shrink: 0;
|
|
10370
|
-
}
|
|
10371
|
-
|
|
10372
|
-
.toggle-switch::after {
|
|
10373
|
-
content: '';
|
|
10374
|
-
position: absolute;
|
|
10375
|
-
top: 2px;
|
|
10376
|
-
left: 2px;
|
|
10377
|
-
width: 16px;
|
|
10378
|
-
height: 16px;
|
|
10379
|
-
background: white;
|
|
10380
|
-
border-radius: 50%;
|
|
10381
|
-
transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
10382
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
10383
|
-
}
|
|
10384
|
-
|
|
10385
|
-
.remember-toggle input:checked + .toggle-switch {
|
|
10386
|
-
background: var(--color-accent-ai-dark);
|
|
10387
|
-
}
|
|
10388
|
-
|
|
10389
|
-
[data-theme="dark"] .remember-toggle input:checked + .toggle-switch {
|
|
10390
|
-
background: var(--color-accent-ai);
|
|
10391
|
-
}
|
|
10392
|
-
|
|
10393
|
-
.remember-toggle input:checked + .toggle-switch::after {
|
|
10394
|
-
transform: translateX(16px);
|
|
10395
|
-
}
|
|
10396
|
-
|
|
10397
|
-
.toggle-label {
|
|
10398
|
-
line-height: 1.4;
|
|
10399
|
-
}
|
|
10400
|
-
|
|
10401
|
-
/* Skip Level 3 Info */
|
|
10402
|
-
.skip-level3-info {
|
|
10403
|
-
display: flex;
|
|
10404
|
-
align-items: flex-start;
|
|
10405
|
-
gap: 8px;
|
|
10406
|
-
margin-bottom: 12px;
|
|
10407
|
-
padding: 8px 12px;
|
|
10408
|
-
background: var(--color-accent-light);
|
|
10409
|
-
border-radius: 6px;
|
|
10410
|
-
font-size: 12px;
|
|
10411
|
-
color: var(--color-info);
|
|
10412
|
-
line-height: 1.4;
|
|
10413
|
-
}
|
|
10414
|
-
|
|
10415
|
-
.skip-level3-info svg {
|
|
10416
|
-
flex-shrink: 0;
|
|
10417
|
-
margin-top: 1px;
|
|
10418
|
-
color: var(--color-info);
|
|
10419
|
-
}
|
|
10420
|
-
|
|
10421
|
-
/* Preset Chips */
|
|
10422
|
-
.preset-chips {
|
|
10423
|
-
display: flex;
|
|
10424
|
-
flex-wrap: wrap;
|
|
10425
|
-
gap: 8px;
|
|
10426
|
-
}
|
|
10427
|
-
|
|
10428
|
-
.preset-chip {
|
|
10429
|
-
display: inline-flex;
|
|
10430
|
-
align-items: center;
|
|
10431
|
-
gap: 6px;
|
|
10432
|
-
padding: 8px 14px;
|
|
10433
|
-
background: var(--color-bg-secondary);
|
|
10434
|
-
border: 1px solid var(--color-border-primary);
|
|
10435
|
-
border-radius: 20px;
|
|
10436
|
-
font-size: 13px;
|
|
10437
|
-
color: var(--color-text-secondary);
|
|
10438
|
-
cursor: pointer;
|
|
10439
|
-
transition: all var(--transition-fast);
|
|
10440
|
-
user-select: none;
|
|
10441
|
-
}
|
|
10442
|
-
|
|
10443
|
-
.preset-chip:hover {
|
|
10444
|
-
background: var(--color-bg-tertiary);
|
|
10445
|
-
border-color: var(--color-border-secondary);
|
|
10446
|
-
color: var(--color-text-primary);
|
|
10447
|
-
}
|
|
10448
|
-
|
|
10449
|
-
.preset-chip.active {
|
|
10450
|
-
background: rgba(245, 158, 11, 0.12);
|
|
10451
|
-
border-color: var(--color-accent-ai-dark);
|
|
10452
|
-
color: #b45309;
|
|
10453
|
-
}
|
|
10454
|
-
|
|
10455
|
-
[data-theme="dark"] .preset-chip.active {
|
|
10456
|
-
background: rgba(251, 191, 36, 0.12);
|
|
10457
|
-
border-color: var(--color-accent-ai);
|
|
10458
|
-
color: #fcd34d;
|
|
10459
|
-
}
|
|
10460
|
-
|
|
10461
|
-
.preset-label {
|
|
10462
|
-
font-weight: 500;
|
|
10463
|
-
}
|
|
10464
|
-
|
|
10465
|
-
/* Instructions Container */
|
|
10466
|
-
.instructions-container {
|
|
10467
|
-
display: flex;
|
|
10468
|
-
flex-direction: column;
|
|
10469
|
-
gap: 4px;
|
|
10470
|
-
}
|
|
10471
|
-
|
|
10472
|
-
.repo-instructions-banner {
|
|
10473
|
-
display: flex;
|
|
10474
|
-
align-items: center;
|
|
10475
|
-
gap: 10px;
|
|
10476
|
-
padding: 10px 12px;
|
|
10477
|
-
background: var(--color-bg-tertiary);
|
|
10478
|
-
border: 1px solid var(--color-border-primary);
|
|
10479
|
-
border-radius: 8px;
|
|
10480
|
-
}
|
|
10481
|
-
|
|
10482
|
-
.banner-icon {
|
|
10483
|
-
display: flex;
|
|
10484
|
-
align-items: center;
|
|
10485
|
-
justify-content: center;
|
|
10486
|
-
width: 24px;
|
|
10487
|
-
height: 24px;
|
|
10488
|
-
background: var(--color-accent-light);
|
|
10489
|
-
border-radius: 6px;
|
|
10490
|
-
color: var(--color-accent-primary);
|
|
10491
|
-
flex-shrink: 0;
|
|
10492
|
-
}
|
|
10493
|
-
|
|
10494
|
-
.banner-content {
|
|
10495
|
-
flex: 1;
|
|
10496
|
-
display: flex;
|
|
10497
|
-
align-items: center;
|
|
10498
|
-
justify-content: space-between;
|
|
10499
|
-
gap: 12px;
|
|
10500
|
-
}
|
|
10501
|
-
|
|
10502
|
-
.banner-label {
|
|
10503
|
-
font-size: 12px;
|
|
10504
|
-
color: var(--color-text-secondary);
|
|
10505
|
-
}
|
|
10506
|
-
|
|
10507
|
-
.banner-toggle {
|
|
10508
|
-
display: inline-flex;
|
|
10509
|
-
align-items: center;
|
|
10510
|
-
gap: 4px;
|
|
10511
|
-
padding: 4px 10px;
|
|
10512
|
-
background: transparent;
|
|
10513
|
-
border: 1px solid var(--color-border-primary);
|
|
10514
|
-
border-radius: 6px;
|
|
10515
|
-
font-size: 11px;
|
|
10516
|
-
font-weight: 500;
|
|
10517
|
-
color: var(--color-text-secondary);
|
|
10518
|
-
cursor: pointer;
|
|
10519
|
-
transition: all var(--transition-fast);
|
|
10520
|
-
}
|
|
10521
|
-
|
|
10522
|
-
.banner-toggle:hover {
|
|
10523
|
-
background: var(--color-bg-secondary);
|
|
10524
|
-
border-color: var(--color-border-secondary);
|
|
10525
|
-
color: var(--color-text-primary);
|
|
10526
|
-
}
|
|
10527
|
-
|
|
10528
|
-
.repo-instructions-expanded {
|
|
10529
|
-
background: var(--color-bg-tertiary);
|
|
10530
|
-
border: 1px solid var(--color-border-primary);
|
|
10531
|
-
border-radius: 8px;
|
|
10532
|
-
overflow: hidden;
|
|
10533
|
-
}
|
|
10534
|
-
|
|
10535
|
-
.expanded-header {
|
|
10536
|
-
display: flex;
|
|
10537
|
-
align-items: center;
|
|
10538
|
-
justify-content: space-between;
|
|
10539
|
-
padding: 8px 12px;
|
|
10540
|
-
background: var(--color-bg-secondary);
|
|
10541
|
-
border-bottom: 1px solid var(--color-border-primary);
|
|
10542
|
-
font-size: 11px;
|
|
10543
|
-
font-weight: 600;
|
|
10544
|
-
color: var(--color-text-secondary);
|
|
10545
|
-
text-transform: uppercase;
|
|
10546
|
-
letter-spacing: 0.03em;
|
|
10547
|
-
}
|
|
10548
|
-
|
|
10549
|
-
.collapse-btn {
|
|
10550
|
-
display: flex;
|
|
10551
|
-
align-items: center;
|
|
10552
|
-
justify-content: center;
|
|
10553
|
-
width: 24px;
|
|
10554
|
-
height: 24px;
|
|
10555
|
-
background: transparent;
|
|
10556
|
-
border: none;
|
|
10557
|
-
border-radius: 4px;
|
|
10558
|
-
color: var(--color-text-tertiary);
|
|
10559
|
-
cursor: pointer;
|
|
10560
|
-
transition: all var(--transition-fast);
|
|
10561
|
-
}
|
|
10562
|
-
|
|
10563
|
-
.collapse-btn:hover {
|
|
10564
|
-
background: var(--color-bg-tertiary);
|
|
10565
|
-
color: var(--color-text-secondary);
|
|
10566
|
-
}
|
|
10567
|
-
|
|
10568
|
-
.expanded-content {
|
|
10569
|
-
padding: 12px;
|
|
10570
|
-
font-size: 13px;
|
|
10571
|
-
color: var(--color-text-secondary);
|
|
10572
|
-
line-height: 1.5;
|
|
10573
|
-
white-space: pre-wrap;
|
|
10574
|
-
}
|
|
10575
|
-
|
|
10576
|
-
.instructions-textarea {
|
|
10577
|
-
width: 100%;
|
|
10578
|
-
padding: 12px;
|
|
10579
|
-
background: var(--color-bg-secondary);
|
|
10580
|
-
border: 1px solid var(--color-border-primary);
|
|
10581
|
-
border-radius: 8px;
|
|
10582
|
-
font-family: inherit;
|
|
10583
|
-
font-size: 13px;
|
|
10584
|
-
color: var(--color-text-primary);
|
|
10585
|
-
resize: vertical;
|
|
10586
|
-
min-height: 100px;
|
|
10587
|
-
transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
|
|
10588
|
-
}
|
|
10589
|
-
|
|
10590
|
-
.instructions-textarea::placeholder {
|
|
10591
|
-
color: var(--color-text-tertiary);
|
|
10592
|
-
opacity: 0.8;
|
|
10593
|
-
}
|
|
10594
|
-
|
|
10595
|
-
.instructions-textarea:focus {
|
|
10596
|
-
outline: none;
|
|
10597
|
-
border-color: var(--color-accent-ai-dark);
|
|
10598
|
-
box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
|
|
10599
|
-
}
|
|
10600
|
-
|
|
10601
|
-
[data-theme="dark"] .instructions-textarea:focus {
|
|
10602
|
-
border-color: var(--color-accent-ai);
|
|
10603
|
-
box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15);
|
|
10604
|
-
}
|
|
10605
|
-
|
|
10606
|
-
.instructions-footer {
|
|
10607
|
-
display: flex;
|
|
10608
|
-
justify-content: flex-end;
|
|
10609
|
-
}
|
|
10610
|
-
|
|
10611
|
-
.char-count {
|
|
10612
|
-
font-size: 11px;
|
|
10613
|
-
color: var(--color-text-muted);
|
|
10614
|
-
transition: color 0.2s ease;
|
|
10615
|
-
}
|
|
10616
|
-
|
|
10617
|
-
.char-count-warning {
|
|
10618
|
-
color: #d97706;
|
|
10619
|
-
font-weight: 500;
|
|
10620
|
-
}
|
|
10621
|
-
|
|
10622
|
-
[data-theme="dark"] .char-count-warning {
|
|
10623
|
-
color: var(--color-accent-ai);
|
|
10624
|
-
}
|
|
10625
|
-
|
|
10626
|
-
.char-count-error {
|
|
10627
|
-
color: #dc2626;
|
|
10628
|
-
font-weight: 600;
|
|
10629
|
-
}
|
|
10630
|
-
|
|
10631
|
-
[data-theme="dark"] .char-count-error {
|
|
10632
|
-
color: #f87171;
|
|
10633
|
-
}
|
|
10634
|
-
|
|
10635
|
-
/* Textarea validation states */
|
|
10636
|
-
.instructions-textarea.textarea-warning {
|
|
10637
|
-
border-color: #d97706;
|
|
10638
|
-
}
|
|
10639
|
-
|
|
10640
|
-
[data-theme="dark"] .instructions-textarea.textarea-warning {
|
|
10641
|
-
border-color: var(--color-accent-ai);
|
|
10642
|
-
}
|
|
10643
|
-
|
|
10644
|
-
.instructions-textarea.textarea-error {
|
|
10645
|
-
border-color: #dc2626;
|
|
10646
|
-
box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
|
|
10647
|
-
}
|
|
10648
|
-
|
|
10649
|
-
[data-theme="dark"] .instructions-textarea.textarea-error {
|
|
10650
|
-
border-color: #f87171;
|
|
10651
|
-
box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15);
|
|
10652
|
-
}
|
|
10653
|
-
|
|
10654
|
-
/* Disabled submit button state */
|
|
10655
|
-
.btn-analyze:disabled {
|
|
10656
|
-
background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
|
|
10657
|
-
cursor: not-allowed;
|
|
10658
|
-
box-shadow: none;
|
|
10659
|
-
opacity: 0.7;
|
|
10660
|
-
}
|
|
10661
|
-
|
|
10662
|
-
.btn-analyze:disabled:hover {
|
|
10663
|
-
background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
|
|
10664
|
-
transform: none;
|
|
10665
|
-
}
|
|
10666
|
-
|
|
10667
|
-
/* Footer */
|
|
10668
|
-
.analysis-config-footer {
|
|
10669
|
-
display: flex;
|
|
10670
|
-
justify-content: flex-end;
|
|
10671
|
-
align-items: center;
|
|
10672
|
-
gap: 10px;
|
|
10673
|
-
padding: 16px 20px;
|
|
10674
|
-
background: var(--color-bg-secondary);
|
|
10675
|
-
border-top: 1px solid var(--color-border-primary);
|
|
10676
|
-
}
|
|
10677
|
-
|
|
10678
|
-
/* Unsaved council changes hint + footer save button container */
|
|
10679
|
-
.council-footer-left {
|
|
10680
|
-
display: flex;
|
|
10681
|
-
align-items: center;
|
|
10682
|
-
gap: 10px;
|
|
10683
|
-
margin-right: auto;
|
|
10684
|
-
}
|
|
10685
|
-
|
|
10686
|
-
.council-dirty-hint {
|
|
10687
|
-
font-size: 12px;
|
|
10688
|
-
color: var(--color-accent-primary, #0969da);
|
|
10689
|
-
font-style: italic;
|
|
10690
|
-
}
|
|
10691
|
-
|
|
10692
|
-
[data-theme="dark"] .council-dirty-hint {
|
|
10693
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
10694
|
-
}
|
|
10695
|
-
|
|
10696
|
-
/* Blue save button for council footer */
|
|
10697
|
-
.btn-save-council {
|
|
10698
|
-
background-color: var(--color-accent-primary, #0969da);
|
|
10699
|
-
color: #ffffff;
|
|
10700
|
-
border-color: var(--color-accent-primary, #0969da);
|
|
10701
|
-
}
|
|
10702
|
-
|
|
10703
|
-
.btn-save-council:hover {
|
|
10704
|
-
background-color: #0860ca;
|
|
10705
|
-
border-color: #0860ca;
|
|
10706
|
-
}
|
|
10707
|
-
|
|
10708
|
-
[data-theme="dark"] .btn-save-council {
|
|
10709
|
-
background-color: var(--color-accent-primary, #58a6ff);
|
|
10710
|
-
border-color: var(--color-accent-primary, #58a6ff);
|
|
10711
|
-
color: #ffffff;
|
|
10712
|
-
}
|
|
10713
|
-
|
|
10714
|
-
[data-theme="dark"] .btn-save-council:hover {
|
|
10715
|
-
background-color: #79b8ff;
|
|
10716
|
-
border-color: #79b8ff;
|
|
10717
|
-
}
|
|
10718
|
-
|
|
10719
|
-
.btn-analyze {
|
|
10720
|
-
display: inline-flex;
|
|
10721
|
-
align-items: center;
|
|
10722
|
-
gap: 8px;
|
|
10723
|
-
padding: 10px 20px;
|
|
10724
|
-
background: linear-gradient(135deg, var(--color-accent-ai-dark) 0%, #d97706 100%);
|
|
10725
|
-
border: none;
|
|
10726
|
-
border-radius: 8px;
|
|
10727
|
-
font-size: 14px;
|
|
10728
|
-
font-weight: 600;
|
|
10729
|
-
color: white;
|
|
10730
|
-
cursor: pointer;
|
|
10731
|
-
transition: all 0.2s ease;
|
|
10732
|
-
box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
|
|
10733
|
-
}
|
|
10734
|
-
|
|
10735
|
-
.btn-analyze:hover {
|
|
10736
|
-
background: linear-gradient(135deg, var(--color-accent-ai) 0%, var(--color-accent-ai-dark) 100%);
|
|
10737
|
-
transform: translateY(-1px);
|
|
10738
|
-
box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
|
|
10739
|
-
}
|
|
10740
|
-
|
|
10741
|
-
.btn-analyze:active {
|
|
10742
|
-
transform: translateY(0);
|
|
10743
|
-
}
|
|
10744
|
-
|
|
10745
|
-
[data-theme="dark"] .btn-analyze {
|
|
10746
|
-
background: linear-gradient(135deg, var(--color-accent-ai) 0%, var(--color-accent-ai-dark) 100%);
|
|
10747
|
-
color: #1a1a1a;
|
|
10748
|
-
box-shadow: 0 2px 12px rgba(251, 191, 36, 0.25);
|
|
10749
|
-
}
|
|
10750
|
-
|
|
10751
|
-
[data-theme="dark"] .btn-analyze:hover {
|
|
10752
|
-
box-shadow: 0 4px 16px rgba(251, 191, 36, 0.3);
|
|
10753
|
-
}
|
|
10754
|
-
|
|
10755
|
-
/* Responsive */
|
|
10756
|
-
@media (max-width: 600px) {
|
|
10757
|
-
.analysis-config-container {
|
|
10758
|
-
width: 100%;
|
|
10759
|
-
max-width: none;
|
|
10760
|
-
max-height: 100vh;
|
|
10761
|
-
border-radius: 0;
|
|
10762
|
-
}
|
|
10763
|
-
|
|
10764
|
-
.model-cards {
|
|
10765
|
-
grid-template-columns: 1fr;
|
|
10766
|
-
}
|
|
10767
|
-
|
|
10768
|
-
.model-card {
|
|
10769
|
-
flex-direction: row;
|
|
10770
|
-
text-align: left;
|
|
10771
|
-
padding: 12px 16px;
|
|
10772
|
-
gap: 12px;
|
|
10773
|
-
aspect-ratio: auto;
|
|
10774
|
-
overflow: visible;
|
|
10775
|
-
justify-content: flex-start;
|
|
10776
|
-
}
|
|
10777
|
-
|
|
10778
|
-
.model-icon {
|
|
10779
|
-
font-size: 24px;
|
|
10780
|
-
margin-bottom: 0;
|
|
10781
|
-
}
|
|
10782
|
-
|
|
10783
|
-
.model-info {
|
|
10784
|
-
flex: 1;
|
|
10785
|
-
}
|
|
10786
|
-
|
|
10787
|
-
.model-description {
|
|
10788
|
-
margin-top: 4px;
|
|
10789
|
-
}
|
|
10790
|
-
|
|
10791
|
-
.model-badge {
|
|
10792
|
-
position: static;
|
|
10793
|
-
align-self: flex-start;
|
|
10794
|
-
margin-left: auto;
|
|
10795
|
-
}
|
|
10796
|
-
|
|
10797
|
-
.model-selected-indicator {
|
|
10798
|
-
position: static;
|
|
10799
|
-
margin-left: 8px;
|
|
10800
|
-
}
|
|
10801
|
-
|
|
10802
|
-
.preset-chips {
|
|
10803
|
-
gap: 6px;
|
|
10804
|
-
}
|
|
10805
|
-
|
|
10806
|
-
.preset-chip {
|
|
10807
|
-
padding: 6px 12px;
|
|
10808
|
-
font-size: 12px;
|
|
10809
|
-
}
|
|
10810
|
-
}
|
|
10811
|
-
|
|
10812
|
-
/* ==========================================================================
|
|
10813
|
-
Review Council Tab
|
|
10814
|
-
Multi-voice, multi-provider analysis configuration
|
|
10815
|
-
========================================================================== */
|
|
10816
|
-
|
|
10817
|
-
.analysis-tab-bar {
|
|
10818
|
-
display: flex;
|
|
10819
|
-
gap: 0;
|
|
10820
|
-
border-bottom: 1px solid var(--border-color, #d0d7de);
|
|
10821
|
-
margin-bottom: 16px;
|
|
10822
|
-
}
|
|
10823
|
-
|
|
10824
|
-
.analysis-tab {
|
|
10825
|
-
padding: 8px 16px;
|
|
10826
|
-
border: none;
|
|
10827
|
-
background: none;
|
|
10828
|
-
cursor: pointer;
|
|
10829
|
-
font-size: 13px;
|
|
10830
|
-
font-weight: 500;
|
|
10831
|
-
color: var(--fg-muted, #656d76);
|
|
10832
|
-
border-bottom: 2px solid transparent;
|
|
10833
|
-
transition: color 0.15s, border-color 0.15s;
|
|
10834
|
-
}
|
|
10835
|
-
|
|
10836
|
-
.analysis-tab:hover {
|
|
10837
|
-
color: var(--fg-default, #1f2328);
|
|
10838
|
-
}
|
|
10839
|
-
|
|
10840
|
-
.analysis-tab.active {
|
|
10841
|
-
color: var(--fg-default, #1f2328);
|
|
10842
|
-
border-bottom-color: var(--accent-emphasis, #0969da);
|
|
10843
|
-
}
|
|
10844
|
-
|
|
10845
|
-
[data-theme="dark"] .analysis-tab {
|
|
10846
|
-
color: #8b949e;
|
|
10847
|
-
}
|
|
10848
|
-
|
|
10849
|
-
[data-theme="dark"] .analysis-tab:hover {
|
|
10850
|
-
color: #c9d1d9;
|
|
10851
|
-
}
|
|
10852
|
-
|
|
10853
|
-
[data-theme="dark"] .analysis-tab.active {
|
|
10854
|
-
color: #c9d1d9;
|
|
10855
|
-
border-bottom-color: #58a6ff;
|
|
10856
|
-
}
|
|
10857
|
-
|
|
10858
|
-
.beta-badge {
|
|
10859
|
-
display: inline-block;
|
|
10860
|
-
font-size: 10px;
|
|
10861
|
-
font-weight: 600;
|
|
10862
|
-
text-transform: uppercase;
|
|
10863
|
-
letter-spacing: 0.5px;
|
|
10864
|
-
padding: 1px 5px;
|
|
10865
|
-
border-radius: 3px;
|
|
10866
|
-
background-color: var(--accent-subtle, #ddf4ff);
|
|
10867
|
-
color: var(--accent-fg, #0969da);
|
|
10868
|
-
margin-left: 4px;
|
|
10869
|
-
vertical-align: middle;
|
|
10870
|
-
}
|
|
10871
|
-
|
|
10872
|
-
[data-theme="dark"] .beta-badge {
|
|
10873
|
-
background-color: transparent;
|
|
10874
|
-
color: #8b949e;
|
|
10875
|
-
border: 1px solid #30363d;
|
|
10876
|
-
}
|
|
10877
|
-
|
|
10878
|
-
.council-selector-row {
|
|
10879
|
-
display: flex;
|
|
10880
|
-
gap: 8px;
|
|
10881
|
-
align-items: center;
|
|
10882
|
-
}
|
|
10883
|
-
|
|
10884
|
-
.council-select {
|
|
10885
|
-
flex: 1;
|
|
10886
|
-
padding: 6px 10px;
|
|
10887
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
10888
|
-
border-radius: 6px;
|
|
10889
|
-
background: var(--bg-default, #fff);
|
|
10890
|
-
color: var(--fg-default, #1f2328);
|
|
10891
|
-
font-size: 13px;
|
|
10892
|
-
}
|
|
10893
|
-
|
|
10894
|
-
[data-theme="dark"] .council-select {
|
|
10895
|
-
background: var(--bg-subtle, #161b22);
|
|
10896
|
-
color: var(--fg-default, #e6edf3);
|
|
10897
|
-
border-color: var(--border-color, #30363d);
|
|
10898
|
-
}
|
|
10899
|
-
|
|
10900
|
-
/* "New Council" option in council selector */
|
|
10901
|
-
.council-option-new {
|
|
10902
|
-
font-style: italic;
|
|
10903
|
-
color: var(--fg-muted, #656d76);
|
|
10904
|
-
}
|
|
10905
|
-
|
|
10906
|
-
/* Style the select itself when "New Council" is the active selection */
|
|
10907
|
-
.council-select.new-council-selected {
|
|
10908
|
-
font-style: italic;
|
|
10909
|
-
color: var(--fg-muted, #656d76);
|
|
10910
|
-
}
|
|
10911
|
-
|
|
10912
|
-
/* Council review divider - separates council config from per-review settings */
|
|
10913
|
-
.council-review-divider {
|
|
10914
|
-
margin: 24px 0 16px;
|
|
10915
|
-
padding-top: 20px;
|
|
10916
|
-
border-top: 1px solid var(--color-border-subtle, rgba(0, 0, 0, 0.06));
|
|
10917
|
-
}
|
|
10918
|
-
|
|
10919
|
-
[data-theme="dark"] .council-review-divider {
|
|
10920
|
-
border-top-color: var(--color-border-subtle, rgba(255, 255, 255, 0.06));
|
|
10921
|
-
}
|
|
10922
|
-
|
|
10923
|
-
.divider-label {
|
|
10924
|
-
font-size: 12px;
|
|
10925
|
-
font-weight: 500;
|
|
10926
|
-
color: var(--color-text-tertiary, #656d76);
|
|
10927
|
-
text-transform: uppercase;
|
|
10928
|
-
letter-spacing: 0.5px;
|
|
10929
|
-
}
|
|
10930
|
-
|
|
10931
|
-
[data-theme="dark"] .divider-label {
|
|
10932
|
-
color: var(--color-text-tertiary, #6e7681);
|
|
10933
|
-
}
|
|
10934
|
-
|
|
10935
|
-
.council-level-section .section-title {
|
|
10936
|
-
margin-bottom: 8px;
|
|
10937
|
-
}
|
|
10938
|
-
|
|
10939
|
-
.level-toggle {
|
|
10940
|
-
font-weight: 600;
|
|
10941
|
-
}
|
|
10942
|
-
|
|
10943
|
-
.level-toggle .toggle-label {
|
|
10944
|
-
font-weight: 600;
|
|
10945
|
-
}
|
|
10946
|
-
|
|
10947
|
-
.level-voices {
|
|
10948
|
-
margin-left: 24px;
|
|
10949
|
-
margin-top: 8px;
|
|
10950
|
-
}
|
|
10951
|
-
|
|
10952
|
-
.voice-list {
|
|
10953
|
-
display: flex;
|
|
10954
|
-
flex-direction: column;
|
|
10955
|
-
gap: 6px;
|
|
10956
|
-
}
|
|
10957
|
-
|
|
10958
|
-
.voice-row {
|
|
10959
|
-
display: flex;
|
|
10960
|
-
gap: 8px;
|
|
10961
|
-
align-items: center;
|
|
10962
|
-
}
|
|
10963
|
-
|
|
10964
|
-
.voice-provider,
|
|
10965
|
-
.voice-model,
|
|
10966
|
-
.voice-tier {
|
|
10967
|
-
padding: 5px 8px;
|
|
10968
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
10969
|
-
border-radius: 6px;
|
|
10970
|
-
background: var(--bg-default, #fff);
|
|
10971
|
-
color: var(--fg-default, #1f2328);
|
|
10972
|
-
font-size: 12px;
|
|
10973
|
-
}
|
|
10974
|
-
|
|
10975
|
-
[data-theme="dark"] .voice-provider,
|
|
10976
|
-
[data-theme="dark"] .voice-model,
|
|
10977
|
-
[data-theme="dark"] .voice-tier {
|
|
10978
|
-
background: var(--bg-subtle, #161b22);
|
|
10979
|
-
color: var(--fg-default, #e6edf3);
|
|
10980
|
-
border-color: var(--border-color, #30363d);
|
|
10981
|
-
}
|
|
10982
|
-
|
|
10983
|
-
.voice-provider {
|
|
10984
|
-
min-width: 100px;
|
|
10985
|
-
}
|
|
10986
|
-
|
|
10987
|
-
.voice-model {
|
|
10988
|
-
min-width: 140px;
|
|
10989
|
-
flex: 1;
|
|
10990
|
-
}
|
|
10991
|
-
|
|
10992
|
-
.voice-tier {
|
|
10993
|
-
min-width: 90px;
|
|
10994
|
-
}
|
|
10995
|
-
|
|
10996
|
-
.executable-note {
|
|
10997
|
-
font-size: 11px;
|
|
10998
|
-
color: var(--fg-muted, #656d76);
|
|
10999
|
-
font-style: italic;
|
|
11000
|
-
white-space: nowrap;
|
|
11001
|
-
}
|
|
11002
|
-
|
|
11003
|
-
.vc-levels-disabled-note {
|
|
11004
|
-
margin-top: 12px;
|
|
11005
|
-
margin-bottom: 0;
|
|
11006
|
-
}
|
|
11007
|
-
|
|
11008
|
-
.btn-icon {
|
|
11009
|
-
box-sizing: border-box;
|
|
11010
|
-
width: 28px;
|
|
11011
|
-
height: 28px;
|
|
11012
|
-
padding: 0;
|
|
11013
|
-
display: inline-flex;
|
|
11014
|
-
align-items: center;
|
|
11015
|
-
justify-content: center;
|
|
11016
|
-
font-size: 16px;
|
|
11017
|
-
line-height: 1;
|
|
11018
|
-
border-radius: 6px;
|
|
11019
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11020
|
-
background: var(--bg-default, #fff);
|
|
11021
|
-
color: var(--fg-muted, #656d76);
|
|
11022
|
-
cursor: pointer;
|
|
11023
|
-
}
|
|
11024
|
-
|
|
11025
|
-
.btn-icon:hover {
|
|
11026
|
-
color: var(--color-text-primary);
|
|
11027
|
-
border-color: var(--color-border-secondary);
|
|
11028
|
-
}
|
|
11029
|
-
|
|
11030
|
-
.btn-ghost {
|
|
11031
|
-
background: none;
|
|
11032
|
-
border: none;
|
|
11033
|
-
color: var(--accent-fg, #0969da);
|
|
11034
|
-
cursor: pointer;
|
|
11035
|
-
font-size: 12px;
|
|
11036
|
-
padding: 4px 8px;
|
|
11037
|
-
}
|
|
11038
|
-
|
|
11039
|
-
.btn-ghost:hover {
|
|
11040
|
-
text-decoration: underline;
|
|
11041
|
-
}
|
|
11042
|
-
|
|
11043
|
-
.btn-sm {
|
|
11044
|
-
font-size: 12px;
|
|
11045
|
-
padding: 4px 10px;
|
|
11046
|
-
}
|
|
11047
|
-
|
|
11048
|
-
.add-voice-btn {
|
|
11049
|
-
margin-top: 6px;
|
|
11050
|
-
}
|
|
11051
|
-
|
|
11052
|
-
.add-voice-btn:hover {
|
|
11053
|
-
color: var(--color-accent-primary, #0969da);
|
|
11054
|
-
border-color: var(--color-accent-primary, #0969da);
|
|
11055
|
-
}
|
|
11056
|
-
|
|
11057
|
-
.section-hint-text {
|
|
11058
|
-
font-size: 12px;
|
|
11059
|
-
color: var(--fg-muted, #656d76);
|
|
11060
|
-
margin-bottom: 8px;
|
|
11061
|
-
margin-top: -4px;
|
|
11062
|
-
}
|
|
11063
|
-
|
|
11064
|
-
.voice-instructions-area {
|
|
11065
|
-
margin-left: 0;
|
|
11066
|
-
margin-bottom: 4px;
|
|
11067
|
-
}
|
|
11068
|
-
|
|
11069
|
-
.voice-instructions-input {
|
|
11070
|
-
width: 100%;
|
|
11071
|
-
padding: 6px 8px;
|
|
11072
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11073
|
-
border-radius: 6px;
|
|
11074
|
-
background: var(--bg-default, #fff);
|
|
11075
|
-
color: var(--fg-default, #1f2328);
|
|
11076
|
-
font-size: 12px;
|
|
11077
|
-
font-family: inherit;
|
|
11078
|
-
resize: vertical;
|
|
11079
|
-
}
|
|
11080
|
-
|
|
11081
|
-
[data-theme="dark"] .voice-instructions-input {
|
|
11082
|
-
background: var(--bg-subtle, #161b22);
|
|
11083
|
-
color: var(--fg-default, #e6edf3);
|
|
11084
|
-
border-color: var(--border-color, #30363d);
|
|
11085
|
-
}
|
|
11086
|
-
|
|
11087
|
-
/* Icon-only toggle for per-participant instructions */
|
|
11088
|
-
.toggle-instructions-icon {
|
|
11089
|
-
width: 24px;
|
|
11090
|
-
height: 24px;
|
|
11091
|
-
padding: 0;
|
|
11092
|
-
display: inline-flex;
|
|
11093
|
-
align-items: center;
|
|
11094
|
-
justify-content: center;
|
|
11095
|
-
background: none;
|
|
11096
|
-
border: 1px solid transparent;
|
|
11097
|
-
border-radius: 4px;
|
|
11098
|
-
color: var(--color-text-tertiary, #6e7681);
|
|
11099
|
-
cursor: pointer;
|
|
11100
|
-
flex-shrink: 0;
|
|
11101
|
-
transition: color 0.15s ease, border-color 0.15s ease;
|
|
11102
|
-
}
|
|
11103
|
-
|
|
11104
|
-
.toggle-instructions-icon:hover {
|
|
11105
|
-
color: var(--color-accent-primary, #0969da);
|
|
11106
|
-
border-color: var(--color-border-secondary, #d0d7de);
|
|
11107
|
-
}
|
|
11108
|
-
|
|
11109
|
-
.toggle-instructions-icon.has-instructions {
|
|
11110
|
-
color: var(--color-accent-primary, #0969da);
|
|
11111
|
-
}
|
|
11112
|
-
|
|
11113
|
-
[data-theme="dark"] .toggle-instructions-icon {
|
|
11114
|
-
color: var(--color-text-tertiary, #484f58);
|
|
11115
|
-
}
|
|
11116
|
-
|
|
11117
|
-
[data-theme="dark"] .toggle-instructions-icon:hover {
|
|
11118
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
11119
|
-
border-color: var(--color-border-primary, #30363d);
|
|
11120
|
-
}
|
|
11121
|
-
|
|
11122
|
-
[data-theme="dark"] .toggle-instructions-icon.has-instructions {
|
|
11123
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
11124
|
-
}
|
|
11125
|
-
|
|
11126
|
-
/* Icon-only toggle for per-voice timeout (clock icon) */
|
|
11127
|
-
.toggle-timeout-icon {
|
|
11128
|
-
width: 24px;
|
|
11129
|
-
height: 24px;
|
|
11130
|
-
padding: 0;
|
|
11131
|
-
display: inline-flex;
|
|
11132
|
-
align-items: center;
|
|
11133
|
-
justify-content: center;
|
|
11134
|
-
background: none;
|
|
11135
|
-
border: 1px solid transparent;
|
|
11136
|
-
border-radius: 4px;
|
|
11137
|
-
color: var(--color-text-tertiary, #6e7681);
|
|
11138
|
-
cursor: pointer;
|
|
11139
|
-
flex-shrink: 0;
|
|
11140
|
-
transition: color 0.15s ease, border-color 0.15s ease;
|
|
11141
|
-
}
|
|
11142
|
-
|
|
11143
|
-
.toggle-timeout-icon:hover {
|
|
11144
|
-
color: var(--color-accent-primary, #0969da);
|
|
11145
|
-
border-color: var(--color-border-secondary, #d0d7de);
|
|
11146
|
-
}
|
|
11147
|
-
|
|
11148
|
-
.toggle-timeout-icon.has-custom-timeout {
|
|
11149
|
-
color: var(--color-attention-fg, #9a6700);
|
|
11150
|
-
}
|
|
11151
|
-
|
|
11152
|
-
[data-theme="dark"] .toggle-timeout-icon {
|
|
11153
|
-
color: var(--color-text-tertiary, #484f58);
|
|
11154
|
-
}
|
|
11155
|
-
|
|
11156
|
-
[data-theme="dark"] .toggle-timeout-icon:hover {
|
|
11157
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
11158
|
-
border-color: var(--color-border-primary, #30363d);
|
|
11159
|
-
}
|
|
11160
|
-
|
|
11161
|
-
[data-theme="dark"] .toggle-timeout-icon.has-custom-timeout {
|
|
11162
|
-
color: var(--color-attention-fg, #d29922);
|
|
11163
|
-
}
|
|
11164
|
-
|
|
11165
|
-
/* Custom timeout dropdown selector (replaces native <select> for timeouts) */
|
|
11166
|
-
.timeout-select {
|
|
11167
|
-
position: relative;
|
|
11168
|
-
display: inline-flex;
|
|
11169
|
-
flex-shrink: 0;
|
|
11170
|
-
}
|
|
11171
|
-
|
|
11172
|
-
.timeout-select-trigger {
|
|
11173
|
-
display: inline-flex;
|
|
11174
|
-
align-items: center;
|
|
11175
|
-
gap: 4px;
|
|
11176
|
-
padding: 4px 8px;
|
|
11177
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11178
|
-
border-radius: 6px;
|
|
11179
|
-
background: var(--bg-default, #fff);
|
|
11180
|
-
color: var(--fg-default, #1f2328);
|
|
11181
|
-
font-size: 12px;
|
|
11182
|
-
font-family: inherit;
|
|
11183
|
-
font-weight: 500;
|
|
11184
|
-
cursor: pointer;
|
|
11185
|
-
white-space: nowrap;
|
|
11186
|
-
transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
|
|
11187
|
-
min-width: 52px;
|
|
11188
|
-
justify-content: center;
|
|
11189
|
-
line-height: 1.4;
|
|
11190
|
-
}
|
|
11191
|
-
|
|
11192
|
-
.timeout-select-trigger:hover {
|
|
11193
|
-
border-color: var(--color-accent-primary, #0969da);
|
|
11194
|
-
background: var(--bg-subtle, #f6f8fa);
|
|
11195
|
-
}
|
|
11196
|
-
|
|
11197
|
-
.timeout-select.open .timeout-select-trigger {
|
|
11198
|
-
border-color: var(--color-accent-primary, #0969da);
|
|
11199
|
-
box-shadow: 0 0 0 2px rgba(9, 105, 218, 0.15);
|
|
11200
|
-
}
|
|
11201
|
-
|
|
11202
|
-
.timeout-select-label {
|
|
11203
|
-
pointer-events: none;
|
|
11204
|
-
}
|
|
11205
|
-
|
|
11206
|
-
.timeout-select-caret {
|
|
11207
|
-
flex-shrink: 0;
|
|
11208
|
-
transition: transform 0.15s ease;
|
|
11209
|
-
pointer-events: none;
|
|
11210
|
-
}
|
|
11211
|
-
|
|
11212
|
-
.timeout-select.open .timeout-select-caret {
|
|
11213
|
-
transform: rotate(180deg);
|
|
11214
|
-
}
|
|
11215
|
-
|
|
11216
|
-
/* Dropdown menu */
|
|
11217
|
-
.timeout-select-menu {
|
|
11218
|
-
display: none;
|
|
11219
|
-
position: absolute;
|
|
11220
|
-
top: calc(100% + 4px);
|
|
11221
|
-
left: 50%;
|
|
11222
|
-
transform: translateX(-50%);
|
|
11223
|
-
min-width: 64px;
|
|
11224
|
-
background: var(--bg-default, #fff);
|
|
11225
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11226
|
-
border-radius: 8px;
|
|
11227
|
-
box-shadow: 0 4px 12px rgba(27, 31, 36, 0.12), 0 1px 3px rgba(27, 31, 36, 0.08);
|
|
11228
|
-
z-index: 1100;
|
|
11229
|
-
padding: 4px;
|
|
11230
|
-
flex-direction: column;
|
|
11231
|
-
}
|
|
11232
|
-
|
|
11233
|
-
.timeout-select.open .timeout-select-menu {
|
|
11234
|
-
display: flex;
|
|
11235
|
-
}
|
|
11236
|
-
|
|
11237
|
-
/* Individual option */
|
|
11238
|
-
.timeout-select-option {
|
|
11239
|
-
display: flex;
|
|
11240
|
-
align-items: center;
|
|
11241
|
-
justify-content: center;
|
|
11242
|
-
padding: 5px 10px;
|
|
11243
|
-
border: none;
|
|
11244
|
-
border-radius: 5px;
|
|
11245
|
-
background: transparent;
|
|
11246
|
-
color: var(--fg-default, #1f2328);
|
|
11247
|
-
font-size: 12px;
|
|
11248
|
-
font-family: inherit;
|
|
11249
|
-
font-weight: 500;
|
|
11250
|
-
cursor: pointer;
|
|
11251
|
-
white-space: nowrap;
|
|
11252
|
-
transition: background 0.1s ease, color 0.1s ease;
|
|
11253
|
-
}
|
|
11254
|
-
|
|
11255
|
-
.timeout-select-option:hover,
|
|
11256
|
-
.timeout-select-option.focused {
|
|
11257
|
-
background: var(--bg-subtle, #f6f8fa);
|
|
11258
|
-
}
|
|
11259
|
-
|
|
11260
|
-
.timeout-select-option.selected {
|
|
11261
|
-
color: var(--color-accent-primary, #0969da);
|
|
11262
|
-
background: rgba(9, 105, 218, 0.08);
|
|
11263
|
-
font-weight: 600;
|
|
11264
|
-
}
|
|
11265
|
-
|
|
11266
|
-
.timeout-select-option.selected:hover,
|
|
11267
|
-
.timeout-select-option.selected.focused {
|
|
11268
|
-
background: rgba(9, 105, 218, 0.14);
|
|
11269
|
-
}
|
|
11270
|
-
|
|
11271
|
-
/* Dark theme overrides */
|
|
11272
|
-
[data-theme="dark"] .timeout-select-trigger {
|
|
11273
|
-
background: var(--bg-subtle, #161b22);
|
|
11274
|
-
color: var(--fg-default, #e6edf3);
|
|
11275
|
-
border-color: var(--border-color, #30363d);
|
|
11276
|
-
}
|
|
11277
|
-
|
|
11278
|
-
[data-theme="dark"] .timeout-select-trigger:hover {
|
|
11279
|
-
border-color: var(--color-accent-primary, #58a6ff);
|
|
11280
|
-
background: var(--color-bg-tertiary, #1c2128);
|
|
11281
|
-
}
|
|
11282
|
-
|
|
11283
|
-
[data-theme="dark"] .timeout-select.open .timeout-select-trigger {
|
|
11284
|
-
border-color: var(--color-accent-primary, #58a6ff);
|
|
11285
|
-
box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.15);
|
|
11286
|
-
}
|
|
11287
|
-
|
|
11288
|
-
[data-theme="dark"] .timeout-select-menu {
|
|
11289
|
-
background: var(--bg-subtle, #161b22);
|
|
11290
|
-
border-color: var(--border-color, #30363d);
|
|
11291
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
11292
|
-
}
|
|
11293
|
-
|
|
11294
|
-
[data-theme="dark"] .timeout-select-option {
|
|
11295
|
-
color: var(--fg-default, #e6edf3);
|
|
11296
|
-
}
|
|
11297
|
-
|
|
11298
|
-
[data-theme="dark"] .timeout-select-option:hover,
|
|
11299
|
-
[data-theme="dark"] .timeout-select-option.focused {
|
|
11300
|
-
background: rgba(255, 255, 255, 0.06);
|
|
11301
|
-
}
|
|
11302
|
-
|
|
11303
|
-
[data-theme="dark"] .timeout-select-option.selected {
|
|
11304
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
11305
|
-
background: rgba(88, 166, 255, 0.1);
|
|
11306
|
-
}
|
|
11307
|
-
|
|
11308
|
-
[data-theme="dark"] .timeout-select-option.selected:hover,
|
|
11309
|
-
[data-theme="dark"] .timeout-select-option.selected.focused {
|
|
11310
|
-
background: rgba(88, 166, 255, 0.16);
|
|
11311
|
-
}
|
|
11312
|
-
|
|
11313
|
-
/* Participant card layout (item 4) */
|
|
11314
|
-
.participant-wrapper {
|
|
11315
|
-
display: flex;
|
|
11316
|
-
flex-direction: row;
|
|
11317
|
-
gap: 8px;
|
|
11318
|
-
align-items: flex-start;
|
|
11319
|
-
}
|
|
11320
|
-
|
|
11321
|
-
.participant-card {
|
|
11322
|
-
flex: 1;
|
|
11323
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11324
|
-
border-radius: 8px;
|
|
11325
|
-
padding: 10px;
|
|
11326
|
-
display: flex;
|
|
11327
|
-
flex-direction: column;
|
|
11328
|
-
gap: 6px;
|
|
11329
|
-
background: var(--bg-default, #fff);
|
|
11330
|
-
}
|
|
11331
|
-
|
|
11332
|
-
[data-theme="dark"] .participant-card {
|
|
11333
|
-
border-color: var(--border-color, #30363d);
|
|
11334
|
-
background: var(--bg-subtle, #161b22);
|
|
11335
|
-
}
|
|
11336
|
-
|
|
11337
|
-
.participant-card .voice-row {
|
|
11338
|
-
margin: 0;
|
|
11339
|
-
}
|
|
11340
|
-
|
|
11341
|
-
.participant-card .voice-instructions-area {
|
|
11342
|
-
margin: 0;
|
|
11343
|
-
}
|
|
11344
|
-
|
|
11345
|
-
/* Orchestration/consolidation card — same styling as participant-card */
|
|
11346
|
-
.orchestration-card {
|
|
11347
|
-
border: 1px solid var(--border-color, #d0d7de);
|
|
11348
|
-
border-radius: 8px;
|
|
11349
|
-
padding: 10px;
|
|
11350
|
-
display: flex;
|
|
11351
|
-
flex-direction: column;
|
|
11352
|
-
gap: 6px;
|
|
11353
|
-
background: var(--bg-default, #fff);
|
|
11354
|
-
}
|
|
11355
|
-
|
|
11356
|
-
[data-theme="dark"] .orchestration-card {
|
|
11357
|
-
border-color: var(--border-color, #30363d);
|
|
11358
|
-
background: var(--bg-subtle, #161b22);
|
|
11359
|
-
}
|
|
11360
|
-
|
|
11361
|
-
.orchestration-card .voice-row {
|
|
11362
|
-
margin: 0;
|
|
11363
|
-
}
|
|
11364
|
-
|
|
11365
|
-
.orchestration-card .voice-instructions-area {
|
|
11366
|
-
margin: 0;
|
|
11367
|
-
}
|
|
11368
|
-
|
|
11369
|
-
.participant-wrapper > .remove-voice-btn {
|
|
11370
|
-
flex-shrink: 0;
|
|
11371
|
-
margin-top: 10px;
|
|
11372
|
-
}
|
|
11373
|
-
|
|
11374
|
-
/* Spacer to align consolidation row with level voice rows that have a remove button */
|
|
11375
|
-
.participant-wrapper > .remove-voice-btn-spacer {
|
|
11376
|
-
flex-shrink: 0;
|
|
11377
|
-
width: 28px; /* matches .btn-icon width */
|
|
11378
|
-
}
|
|
11379
|
-
|
|
11380
|
-
/* Dark mode overrides for council +/- icon buttons */
|
|
11381
|
-
[data-theme="dark"] .btn-icon {
|
|
11382
|
-
background: var(--color-bg-tertiary, #1c2128);
|
|
11383
|
-
border-color: var(--color-border-primary, #30363d);
|
|
11384
|
-
color: var(--color-text-secondary, #8b949e);
|
|
11385
|
-
}
|
|
11386
|
-
|
|
11387
|
-
[data-theme="dark"] .btn-icon:hover {
|
|
11388
|
-
background: var(--color-bg-elevated, #1e2329);
|
|
11389
|
-
color: var(--color-text-primary, #e6edf3);
|
|
11390
|
-
border-color: var(--color-border-secondary, #484f58);
|
|
11391
|
-
}
|
|
11392
|
-
|
|
11393
|
-
[data-theme="dark"] .add-voice-btn {
|
|
11394
|
-
color: var(--color-text-secondary, #8b949e);
|
|
11395
|
-
}
|
|
11396
|
-
|
|
11397
|
-
[data-theme="dark"] .add-voice-btn:hover {
|
|
11398
|
-
color: var(--color-accent-primary, #58a6ff);
|
|
11399
|
-
border-color: var(--color-accent-primary, #58a6ff);
|
|
11400
|
-
}
|
|
11401
|
-
|
|
11402
|
-
/* Disabled button styles for council selector row (item 6) */
|
|
11403
|
-
.council-selector-row .btn:disabled {
|
|
11404
|
-
opacity: 0.5;
|
|
11405
|
-
cursor: not-allowed;
|
|
11406
|
-
}
|
|
11407
|
-
|
|
11408
|
-
/* Icon-only danger button (e.g. delete council) */
|
|
11409
|
-
.btn-icon-danger {
|
|
11410
|
-
background: none;
|
|
11411
|
-
border: 1px solid transparent;
|
|
11412
|
-
color: var(--fg-muted, #656d76);
|
|
11413
|
-
padding: 4px 6px;
|
|
11414
|
-
border-radius: 6px;
|
|
11415
|
-
cursor: pointer;
|
|
11416
|
-
display: inline-flex;
|
|
11417
|
-
align-items: center;
|
|
11418
|
-
justify-content: center;
|
|
11419
|
-
transition: color 0.15s, background 0.15s;
|
|
11420
|
-
}
|
|
11421
|
-
|
|
11422
|
-
.btn-icon-danger:hover:not(:disabled) {
|
|
11423
|
-
color: var(--danger-fg, #d1242f);
|
|
11424
|
-
background: var(--color-danger-subtle, rgba(255, 129, 130, 0.1));
|
|
11425
|
-
}
|
|
11426
|
-
|
|
11427
|
-
.btn-icon-danger:disabled {
|
|
11428
|
-
opacity: 0.4;
|
|
11429
|
-
cursor: not-allowed;
|
|
11430
|
-
}
|
|
11431
|
-
|
|
11432
|
-
[data-theme="dark"] .btn-icon-danger {
|
|
11433
|
-
color: var(--color-text-secondary, #8b949e);
|
|
11434
|
-
}
|
|
11435
|
-
|
|
11436
|
-
[data-theme="dark"] .btn-icon-danger:hover:not(:disabled) {
|
|
11437
|
-
color: var(--color-danger, #f85149);
|
|
11438
|
-
background: rgba(248, 81, 73, 0.1);
|
|
11439
|
-
}
|
|
11440
|
-
|
|
11441
|
-
/* Info-tip toggle buttons (circled "i" icons next to section headers) */
|
|
11442
|
-
.info-tip-toggle {
|
|
11443
|
-
display: inline-flex;
|
|
11444
|
-
align-items: center;
|
|
11445
|
-
justify-content: center;
|
|
11446
|
-
width: 18px;
|
|
11447
|
-
height: 18px;
|
|
11448
|
-
padding: 0;
|
|
11449
|
-
border: none;
|
|
11450
|
-
border-radius: 50%;
|
|
11451
|
-
background: none;
|
|
11452
|
-
color: var(--color-text-tertiary, #656d76);
|
|
11453
|
-
cursor: pointer;
|
|
11454
|
-
flex-shrink: 0;
|
|
11455
|
-
transition: color 0.15s ease;
|
|
11456
|
-
}
|
|
11457
|
-
|
|
11458
|
-
.info-tip-toggle:hover {
|
|
11459
|
-
color: var(--color-info, #0969da);
|
|
11460
|
-
}
|
|
11461
|
-
|
|
11462
|
-
.info-tip-toggle.active {
|
|
11463
|
-
color: var(--color-info, #0969da);
|
|
11464
|
-
}
|
|
11465
|
-
|
|
11466
|
-
.info-tip-content {
|
|
11467
|
-
background: var(--color-info-subtle, #ddf4ff);
|
|
11468
|
-
border-radius: 6px;
|
|
11469
|
-
padding: 8px 10px;
|
|
11470
|
-
margin: 0 0 8px;
|
|
11471
|
-
font-size: 12px;
|
|
11472
|
-
line-height: 1.45;
|
|
11473
|
-
color: var(--color-text-secondary, #424a53);
|
|
11474
|
-
}
|
|
11475
|
-
|
|
11476
|
-
[data-theme="dark"] .info-tip-toggle {
|
|
11477
|
-
color: var(--color-text-tertiary, #484f58);
|
|
11478
|
-
}
|
|
11479
|
-
|
|
11480
|
-
[data-theme="dark"] .info-tip-toggle:hover,
|
|
11481
|
-
[data-theme="dark"] .info-tip-toggle.active {
|
|
11482
|
-
color: var(--color-info, #58a6ff);
|
|
11483
|
-
}
|
|
11484
|
-
|
|
11485
|
-
[data-theme="dark"] .info-tip-content {
|
|
11486
|
-
background: rgba(56, 139, 253, 0.1);
|
|
11487
|
-
color: var(--color-text-secondary, #8b949e);
|
|
11488
|
-
}
|
|
11489
|
-
|
|
11490
9770
|
/* ==========================================================================
|
|
11491
9771
|
File-Level Comments Zone
|
|
11492
9772
|
Collapsible section between file header and diff content
|