@@ -193,13 +193,60 @@ body::after {
193193 gap : 8px ;
194194}
195195
196- /* Inline Add/Edit Model Form */
197- .model-form-inline {
196+ /* Model Form Modal Overlay */
197+ .model-form-overlay {
198+ position : fixed;
199+ inset : 0 ;
200+ background : rgba (0 , 0 , 0 , 0 );
201+ display : flex;
202+ align-items : center;
203+ justify-content : center;
204+ z-index : 10000 ;
205+ pointer-events : none;
206+ opacity : 0 ;
207+ transition : background 0.3s ease, opacity 0.2s ease;
208+ }
209+
210+ .model-form-overlay .open {
211+ background : rgba (0 , 0 , 0 , 0.75 );
212+ pointer-events : auto;
213+ opacity : 1 ;
214+ }
215+
216+ /* Model Form Dialog with Hero Animation */
217+ .model-form-dialog {
198218 background : var (--bg-panel );
199- border : 1px solid var (--border-default );
219+ border : 1px solid var (--primary-dim );
200220 padding : 24px ;
201- margin-top : 15px ;
202- box-shadow : inset 0 0 20px rgba (0 , 0 , 0 , 0.3 );
221+ width : 420px ;
222+ max-width : 90vw ;
223+ max-height : 85vh ;
224+ overflow-y : auto;
225+ box-shadow :
226+ 0 0 40px rgba (0 , 255 , 255 , 0.15 ),
227+ inset 0 0 20px rgba (0 , 0 , 0 , 0.3 );
228+ transform : scale (0.8 ) translateY (20px );
229+ opacity : 0 ;
230+ transition : transform 0.35s cubic-bezier (0.34 , 1.56 , 0.64 , 1 ),
231+ opacity 0.25s ease;
232+ transform-origin : center center;
233+ }
234+
235+ .model-form-overlay .open .model-form-dialog {
236+ transform : scale (1 ) translateY (0 );
237+ opacity : 1 ;
238+ }
239+
240+ /* Closing animation */
241+ .model-form-overlay .closing .model-form-dialog {
242+ transform : scale (0.9 ) translateY (10px );
243+ opacity : 0 ;
244+ transition : transform 0.2s ease-in, opacity 0.15s ease-in;
245+ }
246+
247+ .model-form-overlay .closing {
248+ background : rgba (0 , 0 , 0 , 0 );
249+ transition : background 0.2s ease-in;
203250}
204251
205252.model-form-header {
@@ -248,6 +295,19 @@ body::after {
248295 border-color : var (--secondary );
249296}
250297
298+ /* Mobile responsive for modal */
299+ @media (max-width : 480px ) {
300+ .model-form-dialog {
301+ width : 95vw ;
302+ padding : 20px 16px ;
303+ max-height : 90vh ;
304+ }
305+
306+ .model-form-overlay .open .model-form-dialog {
307+ transform : scale (1 ) translateY (0 );
308+ }
309+ }
310+
251311.inline-form-row {
252312 margin-bottom : 16px ;
253313}
@@ -435,10 +495,44 @@ body::after {
435495/* Goal Input */
436496.goal-container-top { margin-bottom : 20px ; }
437497.goal-input-group { display : flex; gap : 10px ; }
498+
499+ # goal-input {
500+ flex : 1 ;
501+ padding : 14px 16px ;
502+ background : var (--bg-element );
503+ border : 1px solid var (--border-default );
504+ color : var (--text-primary );
505+ font-family : var (--font-mono );
506+ font-size : 13px ;
507+ transition : all 0.2s ease;
508+ }
509+
510+ # goal-input ::placeholder {
511+ color : var (--text-muted );
512+ font-style : italic;
513+ }
514+
515+ # goal-input : hover : not (: disabled ) {
516+ border-color : var (--border-active );
517+ }
518+
519+ # goal-input : focus {
520+ outline : none;
521+ border-color : var (--primary );
522+ box-shadow : 0 0 10px rgba (0 , 255 , 255 , 0.15 ), inset 0 0 8px rgba (0 , 255 , 255 , 0.05 );
523+ }
524+
525+ # goal-input : disabled {
526+ opacity : 0.5 ;
527+ cursor : not-allowed;
528+ background : var (--bg-panel );
529+ }
530+
438531.goal-example-chips { display : flex; gap : 8px ; margin-top : 10px ; flex-wrap : wrap; justify-content : center; }
439- .goal-chip {
440- background : var (--bg-element ); border : 1px solid var (--border-default );
532+ .goal-chip {
533+ background : var (--bg-element ); border : 1px solid var (--border-default );
441534 color : var (--text-muted ); padding : 5px 10px ; font-size : 11px ; cursor : pointer;
535+ transition : all 0.2s ease;
442536}
443537.goal-chip : hover { border-color : var (--primary ); color : var (--primary ); }
444538
0 commit comments