@@ -371,3 +371,95 @@ body {
371371 transform : translateX (-50% ) translateY (0 );
372372}
373373.toast .hidden { display : none; }
374+
375+ /* ── Hamburger (hidden on desktop) ── */
376+ .hamburger {
377+ display : none;
378+ position : fixed;
379+ top : 12px ; left : 12px ;
380+ z-index : 200 ;
381+ width : 40px ; height : 40px ;
382+ background : var (--bg-card );
383+ border : 1px solid var (--border );
384+ border-radius : 10px ;
385+ cursor : pointer;
386+ align-items : center; justify-content : center;
387+ box-shadow : var (--shadow2 );
388+ color : var (--accent );
389+ transition : background 0.15s ;
390+ }
391+ .hamburger : hover { background : var (--accent-light ); }
392+
393+ .sidebar-overlay {
394+ display : none;
395+ position : fixed; inset : 0 ;
396+ background : rgba (0 , 0 , 0 , 0.3 );
397+ z-index : 99 ;
398+ }
399+
400+ /* ── Mobile ── */
401+ @media (max-width : 767px ) {
402+ .hamburger { display : flex; }
403+
404+ .app { flex-direction : column; height : 100vh ; }
405+
406+ .sidebar {
407+ position : fixed;
408+ top : 0 ; left : 0 ;
409+ width : 280px ;
410+ height : 100vh ;
411+ z-index : 100 ;
412+ transform : translateX (-100% );
413+ transition : transform 0.25s ease;
414+ overflow-y : auto;
415+ padding-top : 56px ;
416+ }
417+ .sidebar .open {
418+ transform : translateX (0 );
419+ }
420+ .sidebar-overlay .open {
421+ display : block;
422+ }
423+
424+ .avatar-grid {
425+ display : flex;
426+ flex-wrap : nowrap;
427+ overflow-x : auto;
428+ overflow-y : hidden;
429+ max-height : none;
430+ gap : 8px ;
431+ padding : 4px 2px ;
432+ -webkit-overflow-scrolling : touch;
433+ }
434+ .avatar-card {
435+ flex : 0 0 68px ;
436+ min-width : 68px ;
437+ }
438+
439+ .main {
440+ flex : 1 ;
441+ min-height : 0 ;
442+ padding-top : 48px ;
443+ }
444+
445+ .tabs { padding : 8px 14px 0 ; }
446+
447+ .stage {
448+ padding : 12px 14px ;
449+ justify-content : flex-start;
450+ }
451+
452+ .video-wrap { max-width : 100% ; min-height : 200px ; }
453+
454+ .input-bar {
455+ position : fixed;
456+ bottom : 0 ; left : 0 ; right : 0 ;
457+ padding : 10px 12px calc (env (safe-area-inset-bottom, 8px ) + 8px );
458+ background : var (--bg-sidebar );
459+ border-top : 1px solid var (--border );
460+ z-index : 50 ;
461+ }
462+ .input-bar textarea { max-width : none; flex : 1 ; }
463+
464+ .llm-box , .samples { max-width : 100% ; }
465+ }
0 commit comments