betterwithage commited on
Commit
62323f5
Β·
verified Β·
1 Parent(s): 5a826a8

Visual polish: additive CSS/motion/a11y/meta only; all visible copy frozen (text-diff verified). No JS/server.py/Dockerfile/.github/.compliance changes.

Browse files
Files changed (2) hide show
  1. assets/style.css +94 -0
  2. index.html +17 -0
assets/style.css CHANGED
@@ -296,6 +296,100 @@ section{scroll-margin-top:20px}
296
  .topbar{flex-wrap:wrap;gap:8px}
297
  }
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  /* ---- reduced motion ---- */
300
  @media (prefers-reduced-motion:reduce){
301
  *,*::before,*::after{animation-duration:.01ms !important;
 
296
  .topbar{flex-wrap:wrap;gap:8px}
297
  }
298
 
299
+ /* ============================================================================
300
+ * ADDITIVE PRESENTATION POLISH β€” motion, hover, focus, mobile
301
+ * Presentation only: no copy, no logic, no JS. Respects prefers-reduced-motion
302
+ * (the global reduce block below collapses every animation/transition to ~0ms,
303
+ * so all entrance keyframes settle instantly on their final, fully-visible state).
304
+ * The WebGL background (#sda-canvas) and #vignette are intentionally untouched.
305
+ * ==========================================================================*/
306
+
307
+ /* ---- entrance keyframes ---- */
308
+ @keyframes szl-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
309
+ @keyframes szl-pop{from{opacity:0;transform:translateY(14px) scale(.986)}to{opacity:1;transform:translateY(0) scale(1)}}
310
+ @keyframes szl-fade{from{opacity:0}to{opacity:1}}
311
+ @keyframes szl-sheen{0%,100%{background-position:0% center}50%{background-position:100% center}}
312
+
313
+ /* ---- hero entrance + gentle headline sheen ---- */
314
+ .hero .eyebrow{animation:szl-rise var(--dur-slow) var(--ease-out) both}
315
+ .hero .headline{background-size:220% auto;
316
+ animation:szl-rise 520ms var(--ease-out) 60ms both, szl-sheen 9s ease-in-out 800ms infinite}
317
+ .hero .hero-sub{animation:szl-rise 520ms var(--ease-out) 140ms both}
318
+ .hero .hero-tagline{animation:szl-rise 520ms var(--ease-out) 210ms both}
319
+ .hero .badge-strip{animation:szl-pop 560ms var(--ease-out) 280ms both}
320
+
321
+ /* ---- section header entrance ---- */
322
+ .sec .sec-eyebrow{animation:szl-rise 480ms var(--ease-out) both}
323
+ .sec .sec-title{animation:szl-rise 500ms var(--ease-out) 60ms both}
324
+ .sec .sec-lead{animation:szl-rise 500ms var(--ease-out) 120ms both}
325
+ .flow{animation:szl-fade 640ms var(--ease-out) 160ms both}
326
+
327
+ /* ---- staggered card / panel entrance ---- */
328
+ .grid-3 .card,.grid-2 > *{animation:szl-pop 560ms var(--ease-out) both}
329
+ .grid-3 .card:nth-child(1){animation-delay:60ms}
330
+ .grid-3 .card:nth-child(2){animation-delay:120ms}
331
+ .grid-3 .card:nth-child(3){animation-delay:180ms}
332
+ .grid-3 .card:nth-child(4){animation-delay:240ms}
333
+ .grid-3 .card:nth-child(5){animation-delay:300ms}
334
+ .grid-3 .card:nth-child(6){animation-delay:360ms}
335
+ .grid-2 > *:nth-child(2){animation-delay:120ms}
336
+ .fit-row{animation:szl-pop 520ms var(--ease-out) both}
337
+ .fit-row:nth-child(2){animation-delay:110ms}
338
+ .fit-row:nth-child(3){animation-delay:200ms}
339
+
340
+ /* ---- richer focus ring (additive, stronger than base) ---- */
341
+ a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
342
+ outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px;
343
+ box-shadow:0 0 0 4px rgba(61,214,255,.22)}
344
+
345
+ /* ---- hover interactions (pointer devices only) ---- */
346
+ @media (hover:hover){
347
+ .card,.fit-row,.visual-wrap,.node,.flow .chip,.tag,.conn-badge,.logo,
348
+ .cite a,.foot a,.receipt-row,.metrics tbody tr,.score-row,.live-pill,.roadmap-pill{
349
+ transition:transform var(--dur-base) var(--ease-out),
350
+ border-color var(--dur-base) var(--ease-out),
351
+ box-shadow var(--dur-base) var(--ease-out),
352
+ background-color var(--dur-base) var(--ease-out),
353
+ color var(--dur-fast) var(--ease-out)}
354
+
355
+ .card:hover{transform:translateY(-4px);
356
+ border-color:rgba(40,224,208,.42);
357
+ box-shadow:0 16px 52px rgba(0,0,0,.52),0 0 0 1px rgba(40,224,208,.16)}
358
+ .fit-row:hover{transform:translateY(-3px);
359
+ border-color:rgba(40,224,208,.36);
360
+ box-shadow:0 12px 40px rgba(0,0,0,.42)}
361
+ .visual-wrap:hover{border-color:rgba(40,224,208,.30)}
362
+ .node:hover{transform:translateX(3px);border-color:rgba(40,224,208,.36);
363
+ background:var(--glass)}
364
+ .flow .chip:hover{transform:translateY(-2px);border-color:rgba(40,224,208,.42);
365
+ box-shadow:0 8px 26px rgba(0,0,0,.4)}
366
+ .tag:hover{transform:translateY(-1px);filter:brightness(1.12)}
367
+ .conn-badge:hover{border-color:rgba(40,224,208,.42)}
368
+ .logo:hover{transform:rotate(-6deg) scale(1.05)}
369
+ .receipt-row:hover{background:rgba(40,224,208,.05)}
370
+ .metrics tbody tr:hover td{background:rgba(40,224,208,.05)}
371
+ .score-row:hover{border-color:rgba(40,224,208,.34)}
372
+ .live-pill:hover,.roadmap-pill:hover{filter:brightness(1.12)}
373
+ .cite a:hover,.foot a:hover{border-bottom-color:currentColor}
374
+ }
375
+
376
+ /* ---- pipeline dot pulse for extra life ---- */
377
+ .flow .chip .cdot{animation:szl-pulse-dot 2.6s var(--ease-out) infinite}
378
+ @keyframes szl-pulse-dot{0%,100%{opacity:1}50%{opacity:.5}}
379
+
380
+ /* ---- mobile refinements (additive) ---- */
381
+ @media (max-width:600px){
382
+ .hero{padding-top:clamp(14px,4vw,30px)}
383
+ .badge-strip{padding:13px;gap:7px}
384
+ .flow .chip{width:100%;justify-content:center}
385
+ .fit-row{padding:14px}
386
+ .visual-head{gap:8px}
387
+ }
388
+ @media (max-width:380px){
389
+ .brand-line1{letter-spacing:.22em}
390
+ .badge-strip{padding:11px}
391
+ }
392
+
393
  /* ---- reduced motion ---- */
