akhaliq HF Staff Claude commited on
Commit
9652c03
Β·
1 Parent(s): db8cff9

Mobile + tablet responsive layout

Browse files

Three breakpoints: 900px (tablet), 600px (phone), 380px (small phone).

Phone (< 600px):
- Top bar: drop the "Session" project info, keep just the brand and
the Ready/Rendering status pill
- Stage: tighter padding, 22px type, more vertical room
- Transport: full-width skip/play buttons with 44px tap targets,
voice info row hidden
- Console source row stacks vertically (mode toggle full-width,
voice select full-width below, Advanced toggle as its own row)
- Advanced panel single-column sliders
- Examples wrap above the render button; render is full-width
primary CTA with a 12px vertical padding
- Toast slides up from the bottom as a fixed bar so it stays
visible above the on-screen keyboard

Tablet (< 900px): tighter margins, 2-column advanced summary

Co-Authored-By: Claude <noreply@anthropic.com>

Files changed (1) hide show
  1. index.html +104 -0
index.html CHANGED
@@ -454,6 +454,110 @@
454
  color: #b91c1c;
455
  }
456
  .toast.hidden { display: none; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
457
  </style>
458
  </head>
459
  <body>
 
454
  color: #b91c1c;
455
  }
456
  .toast.hidden { display: none; }
457
+
458
+ /* ===== Mobile / Tablet ===== */
459
+ @media (max-width: 900px) {
460
+ .viewport { margin: 12px 12px 0; border-radius: 14px; }
461
+ .viewport-head { padding: 10px 14px; }
462
+ .console { margin: 12px 12px 12px; border-radius: 14px; }
463
+ .advanced-summary { grid-template-columns: repeat(2, 1fr); }
464
+ }
465
+ @media (max-width: 600px) {
466
+ html, body { font-size: 15px; }
467
+ body { padding-bottom: env(safe-area-inset-bottom); }
468
+
469
+ /* Top bar β€” drop the project info, keep brand + stage pill */
470
+ .topbar { height: 48px; padding: 0 14px; }
471
+ .project-info { display: none; }
472
+
473
+ /* Viewport */
474
+ .viewport { margin: 8px 8px 0; border-radius: 12px; }
475
+ .viewport-head { padding: 10px 14px; }
476
+ .viewport-head .label { font-size: 10px; }
477
+ #voice-info { display: none; }
478
+
479
+ /* Stage β€” tighter padding, smaller type, more vertical room */
480
+ .stage { min-height: 240px; }
481
+ .stage .text {
482
+ padding: 40px 22px 36px;
483
+ font-size: 22px;
484
+ line-height: 1.5;
485
+ min-height: 240px;
486
+ }
487
+
488
+ /* Transport β€” full-width layout, info row hidden */
489
+ .transport { padding: 10px 14px; gap: 10px; flex-wrap: wrap; }
490
+ .transport-btns .skip { width: 36px; height: 36px; font-size: 12px; }
491
+ .transport-btns .play { width: 42px; height: 42px; font-size: 14px; }
492
+ .transport .spacer { flex: 1; }
493
+ .transport .info { display: none; }
494
+ .timecode { font-size: 14px; }
495
+ .timecode #dur-text { font-size: 12px; }
496
+
497
+ /* Console */
498
+ .console { margin: 10px 8px 12px; border-radius: 12px; }
499
+ .console-body { padding: 14px; gap: 12px; }
500
+
501
+ /* Source row β€” stack vertically */
502
+ .row-source {
503
+ grid-template-columns: 1fr;
504
+ gap: 8px;
505
+ }
506
+ .row-source .seg { width: 100%; }
507
+ .row-source .seg button { flex: 1; padding: 8px 12px; }
508
+ .row-source select { width: 100%; padding: 10px 14px; }
509
+ .row-source .advanced-toggle {
510
+ width: 100%;
511
+ justify-content: center;
512
+ padding: 10px 12px;
513
+ background: var(--bg-elev-2);
514
+ border-radius: var(--radius-sm);
515
+ }
516
+
517
+ /* Reference uploader */
518
+ .ref-inline {
519
+ grid-template-columns: 1fr;
520
+ gap: 6px;
521
+ }
522
+ .file-drop { padding: 12px; font-size: 13px; }
523
+
524
+ /* Advanced panel β€” single column */
525
+ .advanced-summary { grid-template-columns: repeat(2, 1fr); gap: 6px 10px; padding: 10px 12px; }
526
+ .advanced-summary .item { font-size: 11px; }
527
+ .advanced-sliders { grid-template-columns: 1fr; }
528
+
529
+ /* Actions row β€” examples wrap above, render full-width */
530
+ .row-actions {
531
+ flex-direction: column;
532
+ align-items: stretch;
533
+ gap: 10px;
534
+ }
535
+ .examples { order: 1; }
536
+ .example-chip { padding: 6px 11px; font-size: 12px; }
537
+ .render-btn {
538
+ order: 2;
539
+ width: 100%;
540
+ padding: 12px 16px;
541
+ font-size: 14px;
542
+ justify-content: center;
543
+ }
544
+ .toast { order: 3; }
545
+
546
+ /* Toast β€” slide up from bottom on mobile for visibility */
547
+ .toast {
548
+ position: fixed;
549
+ left: 12px; right: 12px; bottom: 12px;
550
+ margin: 0;
551
+ padding: 12px 16px;
552
+ border-radius: var(--radius);
553
+ box-shadow: var(--shadow-lg);
554
+ z-index: 20;
555
+ }
556
+ }
557
+ @media (max-width: 380px) {
558
+ .stage .text { font-size: 19px; padding: 32px 16px 28px; }
559
+ .advanced-summary { grid-template-columns: 1fr; }
560
+ }
561
  </style>
562
  </head>
563
  <body>