|
33 | 33 | img{max-width:100%;display:block} |
34 | 34 |
|
35 | 35 | /* ===== NAV BAR ===== */ |
36 | | -.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(0,0,153,.95);backdrop-filter:blur(8px);border-bottom:3px solid var(--impuls-orange);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff} |
| 36 | +.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(0,0,153,.97);border-bottom:3px solid var(--impuls-orange);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff} |
37 | 37 | .nav-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.1rem} |
38 | 38 | .nav-subtitle{font-size:.75rem;opacity:.7;font-family:'JetBrains Mono',monospace} |
39 | 39 | .nav-right{display:flex;align-items:center;gap:16px} |
|
60 | 60 | section.bg-alt .module-num{color:var(--tiefenblau);opacity:.05} |
61 | 61 |
|
62 | 62 | /* ===== ANIMATE IN ===== */ |
63 | | -.anim{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease} |
| 63 | +.anim{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(0.25,1,0.5,1),transform .7s cubic-bezier(0.25,1,0.5,1)} |
64 | 64 | .anim.visible{opacity:1;transform:translateY(0)} |
65 | 65 | .anim-delay-1{transition-delay:.1s} |
66 | 66 | .anim-delay-2{transition-delay:.2s} |
|
93 | 93 | .card h3{font-size:1.15rem;margin-bottom:12px;font-weight:700} |
94 | 94 | .card ul{list-style:none;padding:0} |
95 | 95 | .card ul li{padding:4px 0;font-size:.9rem;position:relative;padding-left:20px} |
96 | | -.card ul li::before{content:'›';position:absolute;left:0;color:var(--impuls-orange);font-weight:700;font-size:1.1rem} |
| 96 | +.card ul li::before{content:'–';position:absolute;left:0;color:var(--impuls-orange);font-weight:700;font-size:1.1rem} |
97 | 97 | .card.border-orange{border-top-color:var(--impuls-orange)} |
98 | 98 | .card.border-green{border-top-color:var(--lang-green)} |
99 | 99 | .card.border-blue{border-top-color:var(--fw-blue)} |
|
105 | 105 | .pipe-step:hover,.pipe-step.active{background:var(--tiefenblau);color:#fff;transform:scale(1.05)} |
106 | 106 | .pipe-arrow{color:var(--impuls-orange);font-size:1.5rem;font-weight:700;margin:0 4px;flex-shrink:0} |
107 | 107 | .pipe-detail{background:#fff;border:1px solid #ddd;border-radius:10px;padding:20px 24px;margin-top:16px;display:none;font-size:.9rem;box-shadow:0 4px 16px rgba(0,0,0,.08)} |
108 | | -.pipe-detail.show{display:block;animation:fadeIn .3s ease} |
| 108 | +.pipe-detail.show{display:block;animation:fadeIn .3s cubic-bezier(0.25,1,0.5,1)} |
109 | 109 | @keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}} |
110 | 110 |
|
111 | 111 | /* ===== LAYER BARS ===== */ |
|
115 | 115 | .layer-bar .bar-label{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center} |
116 | 116 | .layer-bar .bar-count{font-family:'JetBrains Mono',monospace;font-size:.85rem;opacity:.8} |
117 | 117 | .layer-bar .bar-files{display:none;margin-top:12px;font-size:.85rem;font-family:'JetBrains Mono',monospace;line-height:1.8} |
118 | | -.layer-bar.expanded .bar-files{display:block;animation:fadeIn .3s ease} |
| 118 | +.layer-bar.expanded .bar-files{display:block;animation:fadeIn .3s cubic-bezier(0.25,1,0.5,1)} |
119 | 119 | .layer-bar .bar-chevron{transition:transform .3s} |
120 | 120 | .layer-bar.expanded .bar-chevron{transform:rotate(180deg)} |
121 | 121 |
|
|
125 | 125 | .lang-pills{display:flex;flex-wrap:wrap;gap:8px} |
126 | 126 | .lang-pill{padding:6px 16px;border-radius:20px;font-size:.8rem;font-weight:600;font-family:'JetBrains Mono',monospace;color:#fff;transition:transform .2s} |
127 | 127 | .lang-pill:hover{transform:scale(1.08)} |
128 | | -.lang-pill.systems{background:#E53E3E} |
| 128 | +.lang-pill.systems{background:#D32F2F} |
129 | 129 | .lang-pill.web{background:var(--impuls-orange)} |
130 | 130 | .lang-pill.backend{background:var(--lang-green)} |
131 | 131 | .lang-pill.data{background:var(--fw-blue)} |
132 | | -.lang-pill.config{background:#8B5CF6} |
| 132 | +.lang-pill.config{background:#5BE3D6} |
133 | 133 |
|
134 | 134 | /* ===== FRAMEWORK GRID ===== */ |
135 | 135 | .fw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px} |
|
162 | 162 | .score-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.05)} |
163 | 163 | .score-card h4{font-size:.95rem;margin-bottom:8px} |
164 | 164 | .score-bar-wrap{height:24px;background:#eee;border-radius:12px;overflow:hidden;margin-top:8px;position:relative} |
165 | | -.score-bar-fill{height:100%;border-radius:12px;transition:width 1s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.7rem;font-weight:700;color:#fff} |
| 165 | +.score-bar-fill{height:100%;border-radius:12px;transition:width 1s cubic-bezier(0.25,1,0.5,1);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.7rem;font-weight:700;color:#fff} |
166 | 166 |
|
167 | 167 | /* ===== KNOWLEDGE GRAPH (Module 8) ===== */ |
168 | 168 | .graph-section{padding-left:0;padding-right:0} |
|
178 | 178 | .graph-btn[data-layer="languages"].active{background:var(--lang-green)} |
179 | 179 | .graph-btn[data-layer="frameworks"]{border-color:var(--fw-blue);color:var(--fw-blue)} |
180 | 180 | .graph-btn[data-layer="frameworks"].active{background:var(--fw-blue)} |
181 | | -.graph-btn[data-layer="meta"]{border-color:#999;color:#999} |
182 | | -.graph-btn[data-layer="meta"].active{background:#999} |
| 181 | +.graph-btn[data-layer="meta"]{border-color:#9E9790;color:#9E9790} |
| 182 | +.graph-btn[data-layer="meta"].active{background:#9E9790} |
183 | 183 | .graph-canvas-wrap{position:relative;width:100%;height:70vh;min-height:500px;background:#fafafa;border-top:1px solid #eee;border-bottom:1px solid #eee} |
184 | 184 | #graphCanvas{width:100%;height:100%;cursor:grab;display:block} |
185 | 185 | #graphCanvas:active{cursor:grabbing} |
|
212 | 212 | .pyramid-level{width:100%!important} |
213 | 213 | .hero-links{grid-template-columns:1fr} |
214 | 214 | } |
| 215 | + |
| 216 | +/* === A11Y: Reduced Motion === */ |
| 217 | +@media(prefers-reduced-motion:reduce){ |
| 218 | + *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important} |
| 219 | + html{scroll-snap-type:none !important;scroll-behavior:auto !important} |
| 220 | +} |
| 221 | + |
| 222 | +/* === A11Y: Focus Visible === */ |
| 223 | +*:focus-visible{outline:2px solid var(--impuls-orange,#FE8F11);outline-offset:2px;border-radius:4px} |
| 224 | +button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none} |
215 | 225 | </style> |
216 | 226 | </head> |
217 | 227 | <body> |
@@ -421,7 +431,7 @@ <h2>Interaktiver Knowledge Graph</h2> |
421 | 431 | <div class="legend-item"><div class="legend-dot" style="background:var(--impuls-orange)"></div>Agents</div> |
422 | 432 | <div class="legend-item"><div class="legend-dot" style="background:var(--lang-green)"></div>Languages</div> |
423 | 433 | <div class="legend-item"><div class="legend-dot" style="background:var(--fw-blue)"></div>Frameworks</div> |
424 | | - <div class="legend-item"><div class="legend-dot" style="background:#999"></div>Meta</div> |
| 434 | + <div class="legend-item"><div class="legend-dot" style="background:#9E9790"></div>Meta</div> |
425 | 435 | </div> |
426 | 436 | </div> |
427 | 437 | </section> |
@@ -548,7 +558,7 @@ <h2>Interaktiver Knowledge Graph</h2> |
548 | 558 | {name:'Agents',count:8,color:'var(--impuls-orange)',width:'85%',files:['project-scanner.md','file-analyzer.md','assemble-reviewer.md','architecture-analyzer.md','domain-analyzer.md','tour-builder.md','graph-reviewer.md','knowledge-graph-guide.md']}, |
549 | 559 | {name:'Language Support',count:23,color:'var(--lang-green)',width:'70%',files:['rust.md','go.md','cpp.md','csharp.md','javascript.md','typescript.md','html.md','css.md','python.md','java.md','ruby.md','php.md','kotlin.md','swift.md','sql.md','graphql.md','protobuf.md','json.md','yaml.md','terraform.md','dockerfile.md','shell.md','markdown.md']}, |
550 | 560 | {name:'Framework Support',count:10,color:'var(--fw-blue)',width:'55%',files:['react.md','vue.md','nextjs.md','express.md','fastapi.md','flask.md','django.md','spring.md','rails.md','gin.md']}, |
551 | | - {name:'Meta',count:1,color:'#999',width:'30%',files:['LICENSE']} |
| 561 | + {name:'Meta',count:1,color:'#9E9790',width:'30%',files:['LICENSE']} |
552 | 562 | ]; |
553 | 563 |
|
554 | 564 | /* ===================================================================== |
@@ -615,7 +625,7 @@ <h2>Interaktiver Knowledge Graph</h2> |
615 | 625 | const bar = document.createElement('div'); |
616 | 626 | bar.className = 'layer-bar'; |
617 | 627 | bar.style.cssText = `background:${layer.color};width:${layer.width}`; |
618 | | - if(layer.color === '#999' || layer.color === 'var(--impuls-orange)') bar.style.color = '#fff'; |
| 628 | + if(layer.color === '#9E9790' || layer.color === 'var(--impuls-orange)') bar.style.color = '#fff'; |
619 | 629 | bar.innerHTML = ` |
620 | 630 | <div class="bar-label"> |
621 | 631 | <span>${layer.name}</span> |
@@ -831,7 +841,7 @@ <h4>${th.name}</h4> |
831 | 841 | agents:'#FE8F11', |
832 | 842 | languages:'#84C041', |
833 | 843 | frameworks:'#1195EB', |
834 | | - meta:'#999999' |
| 844 | + meta:'#9E9790' |
835 | 845 | }; |
836 | 846 | const COMPLEXITY_RADIUS = {simple:8, moderate:13, complex:20}; |
837 | 847 |
|
|
0 commit comments