summaryrefslogtreecommitdiffstats
path: root/public/css
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-05 09:52:36 +0200
committerDanilo M. <danix@danix.xyz>2026-04-05 09:52:36 +0200
commit25b879bd290528adfb47b0042749305a6a408800 (patch)
tree22048174696683141c5eaf00a6a4aee34ce8a244 /public/css
parent123b15e442a5a2bd2d73fb9d32cdded69a28f109 (diff)
downloaddanixxyz-theme-25b879bd290528adfb47b0042749305a6a408800.tar.gz
danixxyz-theme-25b879bd290528adfb47b0042749305a6a408800.zip
fix: resolve matrix rain opacity, menu styling, and featured articles
Issues fixed: 1. Added missing header.css and footer.css imports to main.css (fixes unstyled menu) 2. Increased matrix rain canvas opacity (0.13→0.25, 0.18→0.35) for better visibility 3. Updated home.html to display featured articles first, then latest 3 4. Removed invalid pseudo-element CSS rule on canvas element The form on /is/here should now be visible, menu properly styled, and matrix rain more prominent. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'public/css')
-rw-r--r--public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css1
-rw-r--r--public/css/main.3abe95debec71c071dca144ff88e0ce1f7c17e0c6cc9f1a0138ae45683de8c86.css1
-rw-r--r--public/css/main.5c9869e05d53e10d15258a314b452f5a95242f4e39dd052c90b7d7b5619c40c4.css1
-rw-r--r--public/css/main.8337d7f7e0fbf6083195dbb6bd8ad102187face3b194ff449dc78376ca12e014.css1
-rw-r--r--public/css/main.css763
-rw-r--r--public/css/main.css.map1
6 files changed, 768 insertions, 0 deletions
diff --git a/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css b/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css
new file mode 100644
index 0000000..4d80946
--- /dev/null
+++ b/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css
@@ -0,0 +1 @@
+header{border-bottom:1px solid #222;margin-bottom:1rem}footer{border-top:1px solid #222;margin-top:1rem}body{color:#222;font-family:sans-serif;line-height:1.5;margin:1rem;max-width:768px}a{color:#00e;text-decoration:none}
diff --git a/public/css/main.3abe95debec71c071dca144ff88e0ce1f7c17e0c6cc9f1a0138ae45683de8c86.css b/public/css/main.3abe95debec71c071dca144ff88e0ce1f7c17e0c6cc9f1a0138ae45683de8c86.css
new file mode 100644
index 0000000..14496ee
--- /dev/null
+++ b/public/css/main.3abe95debec71c071dca144ff88e0ce1f7c17e0c6cc9f1a0138ae45683de8c86.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300&family=Oxanium:wght@700;800&display=swap";:root{--bg: #060b10;--bg2: #0c1520;--surface: #101e2d;--border: #182840;--accent: #a855f7;--accent2: #00ff88;--text: #c4d6e8;--text-dim: #7a9bb8;--muted: #304860;--color-tech: #a855f7;--color-life: #f59e0b;--color-quote: #00ff88;--color-link: #38bdf8;--color-photo: #ec4899;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-head: "Oxanium", sans-serif;--fs-body: .95rem;--fs-nav: .8rem;--fs-badge: .7rem;--fs-btn: .8rem;--fs-h3: 1.5rem;--fs-h2: clamp(1.7rem, 6vw, 3rem);--container-max: 1080px;--container-narrow: 768px;--gap-sm: .5rem;--gap-md: 1.5rem;--gap-lg: 2.5rem;--gap-xl: 4rem;--section-py-mobile: 4rem;--section-py-desktop: 6rem;--card-px-mobile: 1.5rem;--card-px-desktop: 2rem;--transition: all .2s ease;--transition-slow: all .75s cubic-bezier(.16,1,.3,1)}html.theme-light{--bg: #f0f4f8;--bg2: #e2eaf4;--surface: #d4dff0;--border: #a8bdd8;--accent: #7c3aed;--accent2: #008f5a;--text: #0d1b2a;--text-dim: #2e4a6a;--muted: #6888a8}@media(max-width:479px){:root{--bp: "mobile"}}@media(min-width:480px){:root{--bp: "sm"}}@media(min-width:768px){:root{--bp: "md"}}@media(min-width:1200px){:root{--bp: "lg"}}html{font-size:17px;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.95;transition:background-color .2s,color .2s}h1{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin-bottom:.5rem}h2{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin:2rem 0 1rem}h3{font-family:var(--font-head);font-size:var(--fs-h3);font-weight:800;line-height:1.2;margin:1.5rem 0 .75rem}h4,h5,h6{font-family:var(--font-head);font-weight:800;margin:1rem 0 .5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent2)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.5rem}main{min-height:calc(100vh - 200px)}ul,ol{margin-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.5rem}code{font-family:var(--font-mono);background:var(--surface);padding:.25rem .5rem;border-radius:4px;font-size:.9em}pre{margin-bottom:1rem;overflow-x:auto}pre code{padding:0;background:none;border-radius:0}:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus,a:focus{outline:2px dashed var(--accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
diff --git a/public/css/main.5c9869e05d53e10d15258a314b452f5a95242f4e39dd052c90b7d7b5619c40c4.css b/public/css/main.5c9869e05d53e10d15258a314b452f5a95242f4e39dd052c90b7d7b5619c40c4.css
new file mode 100644
index 0000000..47a344e
--- /dev/null
+++ b/public/css/main.5c9869e05d53e10d15258a314b452f5a95242f4e39dd052c90b7d7b5619c40c4.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300&family=Oxanium:wght@700;800&display=swap";:root{--bg: #060b10;--bg2: #0c1520;--surface: #101e2d;--border: #182840;--accent: #a855f7;--accent2: #00ff88;--text: #c4d6e8;--text-dim: #7a9bb8;--muted: #304860;--color-tech: #a855f7;--color-life: #f59e0b;--color-quote: #00ff88;--color-link: #38bdf8;--color-photo: #ec4899;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-head: "Oxanium", sans-serif;--fs-body: .95rem;--fs-nav: .8rem;--fs-badge: .7rem;--fs-btn: .8rem;--fs-h3: 1.5rem;--fs-h2: clamp(1.7rem, 6vw, 3rem);--container-max: 1080px;--container-narrow: 768px;--gap-sm: .5rem;--gap-md: 1.5rem;--gap-lg: 2.5rem;--gap-xl: 4rem;--section-py-mobile: 4rem;--section-py-desktop: 6rem;--card-px-mobile: 1.5rem;--card-px-desktop: 2rem;--transition: all .2s ease;--transition-slow: all .75s cubic-bezier(.16,1,.3,1)}html.theme-light{--bg: #f0f4f8;--bg2: #e2eaf4;--surface: #d4dff0;--border: #a8bdd8;--accent: #7c3aed;--accent2: #008f5a;--text: #0d1b2a;--text-dim: #2e4a6a;--muted: #6888a8}@media(max-width:479px){:root{--bp: "mobile"}}@media(min-width:480px){:root{--bp: "sm"}}@media(min-width:768px){:root{--bp: "md"}}@media(min-width:1200px){:root{--bp: "lg"}}.hero{position:relative;overflow:hidden;padding:var(--section-py-mobile) 1.5rem;background:var(--bg);border-bottom:1px solid var(--border)}@media(min-width:768px){.hero{padding:var(--section-py-desktop) 1.5rem}}#matrix-canvas{position:absolute;inset:0;opacity:.13;pointer-events:none}html.theme-light #matrix-canvas{opacity:.18}.hero-content{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;gap:var(--gap-lg)}.hero-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.4rem;font-weight:800;color:#fff}@media(min-width:768px){.hero-avatar{width:80px;height:80px;font-size:1.8rem}}.hero-text h1{margin-bottom:.25rem}.hero-role{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}.hero-bio{color:var(--text-dim);font-size:.95rem;line-height:1.8;max-width:400px}#matrix-canvas:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none}.hero:before{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}@media(max-width:768px){.hero-content{flex-direction:column;text-align:center}.hero-bio{max-width:100%}}html{font-size:17px;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.95;transition:background-color .2s,color .2s}h1{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin-bottom:.5rem}h2{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin:2rem 0 1rem}h3{font-family:var(--font-head);font-size:var(--fs-h3);font-weight:800;line-height:1.2;margin:1.5rem 0 .75rem}h4,h5,h6{font-family:var(--font-head);font-weight:800;margin:1rem 0 .5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent2)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.5rem}main{min-height:calc(100vh - 200px)}ul,ol{margin-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.5rem}code{font-family:var(--font-mono);background:var(--surface);padding:.25rem .5rem;border-radius:4px;font-size:.9em}pre{margin-bottom:1rem;overflow-x:auto}pre code{padding:0;background:none;border-radius:0}:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus,a:focus{outline:2px dashed var(--accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
diff --git a/public/css/main.8337d7f7e0fbf6083195dbb6bd8ad102187face3b194ff449dc78376ca12e014.css b/public/css/main.8337d7f7e0fbf6083195dbb6bd8ad102187face3b194ff449dc78376ca12e014.css
new file mode 100644
index 0000000..055b01b
--- /dev/null
+++ b/public/css/main.8337d7f7e0fbf6083195dbb6bd8ad102187face3b194ff449dc78376ca12e014.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300&family=Oxanium:wght@700;800&display=swap";:root{--bg: #060b10;--bg2: #0c1520;--surface: #101e2d;--border: #182840;--accent: #a855f7;--accent2: #00ff88;--text: #c4d6e8;--text-dim: #7a9bb8;--muted: #304860;--color-tech: #a855f7;--color-life: #f59e0b;--color-quote: #00ff88;--color-link: #38bdf8;--color-photo: #ec4899;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-head: "Oxanium", sans-serif;--fs-body: .95rem;--fs-nav: .8rem;--fs-badge: .7rem;--fs-btn: .8rem;--fs-h3: 1.5rem;--fs-h2: clamp(1.7rem, 6vw, 3rem);--container-max: 1080px;--container-narrow: 768px;--gap-sm: .5rem;--gap-md: 1.5rem;--gap-lg: 2.5rem;--gap-xl: 4rem;--section-py-mobile: 4rem;--section-py-desktop: 6rem;--card-px-mobile: 1.5rem;--card-px-desktop: 2rem;--transition: all .2s ease;--transition-slow: all .75s cubic-bezier(.16,1,.3,1)}html.theme-light{--bg: #f0f4f8;--bg2: #e2eaf4;--surface: #d4dff0;--border: #a8bdd8;--accent: #7c3aed;--accent2: #008f5a;--text: #0d1b2a;--text-dim: #2e4a6a;--muted: #6888a8}@media(max-width:479px){:root{--bp: "mobile"}}@media(min-width:480px){:root{--bp: "sm"}}@media(min-width:768px){:root{--bp: "md"}}@media(min-width:1200px){:root{--bp: "lg"}}.hero{position:relative;overflow:hidden;padding:var(--section-py-mobile) 1.5rem;background:var(--bg);border-bottom:1px solid var(--border)}@media(min-width:768px){.hero{padding:var(--section-py-desktop) 1.5rem}}#matrix-canvas{position:absolute;inset:0;opacity:.13;pointer-events:none}html.theme-light #matrix-canvas{opacity:.18}.hero-content{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;gap:var(--gap-lg)}.hero-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.4rem;font-weight:800;color:#fff}@media(min-width:768px){.hero-avatar{width:80px;height:80px;font-size:1.8rem}}.hero-text h1{margin-bottom:.25rem}.hero-role{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}.hero-bio{color:var(--text-dim);font-size:.95rem;line-height:1.8;max-width:400px}#matrix-canvas:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none}.hero:before{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}@media(max-width:768px){.hero-content{flex-direction:column;text-align:center}.hero-bio{max-width:100%}}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:var(--transition);display:flex;gap:var(--gap-md)}.post-card:hover{border-color:var(--accent);box-shadow:0 0 20px #a855f733}.post-card-image{width:120px;height:100px;flex-shrink:0;object-fit:cover;background:linear-gradient(135deg,var(--border),var(--bg2));border-right:1px solid var(--border)}@media(min-width:768px){.post-card-image{width:160px;height:120px}}.post-card-body{padding:var(--gap-md);display:flex;flex-direction:column;justify-content:center;flex-grow:1}.post-type-badge{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-badge);font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.35rem .7rem;border-radius:20px;margin-bottom:.5rem;width:fit-content}.post-type-badge.tech{background:color-mix(in srgb,var(--color-tech) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-tech) 30%,transparent);color:var(--color-tech)}.post-type-badge.life{background:color-mix(in srgb,var(--color-life) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-life) 30%,transparent);color:var(--color-life)}.post-type-badge.quote{background:color-mix(in srgb,var(--color-quote) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-quote) 30%,transparent);color:var(--color-quote)}.post-type-badge.link{background:color-mix(in srgb,var(--color-link) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-link) 30%,transparent);color:var(--color-link)}.post-type-badge.photo{background:color-mix(in srgb,var(--color-photo) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-photo) 30%,transparent);color:var(--color-photo)}.post-card-title{font-family:var(--font-head);font-size:1.1rem;font-weight:700;line-height:1.3;margin-bottom:.5rem;color:var(--text)}.post-card-title a{color:var(--text);text-decoration:none}.post-card-title a:hover{color:var(--accent)}.post-card-excerpt{color:var(--text-dim);font-size:.9rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.5rem}.post-card-meta{display:flex;gap:1rem;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.post-card.featured{grid-row:span 2}.post-card.featured .post-card-image{width:100%;height:180px;border-right:none;border-bottom:1px solid var(--border)}.post-card.featured .post-card-body{padding:var(--gap-lg)}@media(max-width:768px){.post-card{flex-direction:column}.post-card-image{width:100%;height:150px;border-right:none;border-bottom:1px solid var(--border)}.post-card.featured .post-card-image{height:150px}}.feed-section{padding:var(--section-py-mobile) 0}@media(min-width:768px){.feed-section{padding:var(--section-py-desktop) 0}}.feed-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap-md);margin-bottom:var(--gap-xl)}@media(min-width:768px){.feed-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.feed-grid{grid-template-columns:repeat(3,1fr)}}.feed-list{display:flex;flex-direction:column;gap:var(--gap-md)}.feed-list .post-card{flex-direction:row}.filter-bar{display:flex;gap:var(--gap-sm);margin-bottom:var(--gap-lg);flex-wrap:wrap}.filter-btn{font-family:var(--font-mono);font-size:var(--fs-badge);padding:.4rem 1rem;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:var(--transition)}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.feed-cta{display:inline-block;padding:.75rem 1.5rem;background:var(--accent);color:#fff;border-radius:4px;font-family:var(--font-mono);font-size:var(--fs-btn);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;transition:var(--transition)}.feed-cta:hover{background:var(--accent2);color:var(--bg)}pre{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:1rem;overflow-x:auto;position:relative;margin:1.5rem 0}pre code{font-family:var(--font-mono);font-size:.9rem;line-height:1.6;color:var(--text)}.highlight{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:1rem;overflow-x:auto;margin:1.5rem 0;position:relative}.highlight code{background:none;padding:0;border-radius:0;color:inherit}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr{color:#f59e0b}.highlight .kt{color:#a855f7}.highlight .n{color:#c4d6e8}.highlight .na,.highlight .nb{color:#38bdf8}.highlight .nc{color:#a855f7}.highlight .no{color:#0f8}.highlight .nd{color:#f59e0b}.highlight .ni{color:#a855f7}.highlight .ne{color:#f59e0b}.highlight .nf{color:#38bdf8}.highlight .nl,.highlight .nn{color:#a855f7}.highlight .nt{color:#f59e0b}.highlight .nv{color:#c4d6e8}.highlight .s,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .s1,.highlight .s2{color:#0f8}.highlight .se{color:#f59e0b}.highlight .sh{color:#0f8}.highlight .si{color:#f59e0b}.highlight .sx,.highlight .sr,.highlight .ss{color:#0f8}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo{color:#38bdf8}.highlight .o{color:#c4d6e8}.highlight .ow{color:#a855f7}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm{color:#7a9bb8}.highlight .cp,.highlight .cpf{color:#f59e0b}html.theme-light .highlight{background:var(--surface);border-left-color:var(--accent)}html.theme-light .highlight .c{color:#6a7fa0}.code-copy-btn{position:absolute;top:.75rem;right:.75rem;background:var(--accent);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;font-family:var(--font-mono);font-size:.75rem;cursor:pointer;opacity:0;transition:var(--transition);text-transform:uppercase;letter-spacing:.08em}.highlight:hover .code-copy-btn,pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:var(--accent2);color:var(--bg)}.code-copy-btn.copied{background:var(--accent2)}code{font-family:var(--font-mono);background:var(--surface);padding:.25rem .5rem;border-radius:4px;font-size:.9em;color:var(--accent2)}p code{border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.reading-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0%;z-index:200;transition:width .1s ease-out}.article-page .reading-progress,.page-page .reading-progress{display:block}body:not(.scrollable) .reading-progress{display:none}html{font-size:17px;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.95;transition:background-color .2s,color .2s}h1{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin-bottom:.5rem}h2{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:800;line-height:1.1;margin:2rem 0 1rem}h3{font-family:var(--font-head);font-size:var(--fs-h3);font-weight:800;line-height:1.2;margin:1.5rem 0 .75rem}h4,h5,h6{font-family:var(--font-head);font-weight:800;margin:1rem 0 .5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent2)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.5rem}main{min-height:calc(100vh - 200px)}ul,ol{margin-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.5rem}code{font-family:var(--font-mono);background:var(--surface);padding:.25rem .5rem;border-radius:4px;font-size:.9em}pre{margin-bottom:1rem;overflow-x:auto}pre code{padding:0;background:none;border-radius:0}:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus,a:focus{outline:2px dashed var(--accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
diff --git a/public/css/main.css b/public/css/main.css
new file mode 100644
index 0000000..62ed94d
--- /dev/null
+++ b/public/css/main.css
@@ -0,0 +1,763 @@
+@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300&family=Oxanium:wght@700;800&display=swap";
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/variables.css */
+:root {
+ --bg: #060b10;
+ --bg2: #0c1520;
+ --surface: #101e2d;
+ --border: #182840;
+ --accent: #a855f7;
+ --accent2: #00ff88;
+ --text: #c4d6e8;
+ --text-dim: #7a9bb8;
+ --muted: #304860;
+ --color-tech: #a855f7;
+ --color-life: #f59e0b;
+ --color-quote: #00ff88;
+ --color-link: #38bdf8;
+ --color-photo: #ec4899;
+ --font-body:
+ "IBM Plex Sans",
+ system-ui,
+ sans-serif;
+ --font-mono:
+ "JetBrains Mono",
+ "Courier New",
+ monospace;
+ --font-head: "Oxanium", sans-serif;
+ --fs-body: 0.95rem;
+ --fs-nav: 0.8rem;
+ --fs-badge: 0.7rem;
+ --fs-btn: 0.8rem;
+ --fs-h3: 1.5rem;
+ --fs-h2: clamp(1.7rem, 6vw, 3rem);
+ --container-max: 1080px;
+ --container-narrow: 768px;
+ --gap-sm: 0.5rem;
+ --gap-md: 1.5rem;
+ --gap-lg: 2.5rem;
+ --gap-xl: 4rem;
+ --section-py-mobile: 4rem;
+ --section-py-desktop: 6rem;
+ --card-px-mobile: 1.5rem;
+ --card-px-desktop: 2rem;
+ --transition: all 0.2s ease;
+ --transition-slow: all 0.75s cubic-bezier(0.16,1,0.3,1);
+}
+html.theme-light {
+ --bg: #f0f4f8;
+ --bg2: #e2eaf4;
+ --surface: #d4dff0;
+ --border: #a8bdd8;
+ --accent: #7c3aed;
+ --accent2: #008f5a;
+ --text: #0d1b2a;
+ --text-dim: #2e4a6a;
+ --muted: #6888a8;
+}
+@media (max-width: 479px) {
+ :root {
+ --bp: "mobile";
+ }
+}
+@media (min-width: 480px) {
+ :root {
+ --bp: "sm";
+ }
+}
+@media (min-width: 768px) {
+ :root {
+ --bp: "md";
+ }
+}
+@media (min-width: 1200px) {
+ :root {
+ --bp: "lg";
+ }
+}
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/hero.css */
+.hero {
+ position: relative;
+ overflow: hidden;
+ padding: var(--section-py-mobile) 1.5rem;
+ background: var(--bg);
+ border-bottom: 1px solid var(--border);
+}
+@media (min-width: 768px) {
+ .hero {
+ padding: var(--section-py-desktop) 1.5rem;
+ }
+}
+#matrix-canvas {
+ position: absolute;
+ inset: 0;
+ opacity: 0.13;
+ pointer-events: none;
+}
+html.theme-light #matrix-canvas {
+ opacity: 0.18;
+}
+.hero-content {
+ position: relative;
+ z-index: 1;
+ max-width: var(--container-max);
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ gap: var(--gap-lg);
+}
+.hero-avatar {
+ width: 64px;
+ height: 64px;
+ border-radius: 50%;
+ flex-shrink: 0;
+ background:
+ linear-gradient(
+ 135deg,
+ var(--accent),
+ var(--accent2));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-family: var(--font-head);
+ font-size: 1.4rem;
+ font-weight: 800;
+ color: #fff;
+}
+@media (min-width: 768px) {
+ .hero-avatar {
+ width: 80px;
+ height: 80px;
+ font-size: 1.8rem;
+ }
+}
+.hero-text h1 {
+ margin-bottom: 0.25rem;
+}
+.hero-role {
+ font-family: var(--font-mono);
+ font-size: 0.85rem;
+ color: var(--accent);
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+ margin-bottom: 0.75rem;
+}
+.hero-bio {
+ color: var(--text-dim);
+ font-size: 0.95rem;
+ line-height: 1.8;
+ max-width: 400px;
+}
+#matrix-canvas::after {
+ content: "";
+ position: absolute;
+ inset: 0;
+ background:
+ repeating-linear-gradient(
+ 0deg,
+ rgba(0, 0, 0, 0.15),
+ rgba(0, 0, 0, 0.15) 1px,
+ transparent 1px,
+ transparent 2px);
+ pointer-events: none;
+}
+.hero::before {
+ content: "";
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 600px;
+ height: 600px;
+ background:
+ radial-gradient(
+ circle,
+ rgba(168, 85, 247, 0.15) 0%,
+ transparent 70%);
+ transform: translate(-50%, -50%);
+ pointer-events: none;
+}
+@media (max-width: 768px) {
+ .hero-content {
+ flex-direction: column;
+ text-align: center;
+ }
+ .hero-bio {
+ max-width: 100%;
+ }
+}
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/card.css */
+.post-card {
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-radius: 8px;
+ overflow: hidden;
+ transition: var(--transition);
+ display: flex;
+ gap: var(--gap-md);
+}
+.post-card:hover {
+ border-color: var(--accent);
+ box-shadow: 0 0 20px rgba(168, 85, 247, 0.2);
+}
+.post-card-image {
+ width: 120px;
+ height: 100px;
+ flex-shrink: 0;
+ object-fit: cover;
+ background:
+ linear-gradient(
+ 135deg,
+ var(--border),
+ var(--bg2));
+ border-right: 1px solid var(--border);
+}
+@media (min-width: 768px) {
+ .post-card-image {
+ width: 160px;
+ height: 120px;
+ }
+}
+.post-card-body {
+ padding: var(--gap-md);
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ flex-grow: 1;
+}
+.post-type-badge {
+ display: inline-block;
+ font-family: var(--font-mono);
+ font-size: var(--fs-badge);
+ font-weight: 600;
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ padding: 0.35rem 0.7rem;
+ border-radius: 20px;
+ margin-bottom: 0.5rem;
+ width: fit-content;
+}
+.post-type-badge.tech {
+ background: color-mix(in srgb, var(--color-tech) 15%, transparent);
+ border: 1px solid color-mix(in srgb, var(--color-tech) 30%, transparent);
+ color: var(--color-tech);
+}
+.post-type-badge.life {
+ background: color-mix(in srgb, var(--color-life) 15%, transparent);
+ border: 1px solid color-mix(in srgb, var(--color-life) 30%, transparent);
+ color: var(--color-life);
+}
+.post-type-badge.quote {
+ background: color-mix(in srgb, var(--color-quote) 15%, transparent);
+ border: 1px solid color-mix(in srgb, var(--color-quote) 30%, transparent);
+ color: var(--color-quote);
+}
+.post-type-badge.link {
+ background: color-mix(in srgb, var(--color-link) 15%, transparent);
+ border: 1px solid color-mix(in srgb, var(--color-link) 30%, transparent);
+ color: var(--color-link);
+}
+.post-type-badge.photo {
+ background: color-mix(in srgb, var(--color-photo) 15%, transparent);
+ border: 1px solid color-mix(in srgb, var(--color-photo) 30%, transparent);
+ color: var(--color-photo);
+}
+.post-card-title {
+ font-family: var(--font-head);
+ font-size: 1.1rem;
+ font-weight: 700;
+ line-height: 1.3;
+ margin-bottom: 0.5rem;
+ color: var(--text);
+}
+.post-card-title a {
+ color: var(--text);
+ text-decoration: none;
+}
+.post-card-title a:hover {
+ color: var(--accent);
+}
+.post-card-excerpt {
+ color: var(--text-dim);
+ font-size: 0.9rem;
+ line-height: 1.6;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ margin-bottom: 0.5rem;
+}
+.post-card-meta {
+ display: flex;
+ gap: 1rem;
+ font-family: var(--font-mono);
+ font-size: 0.75rem;
+ color: var(--muted);
+ text-transform: uppercase;
+ letter-spacing: 0.08em;
+}
+.post-card.featured {
+ grid-row: span 2;
+}
+.post-card.featured .post-card-image {
+ width: 100%;
+ height: 180px;
+ border-right: none;
+ border-bottom: 1px solid var(--border);
+}
+.post-card.featured .post-card-body {
+ padding: var(--gap-lg);
+}
+@media (max-width: 768px) {
+ .post-card {
+ flex-direction: column;
+ }
+ .post-card-image {
+ width: 100%;
+ height: 150px;
+ border-right: none;
+ border-bottom: 1px solid var(--border);
+ }
+ .post-card.featured .post-card-image {
+ height: 150px;
+ }
+}
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/feed.css */
+.feed-section {
+ padding: var(--section-py-mobile) 0;
+}
+@media (min-width: 768px) {
+ .feed-section {
+ padding: var(--section-py-desktop) 0;
+ }
+}
+.feed-label {
+ font-family: var(--font-mono);
+ font-size: 0.75rem;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ color: var(--accent);
+ margin-bottom: 1.5rem;
+}
+.feed-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+ gap: var(--gap-md);
+ margin-bottom: var(--gap-xl);
+}
+@media (min-width: 768px) {
+ .feed-grid {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+@media (min-width: 1200px) {
+ .feed-grid {
+ grid-template-columns: repeat(3, 1fr);
+ }
+}
+.feed-list {
+ display: flex;
+ flex-direction: column;
+ gap: var(--gap-md);
+}
+.feed-list .post-card {
+ flex-direction: row;
+}
+.filter-bar {
+ display: flex;
+ gap: var(--gap-sm);
+ margin-bottom: var(--gap-lg);
+ flex-wrap: wrap;
+}
+.filter-btn {
+ font-family: var(--font-mono);
+ font-size: var(--fs-badge);
+ padding: 0.4rem 1rem;
+ border: 1px solid var(--border);
+ border-radius: 20px;
+ background: transparent;
+ color: var(--text-dim);
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ cursor: pointer;
+ transition: var(--transition);
+}
+.filter-btn:hover {
+ border-color: var(--accent);
+ color: var(--accent);
+}
+.filter-btn.active {
+ background: var(--accent);
+ color: #fff;
+ border-color: var(--accent);
+}
+.feed-cta {
+ display: inline-block;
+ padding: 0.75rem 1.5rem;
+ background: var(--accent);
+ color: #fff;
+ border-radius: 4px;
+ font-family: var(--font-mono);
+ font-size: var(--fs-btn);
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ text-decoration: none;
+ transition: var(--transition);
+}
+.feed-cta:hover {
+ background: var(--accent2);
+ color: var(--bg);
+}
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/code.css */
+pre {
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-left: 3px solid var(--accent);
+ border-radius: 6px;
+ padding: 1rem;
+ overflow-x: auto;
+ position: relative;
+ margin: 1.5rem 0;
+}
+pre code {
+ font-family: var(--font-mono);
+ font-size: 0.9rem;
+ line-height: 1.6;
+ color: var(--text);
+}
+.highlight {
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-left: 3px solid var(--accent);
+ border-radius: 6px;
+ padding: 1rem;
+ overflow-x: auto;
+ margin: 1.5rem 0;
+ position: relative;
+}
+.highlight code {
+ background: none;
+ padding: 0;
+ border-radius: 0;
+ color: inherit;
+}
+.highlight .k {
+ color: #f59e0b;
+}
+.highlight .kn {
+ color: #f59e0b;
+}
+.highlight .kp {
+ color: #f59e0b;
+}
+.highlight .kr {
+ color: #f59e0b;
+}
+.highlight .kt {
+ color: #a855f7;
+}
+.highlight .n {
+ color: #c4d6e8;
+}
+.highlight .na {
+ color: #38bdf8;
+}
+.highlight .nb {
+ color: #38bdf8;
+}
+.highlight .nc {
+ color: #a855f7;
+}
+.highlight .no {
+ color: #00ff88;
+}
+.highlight .nd {
+ color: #f59e0b;
+}
+.highlight .ni {
+ color: #a855f7;
+}
+.highlight .ne {
+ color: #f59e0b;
+}
+.highlight .nf {
+ color: #38bdf8;
+}
+.highlight .nl {
+ color: #a855f7;
+}
+.highlight .nn {
+ color: #a855f7;
+}
+.highlight .nt {
+ color: #f59e0b;
+}
+.highlight .nv {
+ color: #c4d6e8;
+}
+.highlight .s {
+ color: #00ff88;
+}
+.highlight .sa {
+ color: #00ff88;
+}
+.highlight .sb {
+ color: #00ff88;
+}
+.highlight .sc {
+ color: #00ff88;
+}
+.highlight .s1 {
+ color: #00ff88;
+}
+.highlight .s2 {
+ color: #00ff88;
+}
+.highlight .se {
+ color: #f59e0b;
+}
+.highlight .sh {
+ color: #00ff88;
+}
+.highlight .si {
+ color: #f59e0b;
+}
+.highlight .sx {
+ color: #00ff88;
+}
+.highlight .sr {
+ color: #00ff88;
+}
+.highlight .ss {
+ color: #00ff88;
+}
+.highlight .m {
+ color: #38bdf8;
+}
+.highlight .mb {
+ color: #38bdf8;
+}
+.highlight .mf {
+ color: #38bdf8;
+}
+.highlight .mh {
+ color: #38bdf8;
+}
+.highlight .mi {
+ color: #38bdf8;
+}
+.highlight .il {
+ color: #38bdf8;
+}
+.highlight .mo {
+ color: #38bdf8;
+}
+.highlight .o {
+ color: #c4d6e8;
+}
+.highlight .ow {
+ color: #a855f7;
+}
+.highlight .c {
+ color: #7a9bb8;
+}
+.highlight .c1 {
+ color: #7a9bb8;
+}
+.highlight .ch {
+ color: #7a9bb8;
+}
+.highlight .cm {
+ color: #7a9bb8;
+}
+.highlight .cp {
+ color: #f59e0b;
+}
+.highlight .cpf {
+ color: #f59e0b;
+}
+html.theme-light .highlight {
+ background: var(--surface);
+ border-left-color: var(--accent);
+}
+html.theme-light .highlight .c {
+ color: #6a7fa0;
+}
+.code-copy-btn {
+ position: absolute;
+ top: 0.75rem;
+ right: 0.75rem;
+ background: var(--accent);
+ color: #fff;
+ border: none;
+ padding: 0.4rem 0.8rem;
+ border-radius: 4px;
+ font-family: var(--font-mono);
+ font-size: 0.75rem;
+ cursor: pointer;
+ opacity: 0;
+ transition: var(--transition);
+ text-transform: uppercase;
+ letter-spacing: 0.08em;
+}
+.highlight:hover .code-copy-btn,
+pre:hover .code-copy-btn {
+ opacity: 1;
+}
+.code-copy-btn:hover {
+ background: var(--accent2);
+ color: var(--bg);
+}
+.code-copy-btn.copied {
+ background: var(--accent2);
+}
+code {
+ font-family: var(--font-mono);
+ background: var(--surface);
+ padding: 0.25rem 0.5rem;
+ border-radius: 4px;
+ font-size: 0.9em;
+ color: var(--accent2);
+}
+p code {
+ border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
+}
+
+/* ns-hugo-imp:/home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/progress-bar.css */
+.reading-progress {
+ position: fixed;
+ top: 0;
+ left: 0;
+ height: 3px;
+ background:
+ linear-gradient(
+ 90deg,
+ var(--accent),
+ var(--accent2));
+ width: 0%;
+ z-index: 200;
+ transition: width 0.1s ease-out;
+}
+.article-page .reading-progress,
+.page-page .reading-progress {
+ display: block;
+}
+body:not(.scrollable) .reading-progress {
+ display: none;
+}
+
+/* <stdin> */
+html {
+ font-size: 17px;
+ scroll-behavior: smooth;
+}
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+body {
+ background-color: var(--bg);
+ color: var(--text);
+ font-family: var(--font-body);
+ font-size: var(--fs-body);
+ line-height: 1.95;
+ transition: background-color 0.2s, color 0.2s;
+}
+h1 {
+ font-family: var(--font-head);
+ font-size: var(--fs-h2);
+ font-weight: 800;
+ line-height: 1.1;
+ margin-bottom: 0.5rem;
+}
+h2 {
+ font-family: var(--font-head);
+ font-size: var(--fs-h2);
+ font-weight: 800;
+ line-height: 1.1;
+ margin: 2rem 0 1rem;
+}
+h3 {
+ font-family: var(--font-head);
+ font-size: var(--fs-h3);
+ font-weight: 800;
+ line-height: 1.2;
+ margin: 1.5rem 0 0.75rem;
+}
+h4,
+h5,
+h6 {
+ font-family: var(--font-head);
+ font-weight: 800;
+ margin: 1rem 0 0.5rem;
+}
+p {
+ margin-bottom: 1rem;
+}
+a {
+ color: var(--accent);
+ text-decoration: none;
+ transition: var(--transition);
+}
+a:hover {
+ color: var(--accent2);
+}
+.container {
+ max-width: var(--container-max);
+ margin: 0 auto;
+ padding: 0 1.5rem;
+}
+.container-narrow {
+ max-width: var(--container-narrow);
+ margin: 0 auto;
+ padding: 0 1.5rem;
+}
+main {
+ min-height: calc(100vh - 200px);
+}
+ul,
+ol {
+ margin-left: 1.5rem;
+ margin-bottom: 1rem;
+}
+li {
+ margin-bottom: 0.5rem;
+}
+code {
+ font-family: var(--font-mono);
+ background: var(--surface);
+ padding: 0.25rem 0.5rem;
+ border-radius: 4px;
+ font-size: 0.9em;
+}
+pre {
+ margin-bottom: 1rem;
+ overflow-x: auto;
+}
+pre code {
+ padding: 0;
+ background: none;
+ border-radius: 0;
+}
+:focus {
+ outline: 2px solid var(--accent);
+ outline-offset: 2px;
+}
+button:focus,
+a:focus {
+ outline: 2px dashed var(--accent);
+ outline-offset: 4px;
+}
+@media (prefers-reduced-motion: reduce) {
+ * {
+ animation-duration: 0.01ms !important;
+ animation-iteration-count: 1 !important;
+ transition-duration: 0.01ms !important;
+ scroll-behavior: auto !important;
+ }
+}
+/*# sourceMappingURL=main.css.map */
diff --git a/public/css/main.css.map b/public/css/main.css.map
new file mode 100644
index 0000000..3009431
--- /dev/null
+++ b/public/css/main.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/variables.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/hero.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/card.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/feed.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/code.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/components/progress-bar.css","file:///home/danix/Programming/GIT/danix2-hugo-theme/assets/css/main.css"],"sourcesContent":["/* variables.css */\n\n:root {\n /* Dark theme colors (default) */\n --bg: #060b10;\n --bg2: #0c1520;\n --surface: #101e2d;\n --border: #182840;\n --accent: #a855f7;\n --accent2: #00ff88;\n --text: #c4d6e8;\n --text-dim: #7a9bb8;\n --muted: #304860;\n\n /* Type colors */\n --color-tech: #a855f7; /* purple */\n --color-life: #f59e0b; /* amber */\n --color-quote: #00ff88; /* green */\n --color-link: #38bdf8; /* cyan */\n --color-photo: #ec4899; /* pink */\n\n /* Typography */\n --font-body: 'IBM Plex Sans', system-ui, sans-serif;\n --font-mono: 'JetBrains Mono', 'Courier New', monospace;\n --font-head: 'Oxanium', sans-serif;\n\n /* Font sizes (base: 17px on html) */\n --fs-body: 0.95rem;\n --fs-nav: 0.8rem;\n --fs-badge: 0.7rem;\n --fs-btn: 0.8rem;\n --fs-h3: 1.5rem;\n --fs-h2: clamp(1.7rem, 6vw, 3rem);\n\n /* Layout */\n --container-max: 1080px;\n --container-narrow: 768px;\n --gap-sm: 0.5rem;\n --gap-md: 1.5rem;\n --gap-lg: 2.5rem;\n --gap-xl: 4rem;\n\n /* Spacing */\n --section-py-mobile: 4rem;\n --section-py-desktop: 6rem;\n --card-px-mobile: 1.5rem;\n --card-px-desktop: 2rem;\n\n /* Transitions */\n --transition: all 0.2s ease;\n --transition-slow: all 0.75s cubic-bezier(0.16,1,0.3,1);\n}\n\nhtml.theme-light {\n /* Light theme */\n --bg: #f0f4f8;\n --bg2: #e2eaf4;\n --surface: #d4dff0;\n --border: #a8bdd8;\n --accent: #7c3aed;\n --accent2: #008f5a;\n --text: #0d1b2a;\n --text-dim: #2e4a6a;\n --muted: #6888a8;\n}\n\n/* Breakpoints as CSS variables for reference */\n@media (max-width: 479px) {\n :root {\n --bp: \"mobile\";\n }\n}\n\n@media (min-width: 480px) {\n :root {\n --bp: \"sm\";\n }\n}\n\n@media (min-width: 768px) {\n :root {\n --bp: \"md\";\n }\n}\n\n@media (min-width: 1200px) {\n :root {\n --bp: \"lg\";\n }\n}\n","/* hero.css */\n.hero {\n position: relative;\n overflow: hidden;\n padding: var(--section-py-mobile) 1.5rem;\n background: var(--bg);\n border-bottom: 1px solid var(--border);\n}\n\n@media (min-width: 768px) {\n .hero {\n padding: var(--section-py-desktop) 1.5rem;\n }\n}\n\n#matrix-canvas {\n position: absolute;\n inset: 0;\n opacity: 0.13;\n pointer-events: none;\n}\n\nhtml.theme-light #matrix-canvas {\n opacity: 0.18;\n}\n\n.hero-content {\n position: relative;\n z-index: 1;\n max-width: var(--container-max);\n margin: 0 auto;\n display: flex;\n align-items: center;\n gap: var(--gap-lg);\n}\n\n.hero-avatar {\n width: 64px;\n height: 64px;\n border-radius: 50%;\n flex-shrink: 0;\n background: linear-gradient(135deg, var(--accent), var(--accent2));\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: var(--font-head);\n font-size: 1.4rem;\n font-weight: 800;\n color: #fff;\n}\n\n@media (min-width: 768px) {\n .hero-avatar {\n width: 80px;\n height: 80px;\n font-size: 1.8rem;\n }\n}\n\n.hero-text h1 {\n margin-bottom: 0.25rem;\n}\n\n.hero-role {\n font-family: var(--font-mono);\n font-size: 0.85rem;\n color: var(--accent);\n letter-spacing: 0.1em;\n text-transform: uppercase;\n margin-bottom: 0.75rem;\n}\n\n.hero-bio {\n color: var(--text-dim);\n font-size: 0.95rem;\n line-height: 1.8;\n max-width: 400px;\n}\n\n/* Scanlines effect on canvas */\n#matrix-canvas::after {\n content: '';\n position: absolute;\n inset: 0;\n background: repeating-linear-gradient(\n 0deg,\n rgba(0, 0, 0, 0.15),\n rgba(0, 0, 0, 0.15) 1px,\n transparent 1px,\n transparent 2px\n );\n pointer-events: none;\n}\n\n/* Ambient glow behind hero */\n.hero::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 600px;\n height: 600px;\n background: radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 70%);\n transform: translate(-50%, -50%);\n pointer-events: none;\n}\n\n@media (max-width: 768px) {\n .hero-content {\n flex-direction: column;\n text-align: center;\n }\n\n .hero-bio {\n max-width: 100%;\n }\n}\n","/* card.css */\n.post-card {\n background: var(--surface);\n border: 1px solid var(--border);\n border-radius: 8px;\n overflow: hidden;\n transition: var(--transition);\n display: flex;\n gap: var(--gap-md);\n}\n\n.post-card:hover {\n border-color: var(--accent);\n box-shadow: 0 0 20px rgba(168, 85, 247, 0.2);\n}\n\n.post-card-image {\n width: 120px;\n height: 100px;\n flex-shrink: 0;\n object-fit: cover;\n background: linear-gradient(135deg, var(--border), var(--bg2));\n border-right: 1px solid var(--border);\n}\n\n@media (min-width: 768px) {\n .post-card-image {\n width: 160px;\n height: 120px;\n }\n}\n\n.post-card-body {\n padding: var(--gap-md);\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-grow: 1;\n}\n\n.post-type-badge {\n display: inline-block;\n font-family: var(--font-mono);\n font-size: var(--fs-badge);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n padding: 0.35rem 0.7rem;\n border-radius: 20px;\n margin-bottom: 0.5rem;\n width: fit-content;\n}\n\n/* Type-specific badge colors */\n.post-type-badge.tech {\n background: color-mix(in srgb, var(--color-tech) 15%, transparent);\n border: 1px solid color-mix(in srgb, var(--color-tech) 30%, transparent);\n color: var(--color-tech);\n}\n\n.post-type-badge.life {\n background: color-mix(in srgb, var(--color-life) 15%, transparent);\n border: 1px solid color-mix(in srgb, var(--color-life) 30%, transparent);\n color: var(--color-life);\n}\n\n.post-type-badge.quote {\n background: color-mix(in srgb, var(--color-quote) 15%, transparent);\n border: 1px solid color-mix(in srgb, var(--color-quote) 30%, transparent);\n color: var(--color-quote);\n}\n\n.post-type-badge.link {\n background: color-mix(in srgb, var(--color-link) 15%, transparent);\n border: 1px solid color-mix(in srgb, var(--color-link) 30%, transparent);\n color: var(--color-link);\n}\n\n.post-type-badge.photo {\n background: color-mix(in srgb, var(--color-photo) 15%, transparent);\n border: 1px solid color-mix(in srgb, var(--color-photo) 30%, transparent);\n color: var(--color-photo);\n}\n\n.post-card-title {\n font-family: var(--font-head);\n font-size: 1.1rem;\n font-weight: 700;\n line-height: 1.3;\n margin-bottom: 0.5rem;\n color: var(--text);\n}\n\n.post-card-title a {\n color: var(--text);\n text-decoration: none;\n}\n\n.post-card-title a:hover {\n color: var(--accent);\n}\n\n.post-card-excerpt {\n color: var(--text-dim);\n font-size: 0.9rem;\n line-height: 1.6;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n margin-bottom: 0.5rem;\n}\n\n.post-card-meta {\n display: flex;\n gap: 1rem;\n font-family: var(--font-mono);\n font-size: 0.75rem;\n color: var(--muted);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n/* Featured card in grid */\n.post-card.featured {\n grid-row: span 2;\n}\n\n.post-card.featured .post-card-image {\n width: 100%;\n height: 180px;\n border-right: none;\n border-bottom: 1px solid var(--border);\n}\n\n.post-card.featured .post-card-body {\n padding: var(--gap-lg);\n}\n\n@media (max-width: 768px) {\n .post-card {\n flex-direction: column;\n }\n\n .post-card-image {\n width: 100%;\n height: 150px;\n border-right: none;\n border-bottom: 1px solid var(--border);\n }\n\n .post-card.featured .post-card-image {\n height: 150px;\n }\n}\n","/* feed.css */\n.feed-section {\n padding: var(--section-py-mobile) 0;\n}\n\n@media (min-width: 768px) {\n .feed-section {\n padding: var(--section-py-desktop) 0;\n }\n}\n\n.feed-label {\n font-family: var(--font-mono);\n font-size: 0.75rem;\n letter-spacing: 0.15em;\n text-transform: uppercase;\n color: var(--accent);\n margin-bottom: 1.5rem;\n}\n\n.feed-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: var(--gap-md);\n margin-bottom: var(--gap-xl);\n}\n\n@media (min-width: 768px) {\n .feed-grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1200px) {\n .feed-grid {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n.feed-list {\n display: flex;\n flex-direction: column;\n gap: var(--gap-md);\n}\n\n.feed-list .post-card {\n flex-direction: row;\n}\n\n/* Filter bar */\n.filter-bar {\n display: flex;\n gap: var(--gap-sm);\n margin-bottom: var(--gap-lg);\n flex-wrap: wrap;\n}\n\n.filter-btn {\n font-family: var(--font-mono);\n font-size: var(--fs-badge);\n padding: 0.4rem 1rem;\n border: 1px solid var(--border);\n border-radius: 20px;\n background: transparent;\n color: var(--text-dim);\n text-transform: uppercase;\n letter-spacing: 0.1em;\n cursor: pointer;\n transition: var(--transition);\n}\n\n.filter-btn:hover {\n border-color: var(--accent);\n color: var(--accent);\n}\n\n.filter-btn.active {\n background: var(--accent);\n color: #fff;\n border-color: var(--accent);\n}\n\n/* View all link */\n.feed-cta {\n display: inline-block;\n padding: 0.75rem 1.5rem;\n background: var(--accent);\n color: #fff;\n border-radius: 4px;\n font-family: var(--font-mono);\n font-size: var(--fs-btn);\n text-transform: uppercase;\n letter-spacing: 0.1em;\n text-decoration: none;\n transition: var(--transition);\n}\n\n.feed-cta:hover {\n background: var(--accent2);\n color: var(--bg);\n}\n","/* code.css */\npre {\n background: var(--surface);\n border: 1px solid var(--border);\n border-left: 3px solid var(--accent);\n border-radius: 6px;\n padding: 1rem;\n overflow-x: auto;\n position: relative;\n margin: 1.5rem 0;\n}\n\npre code {\n font-family: var(--font-mono);\n font-size: 0.9rem;\n line-height: 1.6;\n color: var(--text);\n}\n\n/* Chroma syntax highlighting */\n.highlight {\n background: var(--surface);\n border: 1px solid var(--border);\n border-left: 3px solid var(--accent);\n border-radius: 6px;\n padding: 1rem;\n overflow-x: auto;\n margin: 1.5rem 0;\n position: relative;\n}\n\n.highlight code {\n background: none;\n padding: 0;\n border-radius: 0;\n color: inherit;\n}\n\n/* Chroma color overrides for dark theme */\n.highlight .k { color: #f59e0b; }\n.highlight .kn { color: #f59e0b; }\n.highlight .kp { color: #f59e0b; }\n.highlight .kr { color: #f59e0b; }\n.highlight .kt { color: #a855f7; }\n.highlight .n { color: #c4d6e8; }\n.highlight .na { color: #38bdf8; }\n.highlight .nb { color: #38bdf8; }\n.highlight .nc { color: #a855f7; }\n.highlight .no { color: #00ff88; }\n.highlight .nd { color: #f59e0b; }\n.highlight .ni { color: #a855f7; }\n.highlight .ne { color: #f59e0b; }\n.highlight .nf { color: #38bdf8; }\n.highlight .nl { color: #a855f7; }\n.highlight .nn { color: #a855f7; }\n.highlight .nt { color: #f59e0b; }\n.highlight .nv { color: #c4d6e8; }\n.highlight .s { color: #00ff88; }\n.highlight .sa { color: #00ff88; }\n.highlight .sb { color: #00ff88; }\n.highlight .sc { color: #00ff88; }\n.highlight .s1 { color: #00ff88; }\n.highlight .s2 { color: #00ff88; }\n.highlight .se { color: #f59e0b; }\n.highlight .sh { color: #00ff88; }\n.highlight .si { color: #f59e0b; }\n.highlight .sx { color: #00ff88; }\n.highlight .sr { color: #00ff88; }\n.highlight .ss { color: #00ff88; }\n.highlight .m { color: #38bdf8; }\n.highlight .mb { color: #38bdf8; }\n.highlight .mf { color: #38bdf8; }\n.highlight .mh { color: #38bdf8; }\n.highlight .mi { color: #38bdf8; }\n.highlight .il { color: #38bdf8; }\n.highlight .mo { color: #38bdf8; }\n.highlight .o { color: #c4d6e8; }\n.highlight .ow { color: #a855f7; }\n.highlight .c { color: #7a9bb8; }\n.highlight .c1 { color: #7a9bb8; }\n.highlight .ch { color: #7a9bb8; }\n.highlight .cm { color: #7a9bb8; }\n.highlight .cp { color: #f59e0b; }\n.highlight .cpf { color: #f59e0b; }\n\nhtml.theme-light .highlight {\n background: var(--surface);\n border-left-color: var(--accent);\n}\n\nhtml.theme-light .highlight .c { color: #6a7fa0; }\n\n/* Copy button for code blocks */\n.code-copy-btn {\n position: absolute;\n top: 0.75rem;\n right: 0.75rem;\n background: var(--accent);\n color: #fff;\n border: none;\n padding: 0.4rem 0.8rem;\n border-radius: 4px;\n font-family: var(--font-mono);\n font-size: 0.75rem;\n cursor: pointer;\n opacity: 0;\n transition: var(--transition);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.highlight:hover .code-copy-btn,\npre:hover .code-copy-btn {\n opacity: 1;\n}\n\n.code-copy-btn:hover {\n background: var(--accent2);\n color: var(--bg);\n}\n\n.code-copy-btn.copied {\n background: var(--accent2);\n}\n\n/* Inline code */\ncode {\n font-family: var(--font-mono);\n background: var(--surface);\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n font-size: 0.9em;\n color: var(--accent2);\n}\n\np code {\n border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);\n}\n","/* progress-bar.css */\n.reading-progress {\n position: fixed;\n top: 0;\n left: 0;\n height: 3px;\n background: linear-gradient(90deg, var(--accent), var(--accent2));\n width: 0%;\n z-index: 200;\n transition: width 0.1s ease-out;\n}\n\n/* Only show on pages with sufficient content */\n.article-page .reading-progress,\n.page-page .reading-progress {\n display: block;\n}\n\n/* Hide if no scrollable content */\nbody:not(.scrollable) .reading-progress {\n display: none;\n}\n","@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600\u0026family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300\u0026family=Oxanium:wght@700;800\u0026display=swap');\n\n@import 'variables.css';\n@import 'components/hero.css';\n@import 'components/card.css';\n@import 'components/feed.css';\n@import 'components/code.css';\n@import 'components/progress-bar.css';\n\n/* Base Styles */\nhtml {\n font-size: 17px;\n scroll-behavior: smooth;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n background-color: var(--bg);\n color: var(--text);\n font-family: var(--font-body);\n font-size: var(--fs-body);\n line-height: 1.95;\n transition: background-color 0.2s, color 0.2s;\n}\n\n/* Typography */\nh1 {\n font-family: var(--font-head);\n font-size: var(--fs-h2);\n font-weight: 800;\n line-height: 1.1;\n margin-bottom: 0.5rem;\n}\n\nh2 {\n font-family: var(--font-head);\n font-size: var(--fs-h2);\n font-weight: 800;\n line-height: 1.1;\n margin: 2rem 0 1rem;\n}\n\nh3 {\n font-family: var(--font-head);\n font-size: var(--fs-h3);\n font-weight: 800;\n line-height: 1.2;\n margin: 1.5rem 0 0.75rem;\n}\n\nh4, h5, h6 {\n font-family: var(--font-head);\n font-weight: 800;\n margin: 1rem 0 0.5rem;\n}\n\np {\n margin-bottom: 1rem;\n}\n\na {\n color: var(--accent);\n text-decoration: none;\n transition: var(--transition);\n}\n\na:hover {\n color: var(--accent2);\n}\n\n/* Utilities */\n.container {\n max-width: var(--container-max);\n margin: 0 auto;\n padding: 0 1.5rem;\n}\n\n.container-narrow {\n max-width: var(--container-narrow);\n margin: 0 auto;\n padding: 0 1.5rem;\n}\n\nmain {\n min-height: calc(100vh - 200px);\n}\n\n/* Lists */\nul, ol {\n margin-left: 1.5rem;\n margin-bottom: 1rem;\n}\n\nli {\n margin-bottom: 0.5rem;\n}\n\ncode {\n font-family: var(--font-mono);\n background: var(--surface);\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n font-size: 0.9em;\n}\n\npre {\n margin-bottom: 1rem;\n overflow-x: auto;\n}\n\npre code {\n padding: 0;\n background: none;\n border-radius: 0;\n}\n\n/* Focus styles for accessibility */\n:focus {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n}\n\nbutton:focus,\na:focus {\n outline: 2px dashed var(--accent);\n outline-offset: 4px;\n}\n\n/* Reduced motion support */\n@media (prefers-reduced-motion: reduce) {\n * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n"],"mappings":"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","names":[]} \ No newline at end of file