goto-assistant 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,200 @@
1
+ * { box-sizing: border-box; margin: 0; padding: 0; }
2
+
3
+ body {
4
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
5
+ background: #f5f5f5;
6
+ color: #1a1a1a;
7
+ height: 100vh;
8
+ }
9
+
10
+ /* Setup page */
11
+ .setup-container {
12
+ max-width: 640px;
13
+ margin: 40px auto;
14
+ padding: 32px;
15
+ background: #fff;
16
+ border-radius: 12px;
17
+ box-shadow: 0 2px 12px rgba(0,0,0,0.08);
18
+ }
19
+
20
+ .setup-container h1 { margin-bottom: 24px; font-size: 24px; }
21
+
22
+ .form-group { margin-bottom: 20px; }
23
+ .form-group label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
24
+ .form-group input, .form-group select {
25
+ width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px;
26
+ font-size: 14px; background: #fafafa;
27
+ }
28
+ .form-group input:focus, .form-group select:focus {
29
+ outline: none; border-color: #4a9eff; background: #fff;
30
+ }
31
+
32
+ .radio-group { display: flex; gap: 16px; }
33
+ .radio-group label { display: flex; align-items: center; gap: 6px; font-weight: 400; cursor: pointer; }
34
+
35
+ .btn {
36
+ padding: 10px 20px; border: none; border-radius: 8px; font-size: 14px;
37
+ cursor: pointer; font-weight: 600; transition: background 0.15s;
38
+ }
39
+ .btn-primary { background: #4a9eff; color: #fff; }
40
+ .btn-primary:hover { background: #3a8eef; }
41
+ .btn-secondary { background: #e8e8e8; color: #333; }
42
+ .btn-secondary:hover { background: #ddd; }
43
+ .btn:disabled { opacity: 0.5; cursor: not-allowed; }
44
+
45
+ .btn-row { display: flex; gap: 8px; margin-top: 8px; }
46
+
47
+ /* MCP servers editor */
48
+ .mcp-servers { margin-top: 8px; }
49
+ .mcp-server {
50
+ border: 1px solid #e0e0e0; border-radius: 8px; padding: 16px; margin-bottom: 12px;
51
+ background: #fafafa;
52
+ }
53
+ .mcp-server-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
54
+ .mcp-server-header input { flex: 1; font-weight: 600; }
55
+ .mcp-server .form-group { margin-bottom: 12px; }
56
+
57
+ .env-row { display: flex; gap: 8px; margin-bottom: 6px; align-items: center; }
58
+ .env-row input { flex: 1; }
59
+ .btn-icon { background: none; border: 1px solid #ddd; border-radius: 6px; padding: 4px 8px; cursor: pointer; font-size: 16px; }
60
+
61
+ .status-msg { margin-top: 12px; padding: 10px; border-radius: 8px; font-size: 14px; }
62
+ .status-msg.error { background: #fee; color: #c00; }
63
+ .status-msg.success { background: #efe; color: #060; }
64
+
65
+ /* Chat page */
66
+ .chat-layout { display: flex; height: 100vh; }
67
+
68
+ .sidebar {
69
+ width: 260px; background: #fff; border-right: 1px solid #e0e0e0;
70
+ display: flex; flex-direction: column; flex-shrink: 0;
71
+ }
72
+ .sidebar-header {
73
+ padding: 16px; border-bottom: 1px solid #e0e0e0;
74
+ display: flex; justify-content: space-between; align-items: center;
75
+ }
76
+ .sidebar-header h2 { font-size: 16px; }
77
+ .conversation-list { flex: 1; overflow-y: auto; padding: 8px; }
78
+ .conversation-item {
79
+ padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 13px;
80
+ margin-bottom: 4px; display: flex; align-items: center; gap: 4px;
81
+ }
82
+ .conversation-item .conv-title {
83
+ flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
84
+ }
85
+ .conversation-item .delete-btn {
86
+ display: none; flex-shrink: 0; font-size: 12px; padding: 2px 6px; color: #888;
87
+ }
88
+ .conversation-item .delete-btn:hover { color: #c00; background: #fee; border-color: #fcc; }
89
+ .conversation-item:hover { background: #f0f0f0; }
90
+ .conversation-item:hover .delete-btn { display: inline-block; }
91
+ .conversation-item.active { background: #e8f0ff; }
92
+
93
+ .chat-main { flex: 1; display: flex; flex-direction: column; }
94
+
95
+ .chat-header {
96
+ padding: 12px 20px; border-bottom: 1px solid #e0e0e0; background: #fff;
97
+ display: flex; justify-content: space-between; align-items: center;
98
+ }
99
+ .chat-header h2 { font-size: 16px; }
100
+ .settings-btn {
101
+ background: none; border: none; cursor: pointer; font-size: 20px; padding: 4px 8px;
102
+ border-radius: 6px;
103
+ }
104
+ .settings-btn:hover { background: #f0f0f0; }
105
+
106
+ .messages { flex: 1; overflow-y: auto; padding: 20px; }
107
+ .message { max-width: 720px; margin: 0 auto 16px; padding: 12px 16px; border-radius: 12px; line-height: 1.5; }
108
+ .message.user { background: #e8f0ff; margin-left: auto; max-width: 480px; }
109
+ .message.assistant { background: #fff; border: 1px solid #e8e8e8; }
110
+ .message pre { background: #f5f5f5; padding: 12px; border-radius: 8px; overflow-x: auto; margin: 8px 0; }
111
+ .message code { font-size: 13px; }
112
+ .message ul, .message ol { padding-left: 1.5em; margin: 8px 0; }
113
+ .message li { margin: 4px 0; }
114
+ .message p { margin: 8px 0; }
115
+ .message p:first-child { margin-top: 0; }
116
+ .message p:last-child { margin-bottom: 0; }
117
+ .message h1, .message h2, .message h3, .message h4 { margin: 12px 0 8px; }
118
+ .message blockquote { border-left: 3px solid #ddd; padding-left: 12px; margin: 8px 0; color: #555; }
119
+
120
+ .input-area {
121
+ padding: 16px 20px; border-top: 1px solid #e0e0e0; background: #fff;
122
+ }
123
+ .input-row { display: flex; gap: 8px; max-width: 720px; margin: 0 auto; }
124
+ .input-row textarea {
125
+ flex: 1; padding: 10px 14px; border: 1px solid #ddd; border-radius: 10px;
126
+ font-size: 14px; resize: none; font-family: inherit; min-height: 44px; max-height: 200px;
127
+ }
128
+ .input-row textarea:focus { outline: none; border-color: #4a9eff; }
129
+
130
+ .typing-indicator { font-style: italic; color: #888; padding: 8px 16px; }
131
+
132
+ /* File upload */
133
+ .file-upload-btn {
134
+ background: none; border: 1px solid #ddd; border-radius: 10px; cursor: pointer;
135
+ font-size: 18px; padding: 8px 10px; flex-shrink: 0; line-height: 1;
136
+ }
137
+ .file-upload-btn:hover { background: #f0f0f0; border-color: #ccc; }
138
+
139
+ .file-preview {
140
+ display: none; gap: 8px; padding: 8px 0; max-width: 720px; margin: 0 auto;
141
+ overflow-x: auto; flex-wrap: nowrap;
142
+ }
143
+ .file-preview-item {
144
+ position: relative; width: 64px; height: 64px; flex-shrink: 0; border-radius: 8px;
145
+ overflow: hidden; border: 1px solid #ddd;
146
+ }
147
+ .file-preview-item img { width: 100%; height: 100%; object-fit: cover; }
148
+ .file-preview-remove {
149
+ position: absolute; top: 2px; right: 2px; background: rgba(0,0,0,0.6); color: #fff;
150
+ border: none; border-radius: 50%; width: 18px; height: 18px; font-size: 12px;
151
+ cursor: pointer; line-height: 1; padding: 0;
152
+ }
153
+
154
+ .message-attachments { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
155
+ .attachment-img { max-width: 300px; max-height: 300px; border-radius: 8px; cursor: pointer; }
156
+
157
+ /* Hamburger button — hidden on desktop */
158
+ .hamburger-btn {
159
+ display: none; background: none; border: none; cursor: pointer;
160
+ font-size: 22px; padding: 4px 8px; border-radius: 6px; flex-shrink: 0;
161
+ }
162
+ .hamburger-btn:hover { background: #f0f0f0; }
163
+
164
+ /* Sidebar overlay — hidden by default */
165
+ .sidebar-overlay {
166
+ display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9;
167
+ }
168
+ .sidebar-overlay.open { display: block; }
169
+
170
+ /* Mobile responsive */
171
+ @media (max-width: 768px) {
172
+ .hamburger-btn { display: block; }
173
+
174
+ .sidebar {
175
+ position: fixed; top: 0; left: 0; bottom: 0; width: 280px;
176
+ transform: translateX(-100%); transition: transform 0.25s ease;
177
+ z-index: 10;
178
+ }
179
+ .sidebar.open { transform: translateX(0); }
180
+
181
+ .chat-main { width: 100%; }
182
+
183
+ .chat-header h2 {
184
+ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1;
185
+ }
186
+
187
+ .messages { padding: 12px; }
188
+ .message { max-width: 100%; }
189
+ .message.user { max-width: 85%; }
190
+
191
+ .input-area { padding: 12px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
192
+ .input-row { max-width: 100%; }
193
+ .input-row textarea { font-size: 16px; }
194
+
195
+ .conversation-item .delete-btn { display: inline-block; }
196
+
197
+ /* Setup page mobile */
198
+ .setup-container { margin: 16px; padding: 20px; }
199
+ .radio-group { flex-direction: column; gap: 8px; }
200
+ }