Spaces:
Running on Zero
Mobile + tablet responsive layout
Browse filesThree 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>
- index.html +104 -0
|
@@ -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>
|