chansung commited on
Commit
d51bcea
·
verified ·
1 Parent(s): d719cb4

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. auto_diffusers.log +118 -0
  2. gradio_app.py +52 -14
auto_diffusers.log CHANGED
@@ -18420,3 +18420,121 @@ IMPORTANT GUIDELINES:
18420
  2025-05-30 13:50:37,567 - auto_diffusers - INFO - Sending request to Gemini API
18421
  2025-05-30 13:50:52,223 - auto_diffusers - INFO - Successfully received response from Gemini API (no tools used)
18422
  2025-05-30 13:50:52,224 - auto_diffusers - DEBUG - Response length: 3046 characters
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18420
  2025-05-30 13:50:37,567 - auto_diffusers - INFO - Sending request to Gemini API
18421
  2025-05-30 13:50:52,223 - auto_diffusers - INFO - Successfully received response from Gemini API (no tools used)
18422
  2025-05-30 13:50:52,224 - auto_diffusers - DEBUG - Response length: 3046 characters
18423
+ 2025-06-05 01:22:02,207 - __main__ - INFO - Initializing GradioAutodiffusers
18424
+ 2025-06-05 01:22:02,207 - __main__ - DEBUG - API key found, length: 39
18425
+ 2025-06-05 01:22:02,207 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18426
+ 2025-06-05 01:22:02,207 - auto_diffusers - DEBUG - API key length: 39
18427
+ 2025-06-05 01:22:02,207 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18428
+ 2025-06-05 01:22:02,207 - hardware_detector - INFO - Initializing HardwareDetector
18429
+ 2025-06-05 01:22:02,208 - hardware_detector - DEBUG - Starting system hardware detection
18430
+ 2025-06-05 01:22:02,208 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18431
+ 2025-06-05 01:22:02,208 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18432
+ 2025-06-05 01:22:02,208 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18433
+ 2025-06-05 01:22:02,211 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18434
+ 2025-06-05 01:22:02,211 - hardware_detector - DEBUG - Checking PyTorch availability
18435
+ 2025-06-05 01:22:02,897 - hardware_detector - INFO - PyTorch 2.7.0 detected
18436
+ 2025-06-05 01:22:02,897 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18437
+ 2025-06-05 01:22:02,897 - hardware_detector - INFO - Hardware detection completed successfully
18438
+ 2025-06-05 01:22:02,897 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18439
+ 2025-06-05 01:22:02,897 - auto_diffusers - INFO - Hardware detector initialized successfully
18440
+ 2025-06-05 01:22:02,897 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18441
+ 2025-06-05 01:22:02,897 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18442
+ 2025-06-05 01:22:02,897 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18443
+ 2025-06-05 01:22:02,897 - simple_memory_calculator - DEBUG - Known models in database: 4
18444
+ 2025-06-05 01:22:02,897 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18445
+ 2025-06-05 01:22:02,897 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18446
+ 2025-06-05 01:22:02,899 - asyncio - DEBUG - Using selector: KqueueSelector
18447
+ 2025-06-05 01:22:02,913 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18448
+ 2025-06-05 01:22:02,920 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18449
+ 2025-06-05 01:22:03,003 - asyncio - DEBUG - Using selector: KqueueSelector
18450
+ 2025-06-05 01:22:03,039 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
18451
+ 2025-06-05 01:22:03,040 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12fd8cc10>
18452
+ 2025-06-05 01:22:03,040 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18453
+ 2025-06-05 01:22:03,040 - httpcore.http11 - DEBUG - send_request_headers.complete
18454
+ 2025-06-05 01:22:03,040 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18455
+ 2025-06-05 01:22:03,040 - httpcore.http11 - DEBUG - send_request_body.complete
18456
+ 2025-06-05 01:22:03,040 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18457
+ 2025-06-05 01:22:03,041 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 04 Jun 2025 16:22:03 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
18458
+ 2025-06-05 01:22:03,041 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
18459
+ 2025-06-05 01:22:03,041 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18460
+ 2025-06-05 01:22:03,041 - httpcore.http11 - DEBUG - receive_response_body.complete
18461
+ 2025-06-05 01:22:03,041 - httpcore.http11 - DEBUG - response_closed.started
18462
+ 2025-06-05 01:22:03,041 - httpcore.http11 - DEBUG - response_closed.complete
18463
+ 2025-06-05 01:22:03,041 - httpcore.connection - DEBUG - close.started
18464
+ 2025-06-05 01:22:03,041 - httpcore.connection - DEBUG - close.complete
18465
+ 2025-06-05 01:22:03,041 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
18466
+ 2025-06-05 01:22:03,042 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x139139810>
18467
+ 2025-06-05 01:22:03,042 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
18468
+ 2025-06-05 01:22:03,042 - httpcore.http11 - DEBUG - send_request_headers.complete
18469
+ 2025-06-05 01:22:03,042 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
18470
+ 2025-06-05 01:22:03,042 - httpcore.http11 - DEBUG - send_request_body.complete
18471
+ 2025-06-05 01:22:03,042 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
18472
+ 2025-06-05 01:22:03,050 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 04 Jun 2025 16:22:03 GMT'), (b'server', b'uvicorn'), (b'content-length', b'111414'), (b'content-type', b'text/html; charset=utf-8')])
18473
+ 2025-06-05 01:22:03,050 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
18474
+ 2025-06-05 01:22:03,050 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
18475
+ 2025-06-05 01:22:03,050 - httpcore.http11 - DEBUG - receive_response_body.complete
18476
+ 2025-06-05 01:22:03,050 - httpcore.http11 - DEBUG - response_closed.started
18477
+ 2025-06-05 01:22:03,050 - httpcore.http11 - DEBUG - response_closed.complete
18478
+ 2025-06-05 01:22:03,050 - httpcore.connection - DEBUG - close.started
18479
+ 2025-06-05 01:22:03,050 - httpcore.connection - DEBUG - close.complete
18480
+ 2025-06-05 01:22:03,062 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
18481
+ 2025-06-05 01:22:03,081 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12bda11d0>
18482
+ 2025-06-05 01:22:03,082 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x119c2d130> server_hostname='api.gradio.app' timeout=3
18483
+ 2025-06-05 01:22:03,207 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
18484
+ 2025-06-05 01:22:03,214 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x129ce73d0>
18485
+ 2025-06-05 01:22:03,214 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x12fecfe30> server_hostname='api.gradio.app' timeout=30
18486
+ 2025-06-05 01:22:03,365 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x129ce74d0>
18487
+ 2025-06-05 01:22:03,365 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18488
+ 2025-06-05 01:22:03,366 - httpcore.http11 - DEBUG - send_request_headers.complete
18489
+ 2025-06-05 01:22:03,366 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18490
+ 2025-06-05 01:22:03,366 - httpcore.http11 - DEBUG - send_request_body.complete
18491
+ 2025-06-05 01:22:03,366 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18492
+ 2025-06-05 01:22:03,510 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 04 Jun 2025 16:22:03 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
18493
+ 2025-06-05 01:22:03,511 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
18494
+ 2025-06-05 01:22:03,511 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18495
+ 2025-06-05 01:22:03,511 - httpcore.http11 - DEBUG - receive_response_body.complete
18496
+ 2025-06-05 01:22:03,511 - httpcore.http11 - DEBUG - response_closed.started
18497
+ 2025-06-05 01:22:03,511 - httpcore.http11 - DEBUG - response_closed.complete
18498
+ 2025-06-05 01:22:03,511 - httpcore.connection - DEBUG - close.started
18499
+ 2025-06-05 01:22:03,512 - httpcore.connection - DEBUG - close.complete
18500
+ 2025-06-05 01:22:03,517 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x1283d5a10>
18501
+ 2025-06-05 01:22:03,517 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18502
+ 2025-06-05 01:22:03,517 - httpcore.http11 - DEBUG - send_request_headers.complete
18503
+ 2025-06-05 01:22:03,517 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18504
+ 2025-06-05 01:22:03,518 - httpcore.http11 - DEBUG - send_request_body.complete
18505
+ 2025-06-05 01:22:03,518 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18506
+ 2025-06-05 01:22:03,669 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 04 Jun 2025 16:22:03 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
18507
+ 2025-06-05 01:22:03,669 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
18508
+ 2025-06-05 01:22:03,670 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18509
+ 2025-06-05 01:22:03,670 - httpcore.http11 - DEBUG - receive_response_body.complete
18510
+ 2025-06-05 01:22:03,670 - httpcore.http11 - DEBUG - response_closed.started
18511
+ 2025-06-05 01:22:03,670 - httpcore.http11 - DEBUG - response_closed.complete
18512
+ 2025-06-05 01:22:03,671 - httpcore.connection - DEBUG - close.started
18513
+ 2025-06-05 01:22:03,671 - httpcore.connection - DEBUG - close.complete
18514
+ 2025-06-05 01:22:04,340 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18515
+ 2025-06-05 01:22:04,568 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
18516
+ 2025-06-05 01:22:22,638 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18517
+ 2025-06-05 01:22:22,638 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
18518
+ 2025-06-05 01:22:22,638 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
18519
+ 2025-06-05 01:22:22,639 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18520
+ 2025-06-05 01:22:22,639 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18521
+ 2025-06-05 01:22:22,639 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18522
+ 2025-06-05 01:22:22,639 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18523
+ 2025-06-05 01:22:22,640 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18524
+ 2025-06-05 01:22:22,640 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18525
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18526
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18527
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18528
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18529
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18530
+ 2025-06-05 01:23:35,574 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18531
+ 2025-06-05 01:23:35,575 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18532
+ 2025-06-05 01:23:35,575 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18533
+ 2025-06-05 01:24:20,474 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18534
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18535
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18536
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18537
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18538
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18539
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18540
+ 2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
gradio_app.py CHANGED
@@ -302,18 +302,19 @@ def create_gradio_interface():
302
  display: flex !important;
