@@ -267,6 +267,11 @@ img{max-width:100%;display:block}
267267/* === FOCUS === */
268268: focus-visible {outline : 2px solid var (--red );outline-offset : 2px ;border-radius : 4px }
269269
270+ /* === SKIP NAVIGATION === */
271+ .skip-link {position : absolute;top : -100% ;left : 16px ;background : var (--red );color : # fff ;padding : 8px 16px ;
272+ border-radius : 0 0 8px 8px ;z-index : 10000 ;font-size : .85rem ;font-weight : 600 ;transition : top .2s }
273+ .skip-link : focus {top : 0 }
274+
270275/* === RESPONSIVE === */
271276@media (max-width : 1200px ){
272277 .container {padding : 0 20px }
@@ -406,38 +411,28 @@ img{max-width:100%;display:block}
406411 transform : scale (0 );animation : rippleOut .6s ease-out;pointer-events : none}
407412@keyframes rippleOut{to {transform : scale (4 );opacity : 0 }}
408413
409- /* === TELEGRAM CONTACT LINKS === */
410- .consult-tg-link {display : inline-flex;align-items : center;gap : 6px ;margin-top : 8px ;padding : 6px 14px ;
411- background : rgba (42 , 171 , 238 , .1 );border : 1px solid rgba (42 , 171 , 238 , .25 );border-radius : 8px ;
412- color : # 2aabee ;text-decoration : none;font-size : .85rem ;font-weight : 500 ;transition : all .2s }
413- .consult-tg-link : hover {background : rgba (42 , 171 , 238 , .18 );border-color : # 2aabee ;transform : translateY (-1px )}
414+ /* === SOCIAL CONTACT LINKS === */
415+ .consult-social-link {display : inline-flex;align-items : center;gap : 6px ;margin-top : 6px ;padding : 6px 14px ;
416+ border-radius : 8px ;text-decoration : none;font-size : .85rem ;font-weight : 500 ;transition : all .2s }
417+ .consult-social-link : hover {transform : translateY (-1px )}
418+ .consult-social-link .tg {background : rgba (42 , 171 , 238 , .1 );border : 1px solid rgba (42 , 171 , 238 , .25 );color : # 2aabee }
419+ .consult-social-link .tg : hover {background : rgba (42 , 171 , 238 , .18 );border-color : # 2aabee }
420+ .consult-social-link .dc {background : rgba (88 , 101 , 242 , .1 );border : 1px solid rgba (88 , 101 , 242 , .25 );color : # 5865f2 }
421+ .consult-social-link .dc : hover {background : rgba (88 , 101 , 242 , .18 );border-color : # 5865f2 }
422+ .consult-social-link .wa {background : rgba (37 , 211 , 102 , .1 );border : 1px solid rgba (37 , 211 , 102 , .25 );color : # 25d366 }
423+ .consult-social-link .wa : hover {background : rgba (37 , 211 , 102 , .18 );border-color : # 25d366 }
414424.pr-contact-methods {display : flex;flex-wrap : wrap;align-items : center;justify-content : center;gap : 12px ;margin-top : 12px }
415- .tg-contact-btn {display : inline-flex;align-items : center;gap : 8px ;padding : 8px 18px ;
416- background : rgba (42 , 171 , 238 , .1 );border : 1px solid rgba (42 , 171 , 238 , .25 );border-radius : 10px ;
417- color : # 2aabee ;text-decoration : none;font-size : .95rem ;font-weight : 600 ;transition : all .25s }
418- .tg-contact-btn : hover {background : # 2aabee ;color : # fff ;border-color : # 2aabee ;transform : translateY (-2px );box-shadow : 0 4px 16px rgba (42 , 171 , 238 , .3 )}
419- .tg-contact-btn svg {transition : transform .2s }
420- .tg-contact-btn : hover svg {transform : scale (1.1 )}
421- .consult-discord-link {display : inline-flex;align-items : center;gap : 6px ;margin-top : 6px ;padding : 6px 14px ;
422- background : rgba (88 , 101 , 242 , .1 );border : 1px solid rgba (88 , 101 , 242 , .25 );border-radius : 8px ;
423- color : # 5865f2 ;text-decoration : none;font-size : .85rem ;font-weight : 500 ;transition : all .2s }
424- .consult-discord-link : hover {background : rgba (88 , 101 , 242 , .18 );border-color : # 5865f2 ;transform : translateY (-1px )}
425- .discord-contact-btn {display : inline-flex;align-items : center;gap : 8px ;padding : 8px 18px ;
426- background : rgba (88 , 101 , 242 , .1 );border : 1px solid rgba (88 , 101 , 242 , .25 );border-radius : 10px ;
427- color : # 5865f2 ;text-decoration : none;font-size : .95rem ;font-weight : 600 ;transition : all .25s }
428- .discord-contact-btn : hover {background : # 5865f2 ;color : # fff ;border-color : # 5865f2 ;transform : translateY (-2px );box-shadow : 0 4px 16px rgba (88 , 101 , 242 , .3 )}
429- .discord-contact-btn svg {transition : transform .2s }
430- .discord-contact-btn : hover svg {transform : scale (1.1 )}
431- .consult-wa-link {display : inline-flex;align-items : center;gap : 6px ;margin-top : 6px ;padding : 6px 14px ;
432- background : rgba (37 , 211 , 102 , .1 );border : 1px solid rgba (37 , 211 , 102 , .25 );border-radius : 8px ;
433- color : # 25d366 ;text-decoration : none;font-size : .85rem ;font-weight : 500 ;transition : all .2s }
434- .consult-wa-link : hover {background : rgba (37 , 211 , 102 , .18 );border-color : # 25d366 ;transform : translateY (-1px )}
435- .wa-contact-btn {display : inline-flex;align-items : center;gap : 8px ;padding : 8px 18px ;
436- background : rgba (37 , 211 , 102 , .1 );border : 1px solid rgba (37 , 211 , 102 , .25 );border-radius : 10px ;
437- color : # 25d366 ;text-decoration : none;font-size : .95rem ;font-weight : 600 ;transition : all .25s }
438- .wa-contact-btn : hover {background : # 25d366 ;color : # fff ;border-color : # 25d366 ;transform : translateY (-2px );box-shadow : 0 4px 16px rgba (37 , 211 , 102 , .3 )}
439- .wa-contact-btn svg {transition : transform .2s }
440- .wa-contact-btn : hover svg {transform : scale (1.1 )}
425+ .social-contact-btn {display : inline-flex;align-items : center;gap : 8px ;padding : 8px 18px ;
426+ border-radius : 10px ;text-decoration : none;font-size : .95rem ;font-weight : 600 ;transition : all .25s }
427+ .social-contact-btn svg {transition : transform .2s }
428+ .social-contact-btn : hover {transform : translateY (-2px )}
429+ .social-contact-btn : hover svg {transform : scale (1.1 )}
430+ .social-contact-btn .tg {background : rgba (42 , 171 , 238 , .1 );border : 1px solid rgba (42 , 171 , 238 , .25 );color : # 2aabee }
431+ .social-contact-btn .tg : hover {background : # 2aabee ;color : # fff ;border-color : # 2aabee ;box-shadow : 0 4px 16px rgba (42 , 171 , 238 , .3 )}
432+ .social-contact-btn .dc {background : rgba (88 , 101 , 242 , .1 );border : 1px solid rgba (88 , 101 , 242 , .25 );color : # 5865f2 }
433+ .social-contact-btn .dc : hover {background : # 5865f2 ;color : # fff ;border-color : # 5865f2 ;box-shadow : 0 4px 16px rgba (88 , 101 , 242 , .3 )}
434+ .social-contact-btn .wa {background : rgba (37 , 211 , 102 , .1 );border : 1px solid rgba (37 , 211 , 102 , .25 );color : # 25d366 }
435+ .social-contact-btn .wa : hover {background : # 25d366 ;color : # fff ;border-color : # 25d366 ;box-shadow : 0 4px 16px rgba (37 , 211 , 102 , .3 )}
441436
442437/* === SEARCH OVERLAY === */
443438.search-overlay {position : fixed;inset : 0 ;z-index : 9999 ;background : rgba (0 , 0 , 0 , .6 );backdrop-filter : blur (4px );display : flex;align-items : flex-start;justify-content : center;padding-top : min (20vh , 120px );opacity : 0 ;pointer-events : none;transition : opacity .2s }
@@ -459,6 +454,7 @@ img{max-width:100%;display:block}
459454.search-item-desc {font-size : .8rem ;color : var (--text-muted );line-height : 1.4 ;overflow : hidden;text-overflow : ellipsis;white-space : nowrap}
460455.search-item mark {background : rgba (199 , 70 , 52 , .2 );color : var (--red );border-radius : 2px ;padding : 0 1px }
461456.search-empty {padding : 30px ;text-align : center;color : var (--text-muted );font-size : .9rem }
457+ .search-result-count {padding : 8px 14px ;font-size : .75rem ;color : var (--text-muted );font-weight : 500 }
462458.search-footer {padding : 10px 18px ;border-top : 1px solid var (--border );font-size : .75rem ;color : var (--text-muted );text-align : center}
463459.nav-search-btn {background : none;border : 1px solid var (--border );color : var (--text-muted );padding : 4px 12px 4px 8px ;border-radius : 6px ;cursor : pointer;display : flex;align-items : center;gap : 6px ;font-size : .8rem ;transition : border-color .2s , color .2s }
464460.nav-search-btn : hover {border-color : var (--red );color : var (--text )}
@@ -519,3 +515,77 @@ img{max-width:100%;display:block}
519515 img {max-width : 100% !important ;page-break-inside : avoid}
520516 .btn , .btn-primary , .btn-ghost , .nav-cta {border : 1px solid # 333 ;color : # 000!important ;background : none!important }
521517}
518+
519+ /* === GENERATOR PAGE === */
520+ .gen-hero {padding : 50px 0 20px ;text-align : center}
521+ .gen-hero h1 {font-size : 1.8rem ;font-weight : 900 ;color : var (--text );margin-bottom : 8px }
522+ .gen-hero p {color : var (--text-dim );font-size : .95rem ;font-weight : 300 }
523+
524+ .mode-section {padding : 20px 0 30px }
525+ .mode-label {font-size : .72rem ;text-transform : uppercase;letter-spacing : 2.5px ;color : var (--text-muted );font-weight : 600 ;margin-bottom : 14px }
526+ .mode-cards {display : grid;grid-template-columns : repeat (3 , 1fr );gap : 12px }
527+ .mode-card {background : var (--card );border : 1.5px solid var (--border );border-radius : var (--r-lg );
528+ padding : 22px 18px ;cursor : pointer;transition : all .3s ;text-align : center;position : relative;overflow : hidden}
529+ .mode-card ::before {content : '' ;position : absolute;top : 0 ;left : 0 ;right : 0 ;height : 3px ;background : var (--red );transform : scaleX (0 );transition : transform .3s }
530+ .mode-card : hover {border-color : var (--border-light );background : var (--card-hover );transform : translateY (-2px )}
531+ .mode-card .active {border-color : var (--red );background : rgba (199 , 70 , 52 , .05 )}
532+ .mode-card .active ::before {transform : scaleX (1 )}
533+ .mode-card .mi {font-size : 1.6rem ;margin-bottom : 8px ;display : block}
534+ .mode-card .mt {font-size : .95rem ;font-weight : 700 ;color : var (--text );margin-bottom : 3px }
535+ .mode-card .md {font-size : .72rem ;color : var (--text-muted );line-height : 1.5 }
536+
537+ .form-area {padding : 10px 0 20px }
538+ .fg-title {font-size : .9rem ;font-weight : 700 ;color : var (--text );padding : 12px 0 10px ;border-bottom : 1px solid var (--border );
539+ margin-bottom : 16px ;display : flex;align-items : center;gap : 10px }
540+ .fg-title .ico {color : var (--red );font-size : 1rem }
541+ .fg-grid {display : grid;grid-template-columns : repeat (auto-fill, minmax (320px , 1fr ));gap : 12px ;margin-bottom : 24px }
542+ .field {background : var (--card );border : 1px solid var (--border );border-radius : var (--r );padding : 14px 16px ;transition : all .25s }
543+ .field : hover {border-color : var (--border-light )}
544+ .field : focus-within {border-color : var (--red );box-shadow : 0 0 0 2px rgba (199 , 70 , 52 , .08 )}
545+ .field-error {border-color : rgba (199 , 70 , 52 , .5 );background : rgba (199 , 70 , 52 , .03 )}
546+ .field-error label .fl {background : rgba (199 , 70 , 52 , .25 );color : var (--red-glow );animation : pulse-error 1.5s ease infinite}
547+ @keyframes pulse-error{0% , 100%{opacity : 1 }50% {opacity : .5 }}
548+ .field label {display : flex;align-items : center;gap : 6px ;font-size : .75rem ;color : var (--text-dim );margin-bottom : 8px ;font-weight : 500 }
549+ .field label .fl {font-size : .62rem ;padding : 1px 6px ;border-radius : 3px ;font-weight : 700 }
550+ .field label .fl-r {background : rgba (199 , 70 , 52 , .18 );color : var (--red-glow )}
551+ .field label .fl-o {background : rgba (90 , 90 , 106 , .18 );color : var (--text-muted )}
552+ .field label .fp {color : var (--accent2 );font-family : var (--mono );font-size : .7rem }
553+ .field input , .field select {width : 100% ;background : var (--bg2 );border : 1px solid var (--border );border-radius : 6px ;
554+ padding : 9px 12px ;color : var (--text );font-size : .85rem ;font-family : var (--mono );outline : none;transition : border .2s }
555+ .field input ::placeholder {color : var (--text-muted );font-family : var (--font )}
556+ .field input : focus , .field select : focus {border-color : var (--red )}
557+ .field select {cursor : pointer;appearance : none;
558+ background-image : url ("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238a8a9a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E" );
559+ background-repeat : no-repeat;background-position : right 12px center}
560+ .field select option {background : var (--bg2 );color : var (--text )}
561+
562+ .cmd-section {padding : 10px 0 50px }
563+ .cmd-box {background : var (--term-bg , var (--bg2 ));border : 1.5px solid var (--border );border-radius : var (--r-lg );overflow : hidden}
564+ .cmd-header {display : flex;align-items : center;justify-content : space-between;padding : 10px 16px ;
565+ border-bottom : 1px solid var (--border );background : # 2a2a34 ;position : relative}
566+ .cmd-header .cmd-dots {display : flex;gap : 8px }
567+ .cmd-header .cmd-dots .sd {width : 12px ;height : 12px ;border-radius : 50% ;display : inline-block}
568+ .cmd-header .cmd-title {position : absolute;left : 0 ;right : 0 ;text-align : center;font-size : .75rem ;font-weight : 500 ;color : var (--text-muted );font-family : var (--mono );pointer-events : none}
569+ .sd-r {background : # ff5f57 }.sd-y {background : # febc2e }.sd-g {background : # 28c840 }
570+ .cmd-btns {display : flex;gap : 8px ;position : relative;z-index : 1 }
571+ .cmd-btn {background : var (--bg3 );border : 1px solid var (--border );border-radius : 6px ;padding : 7px 16px ;
572+ font-size : .78rem ;color : var (--text-dim );cursor : pointer;transition : all .2s ;font-family : var (--font );font-weight : 500 }
573+ .cmd-btn : hover {border-color : var (--red );color : var (--text )}
574+ .cmd-btn .copy-btn {background : rgba (199 , 70 , 52 , .1 );border-color : rgba (199 , 70 , 52 , .25 );color : var (--red-glow )}
575+ .cmd-btn .copy-btn : hover {background : rgba (199 , 70 , 52 , .18 )}
576+ .cmd-btn .copied {background : rgba (58 , 186 , 106 , .12 );border-color : rgba (58 , 186 , 106 , .25 );color : var (--green )}
577+ .cmd-code {padding : 20px ;font-family : var (--mono );font-size : .82rem ;line-height : 1.9 ;color : var (--green );
578+ white-space : pre-wrap;word-break : break-all;min-height : 60px ;max-height : 400px ;overflow-y : auto}
579+ .cmd-code .cm-flag {color : var (--accent2 )}
580+ .cmd-code .cm-val {color : var (--blue )}
581+ .cmd-code .cm-w {color : # fff }
582+ .cmd-code .cm-sl {color : var (--text-muted );opacity : .5 }
583+ .cmd-code .cm-cmt {color : var (--text-muted );font-style : italic;opacity : .5 }
584+
585+ @media (max-width : 768px ){
586+ .mode-cards {grid-template-columns : 1fr }
587+ .fg-grid {grid-template-columns : 1fr }
588+ .cmd-header {flex-wrap : wrap;gap : 10px }
589+ .cmd-header .cmd-title {position : static;text-align : left;order : -1 ;width : 100% }
590+ .cmd-header .cmd-dots {order : -2 }
591+ }
0 commit comments