GLAkavya commited on
Commit
6264e90
·
verified ·
1 Parent(s): 46c31f6

Create static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +209 -0
static/style.css ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root{
2
+ --bg1:#0b1020;
3
+ --bg2:#111735;
4
+ --glass:rgba(255,255,255,0.06);
5
+ --border:rgba(255,255,255,0.12);
6
+ --text:#eaf2ff;
7
+ --muted:#b9c4e4;
8
+ --accent:#6ae3ff;
9
+ --accent2:#9b8cff;
10
+ --pos:#2ecc71;
11
+ --neg:#ff5c7a;
12
+ --neu:#ffd166;
13
+ }
14
+
15
+ *{box-sizing:border-box}
16
+ html,body{height:100%}
17
+ body{
18
+ margin:0;
19
+ color:var(--text);
20
+ background: radial-gradient(1200px 800px at 70% -10%, #1a2255 0%, transparent 70%),
21
+ radial-gradient(800px 600px at -10% 110%, #2a1e5c 0%, transparent 70%),
22
+ linear-gradient(180deg, var(--bg1), var(--bg2));
23
+ font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
24
+ overflow-x:hidden;
25
+ }
26
+
27
+ /* Background layers */
28
+ .bg-gradient{
29
+ position:fixed; inset:0; pointer-events:none;
30
+ background:
31
+ radial-gradient(1000px 600px at 20% -10%, rgba(155,140,255,.25),transparent 60%),
32
+ radial-gradient(900px 500px at 110% 120%, rgba(106,227,255,.18),transparent 60%);
33
+ filter: blur(30px);
34
+ }
35
+
36
+ .stars, .shooting-stars{
37
+ position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:0;
38
+ }
39
+ .stars::before, .stars::after{
40
+ content:"";
41
+ position:absolute; inset:-200px;
42
+ background:
43
+ radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.8), transparent 70%),
44
+ radial-gradient(1.5px 1.5px at 70% 60%, rgba(255,255,255,.6), transparent 70%),
45
+ radial-gradient(1.5px 1.5px at 40% 80%, rgba(255,255,255,.6), transparent 70%),
46
+ radial-gradient(2px 2px at 85% 20%, rgba(255,255,255,.8), transparent 70%);
47
+ animation: twinkle 8s linear infinite alternate;
48
+ }
49
+ @keyframes twinkle{
50
+ from{opacity:.6; transform:scale(1)}
51
+ to{opacity:1; transform:scale(1.06)}
52
+ }
53
+ .shooting-stars::before{
54
+ content:"";
55
+ position:absolute;
56
+ top:-20vh; left:10vw; width:2px; height:2px; background:white;
57
+ box-shadow: 0 0 12px 3px rgba(255,255,255,.8);
58
+ transform: rotate(45deg);
59
+ animation: shoot 6s linear infinite;
60
+ opacity:.8;
61
+ }
62
+ @keyframes shoot{
63
+ 0%{transform:translate(0,0) rotate(45deg); opacity:0}
64
+ 5%{opacity:1}
65
+ 70%{transform:translate(90vw,80vh) rotate(45deg); opacity:0}
66
+ 100%{opacity:0}
67
+ }
68
+
69
+ /* planets */
70
+ .planets{ position:fixed; inset:0; pointer-events:none; z-index:1;}
71
+ .planet{
72
+ position:absolute; border-radius:50%; filter: blur(0.2px);
73
+ opacity:.8; animation: float 12s ease-in-out infinite;
74
+ background: radial-gradient(120px 120px at 40% 40%, rgba(255,255,255,.35), transparent 60%),
75
+ radial-gradient(circle at 60% 60%, rgba(255,255,255,.08), rgba(255,255,255,.02));
76
+ border:1px solid rgba(255,255,255,.1);
77
+ }
78
+ .p1{ width:140px; height:140px; top:12vh; left:8vw; background-color:#5b6cff;}
79
+ .p2{ width:90px; height:90px; bottom:14vh; right:10vw; background-color:#35c0ff; animation-duration: 14s;}
80
+ .p3{ width:65px; height:65px; top:60vh; left:20vw; background-color:#ff7ad6; animation-duration: 11s;}
81
+ @keyframes float{
82
+ 0%,100%{ transform: translateY(-8px)}
83
+ 50%{ transform: translateY(8px)}
84
+ }
85
+
86
+ /* Parallax cursor */
87
+ #parallax-cursor{ position:fixed; width:14px; height:14px; border-radius:50%;
88
+ background: radial-gradient(circle, rgba(255,255,255,.9), transparent 60%);
89
+ pointer-events:none; z-index:5; mix-blend-mode:screen; transform:translate(-50%,-50%);
90
+ opacity:.0; transition: opacity .25s ease;
91
+ }
92
+
93
+ /* Layout */
94
+ .container{ width:min(1100px, 92%); margin: 0 auto; position:relative; z-index:2;}
95
+ header{ padding: 60px 0 20px;}
96
+ .logo{ font-size: clamp(28px, 6vw, 56px); font-weight:900; letter-spacing:.6px;}
97
+ .logo span{
98
+ background: linear-gradient(90deg, var(--accent), var(--accent2));
99
+ -webkit-background-clip:text; background-clip:text; color:transparent;
100
+ text-shadow: 0 0 28px rgba(106,227,255,.35);
101
+ }
102
+ .subtitle{ color:var(--muted); margin-top:10px; max-width: 780px; line-height:1.5 }
103
+
104
+ .card{
105
+ background: var(--glass);
106
+ border: 1px solid var(--border);
107
+ border-radius: 20px;
108
+ padding: 22px;
109
+ backdrop-filter: blur(10px);
110
+ box-shadow: 0 15px 60px rgba(0,0,0,.35);
111
+ transform: translateY(6px);
112
+ animation: card-in .6s ease forwards;
113
+ }
114
+ @keyframes card-in{ to{ transform: translateY(0)} }
115
+
116
+ .card-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px;}
117
+ .card-head .icon{
118
+ width:40px; height:40px; display:grid;place-items:center;
119
+ border-radius:12px; background:linear-gradient(135deg, var(--accent2), var(--accent));
120
+ box-shadow: 0 8px 26px rgba(155,140,255,.35);
121
+ font-weight:800;
122
+ }
123
+ .grid{ display:grid; grid-template-columns: 1fr auto; gap:12px; margin-top:16px;}
124
+ .form-group{ display:flex; flex-direction:column; gap:8px}
125
+ .form-group.col-span{ grid-column: 1 / -1}
126
+ label{ color:var(--muted); font-size:14px}
127
+ input{
128
+ background: rgba(255,255,255,.05); border:1px solid var(--border); color:var(--text);
129
+ padding:12px 14px; border-radius:12px; outline:none; transition:.2s;
130
+ }
131
+ input:focus{ border-color: var(--accent); box-shadow: 0 0 0 4px rgba(106,227,255,.18)}
132
+
133
+ .btn{
134
+ position:relative; overflow:hidden; border:0; cursor:pointer;
135
+ padding: 12px 16px; border-radius:14px; color:#0b1020; font-weight:800;
136
+ background:linear-gradient(135deg, var(--accent), var(--accent2));
137
+ box-shadow: 0 10px 30px rgba(106,227,255,.35);
138
+ }
139
+ .btn .btn-glow{
140
+ position:absolute; inset:-80% -40%; background: radial-gradient(circle, rgba(255,255,255,.6), transparent 60%);
141
+ transform: translateX(-60%); animation: sweep 2.2s ease-in-out infinite;
142
+ opacity:.5;
143
+ }
144
+ @keyframes sweep{ 50%{ transform: translateX(60%)} }
145
+
146
+ .status{ display:flex; gap:12px; align-items:center; margin-top:14px}
147
+ .hidden{ display:none}
148
+ .spinner{
149
+ width:20px; height:20px; border:2.5px solid rgba(255,255,255,.2); border-top-color:white; border-radius:50%;
150
+ animation: spin .9s linear infinite;
151
+ }
152
+ @keyframes spin{to{ transform:rotate(360deg)}}
153
+ .dots::after{
154
+ content:""; animation: dots 1.2s steps(3,end) infinite;
155
+ }
156
+ @keyframes dots{ 0%{content:"."} 33%{content:".."} 66%{content:"..."} }
157
+
158
+ .meta{ margin-top:14px; display:grid; grid-template-columns: repeat(3,1fr); gap:10px}
159
+ .meta-item{ background: rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:12px}
160
+ .meta-label{ color:var(--muted); font-size:12px}
161
+ .meta-value{ margin-top:4px; display:flex; gap:8px; flex-wrap:wrap}
162
+
163
+ .chip{
164
+ display:inline-flex; align-items:center; gap:6px;
165
+ border-radius:999px; padding:6px 10px; font-weight:700; font-size:12px; letter-spacing:.2px;
166
+ background: rgba(255,255,255,.07); border:1px solid var(--border)
167
+ }
168
+ .chip-gemini{ color:#00E5FF; border-color: rgba(0,229,255,.4)}
169
+ .chip-fallback{ color:#ff9ff3; border-color: rgba(255,159,243,.4)}
170
+
171
+ .charts{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:14px}
172
+ .chart-card{ background: rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:10px}
173
+ .chart-card h3{ margin:6px 6px 8px; font-size:14px; color:var(--muted)}
174
+
175
+ .table-card{ margin-top:14px; background: rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; overflow:hidden}
176
+ .table-head{
177
+ display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--border)
178
+ }
179
+ .table{ max-height: 360px; overflow:auto }
180
+ .row{
181
+ display:grid; grid-template-columns: 1fr 110px 90px; gap:10px; padding:10px 12px;
182
+ border-bottom:1px dashed rgba(255,255,255,.08);
183
+ transition: background .2s ease, transform .12s ease;
184
+ }
185
+ .row:hover{ background: rgba(255,255,255,.03); transform: translateX(2px)}
186
+ .cell{ font-size:14px; color:var(--text)}
187
+ .badge{ padding:4px 10px; border-radius:999px; font-weight:800; font-size:12px}
188
+ .badge.pos{ background: rgba(46,204,113,.15); color: var(--pos); border:1px solid rgba(46,204,113,.35)}
189
+ .badge.neg{ background: rgba(255,92,122,.12); color: var(--neg); border:1px solid rgba(255,92,122,.35)}
190
+ .badge.neu{ background: rgba(255,209,102,.12); color: var(--neu); border:1px solid rgba(255,209,102,.35)}
191
+
192
+ .footer{ text-align:center; padding:26px 12px 60px; color:var(--muted)}
193
+ .signature{ letter-spacing:.4px}
194
+ .kavya{
195
+ background: linear-gradient(90deg, #fff, var(--accent), var(--accent2));
196
+ -webkit-background-clip:text; background-clip:text; color:transparent;
197
+ text-shadow: 0 0 24px rgba(155,140,255,.45);
198
+ }
199
+ .heart{ filter: drop-shadow(0 0 10px rgba(255,150,200,.6)) }
200
+
201
+ /* Responsive */
202
+ @media (max-width: 900px){
203
+ .grid{ grid-template-columns: 1fr}
204
+ .charts{ grid-template-columns: 1fr}
205
+ .row{ grid-template-columns: 1fr 90px 80px}
206
+ }
207
+
208
+ /* subtle pop on hover */
209
+ .btn:hover{ transform: translateY(-1px); }