akhaliq HF Staff commited on
Commit
25c3db5
·
1 Parent(s): 942d78c

Mobile-friendly layout, all features kept

Browse files

Stage moves above the control deck on narrow screens, the deck becomes a
full-width scrolling panel with a sticky Generate button, the transport
bar wraps with the progress bar on its own row, the header collapses to
logo + status pill, dropzones/sliders get bigger touch targets, and
inputs use 16px to stop iOS focus zoom.

Files changed (1) hide show
  1. index.html +40 -3
index.html CHANGED
@@ -165,9 +165,46 @@
165
  .examples button:hover { color: var(--text); border-color: var(--edge-hi); }
166
 
167
  @media (max-width: 860px) {
168
- main { flex-direction: column; overflow-y: auto; }
169
- aside { width: 100%; border-right: none; border-bottom: 1px solid var(--edge); }
170
- body { overflow: auto; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  }
172
  </style>
173
  </head>
 
165
  .examples button:hover { color: var(--text); border-color: var(--edge-hi); }
166
 
167
  @media (max-width: 860px) {
168
+ body { height: 100dvh; overflow: hidden; }
169
+ main { flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
170
+
171
+ /* Stage first, controls below: the monitor is what a phone user came for. */
172
+ section.stage { order: -1; flex: none; }
173
+ .monitor-wrap { padding: 12px; }
174
+ .monitor video { max-height: 38vh; }
175
+ .monitor .placeholder { position: static; padding: 42px 16px; }
176
+
177
+ aside {
178
+ width: 100%; flex: none; overflow: visible;
179
+ border-right: none; border-top: 1px solid var(--edge);
180
+ padding: 14px 14px 90px; /* room for the sticky run button */
181
+ }
182
+ #run {
183
+ position: sticky; bottom: 12px; z-index: 5;
184
+ padding: 15px; font-size: 15px;
185
+ box-shadow: 0 8px 24px rgba(0,0,0,.5);
186
+ }
187
+
188
+ /* Touch targets + kill iOS auto-zoom on focus (needs >=16px). */
189
+ textarea, select, input[type=number] { font-size: 16px; }
190
+ .dropzone { min-height: 92px; }
191
+ .check { padding: 6px 0; }
192
+ summary { padding: 12px; }
193
+ input[type=range] { height: 28px; }
194
+
195
+ header { padding: 0 12px; gap: 10px; }
196
+ .logo span { display: none; }
197
+ #status-pill { max-width: 38vw; padding: 4px 9px; }
198
+ header .links a { display: none; }
199
+ header .links #status-pill { display: flex; }
200
+
201
+ .transport { flex-wrap: wrap; gap: 8px 12px; padding: 10px 12px; }
202
+ #bar-track { flex: 1 1 100%; order: -1; width: auto; height: 5px; }
203
+ #report { white-space: normal; flex: 1 1 60%; font-size: 11px; }
204
+ #refined-bar { max-height: 80px; }
205
+ }
206
+ @media (max-width: 400px) {
207
+ .frames-row { grid-template-columns: 1fr; }
208
  }
209
  </style>
210
  </head>