caarleexx commited on
Commit
9a0bce4
·
verified ·
1 Parent(s): 8ac8b4a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -21
app.py CHANGED
@@ -160,7 +160,10 @@ SHARED_CSS = """
160
 
161
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
162
 
163
- html { scroll-behavior: smooth; }
 
 
 
164
 
165
  body {
166
  font-family: var(--sans);
@@ -169,6 +172,8 @@ body {
169
  min-height: 100vh;
170
  -webkit-font-smoothing: antialiased;
171
  line-height: 1.6;
 
 
172
  }
173
 
174
  /* Grain */
@@ -186,17 +191,18 @@ body::after {
186
  /* ── TOPBAR ── */
187
  .topbar {
188
  display: flex; align-items: center; justify-content: space-between;
189
- padding: 18px 40px;
190
  border-bottom: 1px solid var(--bd);
191
  position: sticky; top: 0; z-index: 100;
192
  background: rgba(14,16,24,.92);
193
  backdrop-filter: blur(14px);
194
  -webkit-backdrop-filter: blur(14px);
 
195
  }
196
 
197
  .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
198
 
199
- .brand-logo { height: 52px; width: auto; object-fit: contain; }
200
 
201
  .brand-sep { width: 1px; height: 20px; background: var(--bd-2); }
202
 
@@ -222,7 +228,7 @@ body::after {
222
  }
223
 
224
  /* ── SHELL ── */
225
- .shell { margin: 0 auto; padding: 0 32px 80px; }
226
 
227
  /* ── HERO ── */
228
  .hero { padding: 56px 0 44px; text-align: center; position: relative; }
@@ -235,7 +241,7 @@ body::after {
235
  }
236
 
237
  .hero-logo-wrap { margin-bottom: 28px; }
238
- .hero-logo { height: 186px; width: auto; object-fit: contain; filter: drop-shadow(0 0 24px rgba(201,168,76,.15)); }
239
 
240
  .hero-sub {
241
  font-size: .8rem;
@@ -296,8 +302,9 @@ body::after {
296
  background: var(--bg-1);
297
  border: 1px solid var(--bd-2);
298
  border-radius: 14px;
299
- padding: 6px 6px 6px 20px;
300
  transition: border-color .25s, box-shadow .25s;
 
301
  }
302
  .search-row:focus-within {
303
  border-color: var(--gold-dim);
@@ -367,10 +374,11 @@ body::after {
367
  /* ── RESULT CARDS ── */
368
  .result-card {
369
  background: var(--bg-1); border: 1px solid var(--bd);
370
- border-radius: 16px; padding: 26px 28px;
371
  margin-bottom: 12px; position: relative; overflow: hidden;
372
  transition: border-color .22s, box-shadow .22s, transform .15s;
373
  animation: riseUp .3s ease both;
 
374
  }
375
 
376
  @keyframes riseUp {
@@ -378,14 +386,14 @@ body::after {
378
  to { opacity: 1; transform: translateY(0); }
379
  }
380
 
381
- /* Circuit accent linha esquerda */
382
  .result-card::before {
383
  content: '';
384
- position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
 
385
  transition: opacity .2s;
386
  }
387
- .result-card.acordaos::before { background: linear-gradient(180deg, var(--blue), transparent); }
388
- .result-card.decisoes::before { background: linear-gradient(180deg, var(--purple), transparent); }
389
 
390
  /* Corner circuit decoration */
391
  .result-card::after {
@@ -419,9 +427,9 @@ body::after {
419
  /* Tipo tag */
420
  .tipo-tag {
421
  display: inline-flex; align-items: center; gap: 5px;
422
- font-family: var(--mono); font-size: .60rem; letter-spacing: .07em;
423
- padding: 3px 9px; border-radius: 20px; font-weight: 500;
424
- flex-shrink: 0; margin-top: 2px;
425
  }
426
  .tipo-tag.acordaos { background: var(--blue-dim); color: #7ab4ff; border: 1px solid var(--blue-bd); }
427
  .tipo-tag.decisoes { background: var(--purple-dim); color: #b39dff; border: 1px solid var(--purple-bd); }
@@ -436,10 +444,11 @@ body::after {
436
  border-bottom: 1px solid var(--bd);
437
  }
438
  .meta-pill {
439
- font-size: .73rem; color: var(--tx-2);
440
  background: var(--bg-2); border: 1px solid var(--bd);
441
- border-radius: 20px; padding: 3px 11px;
442
- display: flex; align-items: center; gap: 5px;
 
443
  }
444
  .meta-pill-icon { opacity: .55; font-size: .75rem; }
445
 
@@ -614,7 +623,11 @@ def index():
614
  <!-- TOPBAR -->
615
  <nav class="topbar">
616
  <a href="/" class="brand">
617
- STJ | TJPR </span>
 
 
 
 
618
  </a>
619
  <div class="topbar-right">
620
  <span class="status-dot">online</span>
@@ -628,12 +641,13 @@ def index():
628
  <div class="hero-glow"></div>
629
 
630
  <div class="hero-logo-wrap">
631
- <img src="https://huggingface.co/spaces/caarleexx/paraAI_CHATBOT/resolve/main/public/logo.png"
632
  alt="PARA AI" class="hero-logo"
633
  onerror="this.style.display='none'">
634
  </div>
635
 
636
- <h1 class="hero-title">Busque acórdãos e decisões<br></h1>
 
637
 
638
  <!-- SEARCH -->
639
  <div class="search-wrap">
@@ -717,7 +731,8 @@ def index():
717
 
718
  <!-- FOOTER -->
719
  <footer class="footer">
720
- <span class="footer-note">para.AI - JURIMETRIA CAUSAL</span>
 
721
  </footer>
722
 
723
  </div><!-- /shell -->
 
160
 
161
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
162
 
163
+ html {
164
+ scroll-behavior: smooth;
165
+ overflow-x: hidden;
166
+ }
167
 
168
  body {
169
  font-family: var(--sans);
 
172
  min-height: 100vh;
173
  -webkit-font-smoothing: antialiased;
174
  line-height: 1.6;
175
+ overflow-x: hidden;
176
+ width: 100%;
177
  }
178
 
179
  /* Grain */
 
191
  /* ── TOPBAR ── */
192
  .topbar {
193
  display: flex; align-items: center; justify-content: space-between;
194
+ padding: 14px 16px;
195
  border-bottom: 1px solid var(--bd);
196
  position: sticky; top: 0; z-index: 100;
197
  background: rgba(14,16,24,.92);
198
  backdrop-filter: blur(14px);
199
  -webkit-backdrop-filter: blur(14px);
200
+ width: 100%; box-sizing: border-box;
201
  }
202
 
203
  .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
204
 
205
+ .brand-logo { height: 36px; width: auto; object-fit: contain; }
206
 
207
  .brand-sep { width: 1px; height: 20px; background: var(--bd-2); }
208
 
 
228
  }
229
 
230
  /* ── SHELL ── */
231
+ .shell { max-width: 1060px; margin: 0 auto; padding: 0 16px 80px; width: 100%; box-sizing: border-box; }
232
 
233
  /* ── HERO ── */
234
  .hero { padding: 56px 0 44px; text-align: center; position: relative; }
 
241
  }
242
 
243
  .hero-logo-wrap { margin-bottom: 28px; }
244
+ .hero-logo { height: 90px; width: auto; object-fit: contain; filter: drop-shadow(0 0 24px rgba(201,168,76,.15)); }
245
 
246
  .hero-sub {
247
  font-size: .8rem;
 
302
  background: var(--bg-1);
303
  border: 1px solid var(--bd-2);
304
  border-radius: 14px;
305
+ padding: 6px 6px 6px 16px;
306
  transition: border-color .25s, box-shadow .25s;
307
+ width: 100%; box-sizing: border-box;
308
  }
309
  .search-row:focus-within {
310
  border-color: var(--gold-dim);
 
374
  /* ── RESULT CARDS ── */
375
  .result-card {
376
  background: var(--bg-1); border: 1px solid var(--bd);
377
+ border-radius: 16px; padding: 22px 20px;
378
  margin-bottom: 12px; position: relative; overflow: hidden;
379
  transition: border-color .22s, box-shadow .22s, transform .15s;
380
  animation: riseUp .3s ease both;
381
+ width: 100%; box-sizing: border-box;
382
  }
383
 
384
  @keyframes riseUp {
 
386
  to { opacity: 1; transform: translateY(0); }
387
  }
388
 
389
+ /* Accent linha esquerda — neutro */
390
  .result-card::before {
391
  content: '';
392
+ position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
393
+ background: rgba(255,255,255,.08);
394
  transition: opacity .2s;
395
  }
396
+ .result-card:hover::before { background: var(--gold-dim); }
 
397
 
398
  /* Corner circuit decoration */
399
  .result-card::after {
 
427
  /* Tipo tag */
428
  .tipo-tag {
429
  display: inline-flex; align-items: center; gap: 5px;
430
+ font-family: var(--mono); font-size: .58rem; letter-spacing: .05em;
431
+ padding: 3px 8px; border-radius: 20px; font-weight: 500;
432
+ flex-shrink: 0; margin-top: 2px; white-space: nowrap;
433
  }
434
  .tipo-tag.acordaos { background: var(--blue-dim); color: #7ab4ff; border: 1px solid var(--blue-bd); }
435
  .tipo-tag.decisoes { background: var(--purple-dim); color: #b39dff; border: 1px solid var(--purple-bd); }
 
444
  border-bottom: 1px solid var(--bd);
445
  }
446
  .meta-pill {
447
+ font-size: .70rem; color: var(--tx-2);
448
  background: var(--bg-2); border: 1px solid var(--bd);
449
+ border-radius: 20px; padding: 3px 10px;
450
+ display: flex; align-items: center; gap: 4px;
451
+ max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
452
  }
453
  .meta-pill-icon { opacity: .55; font-size: .75rem; }
454
 
 
623
  <!-- TOPBAR -->
624
  <nav class="topbar">
625
  <a href="/" class="brand">
626
+ <img src="https://huggingface.co/spaces/caarleexx/paraAI_CHATBOT/resolve/main/public/logo_light.png"
627
+ alt="PARA AI" class="brand-logo"
628
+ onerror="this.style.display='none'">
629
+ <div class="brand-sep"></div>
630
+ <span class="brand-label">Jurisprudência STF</span>
631
  </a>
632
  <div class="topbar-right">
633
  <span class="status-dot">online</span>
 
641
  <div class="hero-glow"></div>
642
 
643
  <div class="hero-logo-wrap">
644
+ <img src="https://huggingface.co/spaces/caarleexx/paraAI_CHATBOT/resolve/main/public/logo_light.png"
645
  alt="PARA AI" class="hero-logo"
646
  onerror="this.style.display='none'">
647
  </div>
648
 
649
+ <p class="hero-sub">Supremo Tribunal Federal · Pesquisa Jurisprudencial</p>
650
+ <h1 class="hero-title">Busque acórdãos e decisões<br><em>com precisão.</em></h1>
651
 
652
  <!-- SEARCH -->
653
  <div class="search-wrap">
 
731
 
732
  <!-- FOOTER -->
733
  <footer class="footer">
734
+ <span class="footer-brand">PARA<span>|AI</span></span>
735
+ <span class="footer-note">Dados: jurisprudencia.stf.jus.br · uso não-oficial</span>
736
  </footer>
737
 
738
  </div><!-- /shell -->