33 Imports the design system foundation and component primitives.
44 ============================================================ */
55
6- @import url ('./ef-components.css' );
7-
86* { box-sizing : border-box; }
97html , body { margin : 0 ; padding : 0 ; }
108body { background : var (--bg ); color : var (--fg1 ); font-family : var (--font ); }
@@ -40,6 +38,17 @@ a { color: inherit; }
4038.eks-nav-lang : hover { color : var (--fg1 ); border-color : var (--fg3 ); }
4139.eks-locale { font-family : var (--mono ); font-size : 11px ; color : var (--fg3 ); letter-spacing : .04em ; cursor : pointer; }
4240.eks-locale .active { color : var (--fg1 ); font-weight : 700 ; }
41+ /* display:contents keeps links + right as direct flex children of the bar on desktop */
42+ .eks-nav-collapse { display : contents; }
43+ .eks-nav-toggle {
44+ display : none; flex-direction : column; justify-content : center; gap : 5px ;
45+ width : 40px ; height : 40px ; margin-left : auto; padding : 0 ;
46+ background : none; border : none; cursor : pointer;
47+ }
48+ .eks-nav-toggle span { display : block; width : 22px ; height : 2px ; margin : 0 auto; background : var (--fg1 ); border-radius : 2px ; transition : transform var (--t-fast ), opacity var (--t-fast ); }
49+ .eks-nav .open .eks-nav-toggle span : nth-child (1 ) { transform : translateY (7px ) rotate (45deg ); }
50+ .eks-nav .open .eks-nav-toggle span : nth-child (2 ) { opacity : 0 ; }
51+ .eks-nav .open .eks-nav-toggle span : nth-child (3 ) { transform : translateY (-7px ) rotate (-45deg ); }
4352
4453/* ── HERO ──────────────────────────────────────── */
4554.eks-hero {
@@ -378,6 +387,7 @@ body[data-density="compact"] .eks-post-main p { font-size: 13px; margin-bottom:
378387.eks-related-meta { font-family : var (--mono ); font-size : 10px ; color : var (--fg4 ); letter-spacing : .04em ; margin-top : auto; }
379388
380389/* ── SOBRE (About page) ───────────────────────── */
390+ .eks-split { display : grid; grid-template-columns : 220px 1fr ; gap : 64px ; align-items : start; }
381391.eks-sobre-hero { background-image : var (--pat-dots ); background-size : var (--pat-dots-size ); border-bottom : 1px solid var (--border ); padding : 96px 0 88px ; }
382392.eks-sobre-hero h1 { font-size : 56px ; font-weight : 700 ; letter-spacing : -.03em ; line-height : 1.05 ; color : var (--fg1 ); margin : 0 0 24px ; max-width : 820px ; }
383393.eks-sobre-hero p { font-size : 19px ; color : var (--fg2 ); max-width : 640px ; line-height : 1.6 ; margin : 0 ; }
@@ -627,7 +637,20 @@ body[data-density="compact"] .eks-post-main p { font-size: 13px; margin-bottom:
627637 .eks-metrics-grid { grid-template-columns : repeat (2 , 1fr ); }
628638 .eks-news-grid { grid-template-columns : 1fr ; }
629639 .eks-foot-grid { grid-template-columns : 1fr 1fr ; gap : 32px ; }
630- .eks-nav-links { display : none; }
640+ /* Mobile nav: hamburger reveals a full-width dropdown panel */
641+ .eks-nav-toggle { display : flex; }
642+ .eks-nav-collapse {
643+ display : none;
644+ position : absolute; top : 100% ; left : 0 ; right : 0 ;
645+ flex-direction : column; align-items : stretch; gap : 0 ;
646+ background : var (--surface ); border-bottom : 1px solid var (--border );
647+ box-shadow : var (--shadow-md ); padding : 8px 0 16px ;
648+ }
649+ .eks-nav .open .eks-nav-collapse { display : flex; }
650+ .eks-nav-links { flex-direction : column; gap : 0 ; padding : 0 32px ; }
651+ .eks-nav-link { font-size : 15px ; padding : 13px 0 ; border-bottom : 1px solid var (--border ); }
652+ .eks-nav-right { margin-left : 0 ; padding : 16px 32px 0 ; gap : 12px ; flex-wrap : wrap; }
653+ .eks-nav-right .ef-btn { flex : 1 ; justify-content : center; }
631654 .eks-problem-grid { grid-template-columns : 1fr ; }
632655 .eks-loop { grid-template-columns : 1fr ; }
633656 .eks-emerge { grid-template-columns : 1fr ; }
@@ -637,9 +660,12 @@ body[data-density="compact"] .eks-post-main p { font-size: 13px; margin-bottom:
637660 .eks-team-grid { grid-template-columns : repeat (2 , 1fr ); }
638661 .eks-principles { grid-template-columns : 1fr ; }
639662 .eks-svc-layout { grid-template-columns : 1fr ; }
663+ .eks-split { grid-template-columns : 1fr ; gap : 24px ; }
640664 .eks-svc-toc { position : static; }
641665 .eks-related-grid { grid-template-columns : 1fr ; }
642- .eks-post-row { grid-template-columns : 80px 1fr ; }
666+ .eks-post-row { grid-template-columns : 64px 1fr ; gap : 20px ; }
667+ .eks-post-main { min-width : 0 ; }
668+ .eks-post-tags { flex-wrap : wrap; }
643669 .eks-post-aside { display : none; }
644670 .eks-advisory-row { grid-template-columns : 80px 1fr ; gap : 12px ; }
645671 .eks-advisory-row .eks-advisory-sev , .eks-advisory-row .eks-advisory-cve { display : none; }
@@ -650,6 +676,37 @@ body[data-density="compact"] .eks-post-main p { font-size: 13px; margin-bottom:
650676 .prd-section-grid { grid-template-columns : 1fr ; gap : 32px ; }
651677 .prd-aside { position : static; flex-direction : row; align-items : center; gap : 16px ; }
652678 .prd-section-icon { width : 64px ; height : 64px ; }
679+ /* Hover tooltip can't trigger on touch and its 280px box overflows the viewport */
680+ .prd-tag { cursor : default; }
681+ .prd-tag ::after { display : none; }
653682 .prd-name { font-size : 30px ; }
654683 .prd-features { grid-template-columns : 1fr ; }
684+ /* Fixed-column grids that would otherwise overflow narrow screens */
685+ .eks-compl-row { grid-template-columns : 1fr ; gap : 6px ; padding : 18px 22px ; }
686+ .eks-compl-deadline { text-align : left; }
687+ .eks-phase { grid-template-columns : 1fr ; gap : 6px ; padding : 18px 22px ; }
688+ .eks-phase-dur { text-align : left; }
689+ .eks-timeline-row { grid-template-columns : 1fr ; gap : 8px ; }
690+ .eks-svc-meta { grid-template-columns : repeat (2 , 1fr ); }
691+ .eks-post-body .severity-card { grid-template-columns : 1fr ; }
692+ }
693+
694+ /* ── PHONES ──────────────────────────────────── */
695+ @media (max-width : 560px ) {
696+ .page , .page-wide , .page-narrow { padding-left : 20px ; padding-right : 20px ; }
697+ .eks-hero { padding : 56px 0 64px ; }
698+ .eks-hero-h { font-size : 34px ; }
699+ .eks-hero-meta { grid-template-columns : 1fr 1fr ; gap : 20px ; }
700+ .eks-section { padding : 56px 0 ; }
701+ .eks-dark , .eks-cta { padding : 64px 0 ; }
702+ .eks-section-title { font-size : 28px ; }
703+ .eks-blog-hero h1 { font-size : 34px ; }
704+ .eks-sobre-hero h1 , .eks-svc-hero h1 { font-size : 30px ; }
705+ .eks-post-h1 { font-size : 27px ; }
706+ .eks-post-body h2 { font-size : 24px ; }
707+ .eks-cta-h { font-size : 26px ; }
708+ .eks-cta-actions { width : 100% ; }
709+ .eks-cta-actions .ef-btn { flex : 1 ; justify-content : center; }
710+ .eks-metric-val { font-size : 36px ; }
711+ .eks-foot-bottom { flex-direction : column; gap : 12px ; align-items : flex-start; }
655712}
0 commit comments