diff --git a/docs/index.html b/docs/index.html index 5fb692e..3939dea 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,10 +5,16 @@ Developer Tools Directory - TMHSDigital + + + + + + @@ -21,6 +27,9 @@ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} + /* Shared design tokens mirror site-template/tokens.css (the canonical + source). tests/test_design_tokens.py enforces the mirror. The themeable + --accent / --accent-light / --bg / --nav-bg are catalog-specific. */ :root{ --accent:#7c3aed;--accent-light:#a78bfa;--accent-glow:rgba(124,58,237,0.15); --bg:#0d1117;--bg2:#161b22;--bg3:#1c2128;--bg-hover:#22272e; @@ -30,27 +39,30 @@ --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif; --font-mono:'JetBrains Mono','Fira Code',Consolas,monospace; --radius:8px;--radius-lg:12px; + --hero-h1:2.5rem;--stat-size:1.75rem;--link-hover:#c4b5fd; } @media(prefers-color-scheme:light){ html:not([data-theme="dark"]){ --bg:#f6f8fa;--bg2:#ffffff;--bg3:#f0f2f5;--bg-hover:#e8ebef; - --border:#d0d7de;--text:#1f2328;--text-dim:#656d76;--text-muted:#8b949e; + --border:#d0d7de;--text:#1f2328;--text-dim:#656d76;--text-muted:#5b6470; --nav-bg:rgba(255,255,255,0.88);--accent-glow:rgba(124,58,237,0.08); } } [data-theme="light"]{ --bg:#f6f8fa;--bg2:#ffffff;--bg3:#f0f2f5;--bg-hover:#e8ebef; - --border:#d0d7de;--text:#1f2328;--text-dim:#656d76;--text-muted:#8b949e; + --border:#d0d7de;--text:#1f2328;--text-dim:#656d76;--text-muted:#5b6470; --nav-bg:rgba(255,255,255,0.88);--accent-glow:rgba(124,58,237,0.08); } html{scroll-behavior:smooth} body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh} a{color:var(--accent-light);text-decoration:none;transition:color .2s} - a:hover{color:#c4b5fd} + a:hover{color:var(--link-hover)} + /* Light mode: hovered links use the darker accent for WCAG AA contrast. */ [data-theme="light"] a{color:var(--accent)} - @media(prefers-color-scheme:light){html:not([data-theme="dark"]) a{color:var(--accent)}} + [data-theme="light"] a:hover{color:var(--accent)} + @media(prefers-color-scheme:light){html:not([data-theme="dark"]) a{color:var(--accent)}html:not([data-theme="dark"]) a:hover{color:var(--accent)}} /* NAV */ .nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 1.5rem} @@ -70,12 +82,12 @@ .hero{text-align:center;padding:4rem 1.5rem 3rem;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 70%,var(--bg) 100%);position:relative} .hero-inner{max-width:800px;margin:0 auto} .hero-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1.25rem;box-shadow:0 4px 24px rgba(0,0,0,.3);border:2px solid var(--border)} - .hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,var(--text),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} + .hero h1{font-size:var(--hero-h1);font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,var(--text),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} .hero p{font-size:1.125rem;color:var(--text-dim);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto} .stats-bar{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:1rem} .stat-item{text-align:center} - .stat-value{font-size:1.75rem;font-weight:700;color:var(--accent-light);font-family:var(--font-mono)} + .stat-value{font-size:var(--stat-size);font-weight:700;color:var(--accent-light);font-family:var(--font-mono)} .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em} .search-bar{max-width:480px;margin:0 auto 1.5rem;padding:0 1.5rem;position:relative} @@ -147,6 +159,8 @@ details.cat-group>.cat-body{overflow:hidden} .cat-body-anim{transition:max-height .25s ease,opacity .2s ease;overflow:hidden} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0} + .skip-link{position:absolute;left:.5rem;top:-3rem;z-index:300;background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;transition:top .15s} + .skip-link:focus{top:.5rem;color:#fff} /* TOAST */ .toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(100%);background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:.5rem 1.25rem;border-radius:8px;font-size:.8125rem;font-weight:500;opacity:0;transition:transform .3s,opacity .3s;z-index:200;pointer-events:none} @@ -198,6 +212,8 @@ + + +
+
@@ -317,6 +335,8 @@

Scaffold Generator

+
+