394
  @media (prefers-reduced-motion:reduce){
395
  *,*::before,*::after{animation-duration:.01ms !important;
index.html CHANGED
@@ -5,7 +5,24 @@
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
  <title>SZL SDA β€” Sovereign Domain Superiority</title>
7
  <meta name="description" content="SZL SDA β€” sovereign domain superiority: multivariate + graph anomaly detection and multi-sensor track fusion into a Common Operating Picture, Lambda-gated advisory confidence, and a signed provenance receipt for every verdict. Air / maritime / counter-UAS live; orbital SDA roadmap. Clean-room from a permissive lineage; not affiliated with True Anomaly." />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  <link rel="icon" href="assets/favicon.svg" type="image/svg+xml" />
 
9
  <link rel="stylesheet" href="assets/style.css" />
10
  <!-- SOVEREIGN: 0 runtime CDN. three.js r160 (MIT) VENDORED locally under assets/. See assets/THREE_LICENSE.txt. -->
11
  <script type="importmap">
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
  <title>SZL SDA β€” Sovereign Domain Superiority</title>
7
  <meta name="description" content="SZL SDA β€” sovereign domain superiority: multivariate + graph anomaly detection and multi-sensor track fusion into a Common Operating Picture, Lambda-gated advisory confidence, and a signed provenance receipt for every verdict. Air / maritime / counter-UAS live; orbital SDA roadmap. Clean-room from a permissive lineage; not affiliated with True Anomaly." />
8
+ <meta name="theme-color" content="#04181B" />
9
+ <meta name="color-scheme" content="dark" />
10
+ <meta name="application-name" content="SZL SDA" />
11
+ <meta name="apple-mobile-web-app-capable" content="yes" />
12
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
13
+ <meta name="apple-mobile-web-app-title" content="SZL SDA" />
14
+ <meta name="format-detection" content="telephone=no" />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:site_name" content="SZL HOLDINGS" />
17
+ <meta property="og:title" content="SZL SDA β€” Sovereign Domain Superiority" />
18
+ <meta property="og:description" content="SZL SDA β€” sovereign domain superiority: multivariate + graph anomaly detection and multi-sensor track fusion into a Common Operating Picture, Lambda-gated advisory confidence, and a signed provenance receipt for every verdict. Air / maritime / counter-UAS live; orbital SDA roadmap. Clean-room from a permissive lineage; not affiliated with True Anomaly." />
19
+ <meta property="og:image" content="assets/favicon.svg" />
20
+ <meta name="twitter:card" content="summary" />
21
+ <meta name="twitter:title" content="SZL SDA β€” Sovereign Domain Superiority" />
22
+ <meta name="twitter:description" content="SZL SDA β€” sovereign domain superiority: multivariate + graph anomaly detection and multi-sensor track fusion into a Common Operating Picture, Lambda-gated advisory confidence, and a signed provenance receipt for every verdict. Air / maritime / counter-UAS live; orbital SDA roadmap. Clean-room from a permissive lineage; not affiliated with True Anomaly." />
23
+ <meta name="twitter:image" content="assets/favicon.svg" />
24
  <link rel="icon" href="assets/favicon.svg" type="image/svg+xml" />
25
+ <link rel="apple-touch-icon" href="assets/favicon.svg" />
26
  <link rel="stylesheet" href="assets/style.css" />
27
  <!-- SOVEREIGN: 0 runtime CDN. three.js r160 (MIT) VENDORED locally under assets/. See assets/THREE_LICENSE.txt. -->
28
  <script type="importmap">