kalamishere commited on
Commit
af513cc
Β·
1 Parent(s): 72d384f

Designer pass: warmth on the empty Generate page

Browse files

The dark surface was reading as a flat black plane with one orange
button. Three small moves to add life without breaking the cleanup:

1. Body gets two soft brand-axis radial gradients β€” coral at top-right
(generative), mint at bottom-left (measured). 14% / 9% strength
color-mixed against transparent so the page stays Console-dark but
reads as a composed surface rather than #13141A everywhere.
2. Section labels (PROMPT / MODEL / DURATION / etc, rendered as
Gradio's span.has-info) flip from ink3 grey to coralb. Letter-
spacing bumped 0.08em β†’ 0.10em for the caps. Gives the eye color
rhythm between cards.
3. The PROMPT textbox gets a 3px coral left-stripe + a faint
coral-tinted gradient on its surface β€” marks it as the primary
input of the page the way a DAW marks track identity.

Also bumps main.contain max-width 1200 β†’ 1280px and adds 14px β†’ 28px
top padding so the header has breathing room on desktop.

Files changed (1) hide show
  1. theme.py +39 -7
theme.py CHANGED
@@ -323,15 +323,29 @@ html { zoom: 1 !important; -webkit-text-size-adjust: 100% !important; }
323
  margin:0 auto on main.contain won't center β€” assert it explicitly. */
324
  .wrap { display: block !important; }
325
  main.contain, .wrap > main {
326
- background: var(--paper) !important;
327
  color: var(--ink);
328
  width: 100% !important;
329
- max-width: 1200px !important;
330
  margin: 0 auto !important;
331
- padding: 14px 18px !important;
332
  box-sizing: border-box !important;
333
  }
334
- body { background: var(--paper) !important; color: var(--ink); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
335
 
336
  /* ---- Gradio native surface overrides β€” needed so block/input/button
337
  backgrounds re-paint per palette (the gr.themes.Base values were
@@ -1309,16 +1323,20 @@ button.dc-section-chip:active {
1309
  color: var(--ink2) !important;
1310
  }
1311
 
1312
- /* ---- Field titles β€” Gradio v6 emits span.has-info inside the block */
 
 
 
1313
  span.has-info {
1314
- color: var(--ink3) !important;
1315
  font-family: 'JetBrains Mono', monospace !important;
1316
  font-size: 11px !important;
1317
  font-weight: 600 !important;
1318
- letter-spacing: 0.08em !important;
1319
  text-transform: uppercase !important;
1320
  margin-bottom: 6px !important;
1321
  display: block !important;
 
1322
  }
1323
  /* Info subtitle below field title β€” quieter.
1324
  Targets both Gradio v6's `.info-text` (Slider/Number) and `.info` (other). */
@@ -1350,6 +1368,20 @@ span.has-info {
1350
  color: var(--coralb) !important;
1351
  }
1352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1353
  /* ---- File-upload zones β€” Gradio v6 fills the drop area with a huge
1354
  SVG arrow that swallows the entire viewport when the parent has
1355
  no height cap. Constrain to a sensible 120px row + size the icon
 
323
  margin:0 auto on main.contain won't center β€” assert it explicitly. */
324
  .wrap { display: block !important; }
325
  main.contain, .wrap > main {
326
+ background: transparent !important;
327
  color: var(--ink);
328
  width: 100% !important;
329
+ max-width: 1280px !important;
330
  margin: 0 auto !important;
331
+ padding: 28px 24px !important;
332
  box-sizing: border-box !important;
333
  }
334
+ body {
335
+ background: var(--paper) !important;
336
+ color: var(--ink);
337
+ position: relative;
338
+ /* Soft brand-axis gradients on the body bg β€” coral at top-right
339
+ (generative axis), mint at bottom-left (measured axis). Each
340
+ sits at ~5% opacity so the surface stays Console-dark but reads
341
+ as a composed page rather than a flat black plane. Designer
342
+ cleanup pass: gives the eye warmth without competing with the
343
+ Generate CTA. */
344
+ background-image:
345
+ radial-gradient(60% 50% at 95% 0%, color-mix(in srgb, var(--coral) 14%, transparent), transparent 60%),
346
+ radial-gradient(60% 60% at 5% 100%, color-mix(in srgb, var(--mint) 9%, transparent), transparent 65%) !important;
347
+ background-attachment: fixed !important;
348
+ }
349
 
350
  /* ---- Gradio native surface overrides β€” needed so block/input/button
351
  backgrounds re-paint per palette (the gr.themes.Base values were
 
1323
  color: var(--ink2) !important;
1324
  }
1325
 
1326
+ /* ---- Field titles β€” Gradio v6 emits span.has-info inside the block.
1327
+ Pulled out of grey into a soft coral so the page reads as 'three
1328
+ sections, primary action' rather than a uniform grey wash. The
1329
+ coralb shade keeps the contrast on dark surfaces comfortable. */
1330
  span.has-info {
1331
+ color: var(--coralb) !important;
1332
  font-family: 'JetBrains Mono', monospace !important;
1333
  font-size: 11px !important;
1334
  font-weight: 600 !important;
1335
+ letter-spacing: 0.10em !important;
1336
  text-transform: uppercase !important;
1337
  margin-bottom: 6px !important;
1338
  display: block !important;
1339
+ opacity: 0.85;
1340
  }
1341
  /* Info subtitle below field title β€” quieter.
1342
  Targets both Gradio v6's `.info-text` (Slider/Number) and `.info` (other). */
 
1368
  color: var(--coralb) !important;
1369
  }
1370
 
1371
+ /* ---- Generate-tab prompt textbox β€” coral left-stripe marks it as the
1372
+ primary input of the page (DAW-style track identity). All other
1373
+ inputs (model dropdown, duration radio) stay neutral so the eye
1374
+ lands on the prompt first. */
1375
+ #gen-prompt-box {
1376
+ border-left: 3px solid var(--coral) !important;
1377
+ background: linear-gradient(180deg,
1378
+ color-mix(in srgb, var(--coral) 4%, var(--paper3)),
1379
+ var(--paper3)) !important;
1380
+ }
1381
+ #gen-prompt-box textarea {
1382
+ background: transparent !important;
1383
+ }
1384
+
1385
  /* ---- File-upload zones β€” Gradio v6 fills the drop area with a huge
1386
  SVG arrow that swallows the entire viewport when the parent has
1387
  no height cap. Constrain to a sensible 120px row + size the icon