303
  }
304
 
305
- /* Modal Content */
306
  .modal-content {
307
- background: #fefcfa !important;
308
- border: 2px solid #f0c5b8 !important;
309
  border-radius: 16px !important;
310
  max-width: 90vw !important;
311
  max-height: 80vh !important;
312
  width: 800px !important;
313
  padding: 2rem !important;
314
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
315
  overflow: hidden !important;
316
  flex-direction: column !important;
 
317
  }
318
 
319
  /* Modal Header */
@@ -322,14 +323,19 @@ def create_gradio_interface():
322
  align-items: center !important;
323
  margin-bottom: 1rem !important;
324
  padding-bottom: 1rem !important;
325
- border-bottom: 1px solid #f0c5b8 !important;
 
 
 
 
 
326
  }
327
 
328
- /* Modal Close Button */
329
  .modal-close-btn {
330
- background: #f4e6e1 !important;
331
- border: 1px solid #e8a491 !important;
332
- color: #5a3a2a !important;
333
  font-weight: 700 !important;
334
  font-size: 1.2rem !important;
335
  padding: 0.4rem 0.6rem !important;
@@ -341,19 +347,51 @@ def create_gradio_interface():
341
  }
342
 
343
  .modal-close-btn:hover {
344
- background: #f0c5b8 !important;
345
  }
