File size: 2,341 Bytes
5bc1f0a
646abb1
 
 
 
 
 
5bc1f0a
 
 
61a6dce
3663cd8
5bc1f0a
 
 
 
 
 
646abb1
5bc1f0a
 
3663cd8
 
61a6dce
 
dbc3a0e
5bc1f0a
646abb1
61a6dce
 
 
 
 
5bc1f0a
3663cd8
61a6dce
5bc1f0a
61a6dce
 
3663cd8
 
5bc1f0a
61a6dce
 
 
5bc1f0a
3663cd8
 
5bc1f0a
646abb1
61a6dce
 
 
646abb1
 
61a6dce
 
 
 
646abb1
61a6dce
3663cd8
 
646abb1
 
 
 
 
5bc1f0a
3663cd8
61a6dce
 
 
 
 
3663cd8
 
 
 
61a6dce
646abb1
 
5bc1f0a
61a6dce
5bc1f0a
61a6dce
3663cd8
 
 
5bc1f0a
 
3663cd8
61a6dce
 
3663cd8
5bc1f0a
 
 
 
646abb1
 
 
 
 
 
 
 
5bc1f0a
 
61a6dce
5bc1f0a
61a6dce
 
 
 
 
5bc1f0a
 
 
 
 
 
 
61a6dce
 
 
 
3663cd8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
:root {
    --primary: #4285f4;
    --secondary: #34a853;
    --background: #202124;
    --surface: #303134;
    --text: #e8eaed;
    --error: #ea4335;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background: var(--background);
    color: var(--text);
    font-family: 'Roboto Mono', monospace;
    height: 100vh;
    overflow: hidden;
}

.terminal-container {
    display: grid;
    grid-template-rows: 1fr auto;
    height: 100vh;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.chat-output {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    background: var(--surface);
    border-radius: 8px;
    margin-bottom: 20px;
}

.message {
    margin: 10px 0;
    padding: 15px;
    border-radius: 8px;
    animation: slideIn 0.3s ease;
}

.message.user {
    background: rgba(66, 133, 244, 0.1);
    border-left: 3px solid var(--primary);
}

.message.text {
    background: rgba(52, 168, 83, 0.1);
    border-left: 3px solid var(--secondary);
}

.message.error {
    background: rgba(234, 67, 53, 0.1);
    border-left: 3px solid var(--error);
}

.message.system {
    background: rgba(255, 255, 255, 0.05);
    border-left: 3px solid #666;
}

.input-container {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 15px;
    background: var(--surface);
    border-radius: 8px;
}

input {
    flex: 1;
    padding: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--primary);
    color: var(--text);
    border-radius: 6px;
    font-family: inherit;
    font-size: 1em;
}

button {
    background: var(--primary);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

button:hover {
    background: #1a73e8;
}

.download-link {
    color: var(--secondary);
    text-decoration: none;
    margin-top: 10px;
    display: inline-block;
}

.dot-flashing {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: var(--secondary);
    animation: dotFlashing 1s infinite linear;
}

@keyframes slideIn {
    from { transform: translateX(30px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes dotFlashing {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}