346
 
347
- /* Prompt Container */
348
  .prompt-container {
349
- background: #fcf3f0 !important;
350
- border: 1px solid #f0c5b8 !important;
351
  border-radius: 8px !important;
352
  max-height: 400px !important;
353
  overflow-y: auto !important;
354
  flex: 1 !important;
355
  }
356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
 
358
 
359
  .generate-btn:hover {
@@ -999,7 +1037,7 @@ def create_gradio_interface():
999
 
1000
  # Hardware Selection Section
1001
  with gr.Group(elem_classes="glass-card"):
1002
- with gr.Accordion("⚙️ Hardware Specifications", open=True) as hardware_accordion:
1003
  gr.HTML("""
1004
  <div class="section-header" style="text-align: center;">
1005
  <p style="margin: 0; color: #6a443a; font-size: 1.1rem; font-weight: 600; font-family: 'Georgia', serif;">
 
302
  display: flex !important;
303
  }
304
 
305
+ /* Modal Content - with dark mode support */
306
  .modal-content {
307
+ background: var(--background-fill-primary, #fefcfa) !important;
308
+ border: 2px solid var(--border-color-primary, #f0c5b8) !important;
309
  border-radius: 16px !important;
310
  max-width: 90vw !important;
311
  max-height: 80vh !important;
312
  width: 800px !important;
313
  padding: 2rem !important;
314
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
315
  overflow: hidden !important;
316
  flex-direction: column !important;
317
+ color: var(--body-text-color, #2d3748) !important;
318
  }
319
 
320
  /* Modal Header */
 
323
  align-items: center !important;
324
  margin-bottom: 1rem !important;
325
  padding-bottom: 1rem !important;
326
+ border-bottom: 1px solid var(--border-color-primary, #f0c5b8) !important;
327
+ }
328
+
329
+ .modal-header h3 {
330
+ color: var(--body-text-color, #2d3748) !important;
331
+ margin: 0 !important;
332
  }
333
 
334
+ /* Modal Close Button - dark mode friendly */
335
  .modal-close-btn {
336
+ background: var(--button-secondary-background-fill, #f4e6e1) !important;
337
+ border: 1px solid var(--button-secondary-border-color, #e8a491) !important;
338
+ color: var(--button-secondary-text-color, #5a3a2a) !important;
339
  font-weight: 700 !important;
340
  font-size: 1.2rem !important;
341
  padding: 0.4rem 0.6rem !important;
 
347
  }
348
 
349
  .modal-close-btn:hover {
350
+ background: var(--button-secondary-background-fill-hover, #f0c5b8) !important;
351
  }
352
 
353
+ /* Prompt Container - dark mode friendly */
354
  .prompt-container {
355
+ background: var(--input-background-fill, #fcf3f0) !important;
356
+ border: 1px solid var(--input-border-color, #f0c5b8) !important;
357
  border-radius: 8px !important;
358
  max-height: 400px !important;
359
  overflow-y: auto !important;
360
  flex: 1 !important;
361
  }
362
 
363
+ /* Dark mode specific overrides */
364
+ @media (prefers-color-scheme: dark) {
365
+ .modal-content {
366
+ background: #1a1a1a !important;
367
+ border: 2px solid #404040 !important;
368
+ color: #e5e5e5 !important;
369
+ }
370
+
371
+ .modal-header {
372
+ border-bottom: 1px solid #404040 !important;
373
+ }
374
+
375
+ .modal-header h3 {
376
+ color: #e5e5e5 !important;
377
+ }
378
+
379
+ .modal-close-btn {
380
+ background: #404040 !important;
381
+ border: 1px solid #666 !important;
382
+ color: #e5e5e5 !important;
383
+ }
384
+
385
+ .modal-close-btn:hover {
386
+ background: #555 !important;
387
+ }
388
+
389
+ .prompt-container {
390
+ background: #2a2a2a !important;
391
+ border: 1px solid #404040 !important;
392
+ }
393
+ }
394
+
395
 
396
 
397
  .generate-btn:hover {
 
1037
 
1038
  # Hardware Selection Section
1039
  with gr.Group(elem_classes="glass-card"):
1040
+ with gr.Accordion("⚙️ Hardware Specifications", open=False) as hardware_accordion:
1041
  gr.HTML("""
1042
  <div class="section-header" style="text-align: center;">
1043
  <p style="margin: 0; color: #6a443a; font-size: 1.1rem; font-weight: 600; font-family: 'Georgia', serif;">