summaryrefslogtreecommitdiffstats
path: root/public/css
diff options
context:
space:
mode:
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, 0 insertions, 768 deletions
diff --git a/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css b/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css
deleted file mode 100644
index 4d80946..0000000
--- a/public/css/main.30bbabcf0c588c3c13cbe24430d7aa6226315a94faf09d877dd441b3ebf03774.css
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 14496ee..0000000
--- a/public/css/main.3abe95debec71c071dca144ff88e0ce1f7c17e0c6cc9f1a0138ae45683de8c86.css
+++ /dev/null
@@ -1 +0,0 @@
-@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
deleted file mode 100644
index 47a344e..0000000
--- a/public/css/main.5c9869e05d53e10d15258a314b452f5a95242f4e39dd052c90b7d7b5619c40c4.css
+++ /dev/null
@@ -1 +0,0 @@
-@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
deleted file mode 100644
index 055b01b..0000000
--- a/public/css/main.8337d7f7e0fbf6083195dbb6bd8ad102187face3b194ff449dc78376ca12e014.css
+++ /dev/null
@@ -1 +0,0 @@
-@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
deleted file mode 100644
index 62ed94d..0000000
--- a/public/css/main.css
+++ /dev/null
@@ -1,763 +0,0 @@
-@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
deleted file mode 100644
index 3009431..0000000
--- a/public/css/main.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"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":";;;AAEA;AAEE,QAAe;AACf,SAAe;AACf,aAAe;AACf,YAAe;AACf,YAAe;AACf,aAAe;AACf,UAAe;AACf,cAAe;AACf,WAAe;AAGf,gBAAgB;AAChB,gBAAgB;AAChB,iBAAgB;AAChB,gBAAgB;AAChB,iBAAgB;AAGhB;AAAA,IAAc,eAAe;AAAA,IAAE,SAAS;AAAA,IAAE;AAC1C;AAAA,IAAc,gBAAgB;AAAA,IAAE,aAAa;AAAA,IAAE;AAC/C,eAAc,SAAS,EAAE;AAGzB,aAAc;AACd,YAAc;AACd,cAAc;AACd,YAAc;AACd,WAAc;AACd,WAAc,MAAM,MAAM,EAAE,GAAG,EAAE;AAGjC,mBAAiB;AACjB,sBAAoB;AACpB,YAAc;AACd,YAAc;AACd,YAAc;AACd,YAAc;AAGd,uBAAuB;AACvB,wBAAuB;AACvB,oBAAuB;AACvB,qBAAuB;AAGvB,gBAAc,IAAI,KAAK;AACvB,qBAAmB,IAAI,MAAM,aAAa,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACvD;AAEA,IAAI,CAAC;AAEH,QAAe;AACf,SAAe;AACf,aAAe;AACf,YAAe;AACf,YAAe;AACf,aAAe;AACf,UAAe;AACf,cAAe;AACf,WAAe;AACjB;AAGA,QAAO,WAAY;AACjB;AACE,UAAM;AACR;AACF;AAEA,QAAO,WAAY;AACjB;AACE,UAAM;AACR;AACF;AAEA,QAAO,WAAY;AACjB;AACE,UAAM;AACR;AACF;AAEA,QAAO,WAAY;AACjB;AACE,UAAM;AACR;AACF;;;ACxFA,CAAC;AACC,YAAU;AACV,YAAU;AACV,WAAS,IAAI,qBAAqB;AAClC,cAAY,IAAI;AAChB,iBAAe,IAAI,MAAM,IAAI;AAC/B;AAEA,QAAO,WAAY;AACjB,GATD;AAUG,aAAS,IAAI,sBAAsB;AACrC;AACF;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,kBAAgB;AAClB;AAEA,IAAI,CAAC,YAAY,CAPhB;AAQC,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,aAAW,IAAI;AACf,UAAQ,EAAE;AACV,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,iBAAe;AACf,eAAa;AACb;AAAA,IAAY;AAAA,MAAgB,MAAM;AAAA,MAAE,IAAI,SAAS;AAAA,MAAE,IAAI;AACvD,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,eAAa,IAAI;AACjB,aAAW;AACX,eAAa;AACb,SAAO;AACT;AAEA,QAAO,WAAY;AACjB,GAhBD;AAiBG,WAAO;AACP,YAAQ;AACR,eAAW;AACb;AACF;AAEA,CAAC,UAAU;AACT,iBAAe;AACjB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW;AACX,SAAO,IAAI;AACX,kBAAgB;AAChB,kBAAgB;AAChB,iBAAe;AACjB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,aAAW;AACX,eAAa;AACb,aAAW;AACb;AAGA,CAjEC,aAiEa;AACZ,WAAS;AACT,YAAU;AACV,SAAO;AACP;AAAA,IAAY;AAAA,MACV,IAAI;AAAA,MACJ,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK;AAAA,MACnB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG;AAAA,MACvB,YAAY,GAAG;AAAA,MACf,YAAY;AAEd,kBAAgB;AAClB;AAGA,CA9FC,IA8FI;AACH,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR;AAAA,IAAY;AAAA,MAAgB,MAAM;AAAA,MAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;AAAA,MAAE,YAAY;AAC7E,aAAW,UAAU,IAAI,EAAE;AAC3B,kBAAgB;AAClB;AAEA,QAAO,WAAY;AACjB,GAlFD;AAmFG,oBAAgB;AAChB,gBAAY;AACd;AAEA,GAzCD;AA0CG,eAAW;AACb;AACF;;;ACnHA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,YAAU;AACV,cAAY,IAAI;AAChB,WAAS;AACT,OAAK,IAAI;AACX;AAEA,CAVC,SAUS;AACR,gBAAc,IAAI;AAClB,cAAY,EAAE,EAAE,KAAK,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;AAC1C;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,eAAa;AACb,cAAY;AACZ;AAAA,IAAY;AAAA,MAAgB,MAAM;AAAA,MAAE,IAAI,SAAS;AAAA,MAAE,IAAI;AACvD,gBAAc,IAAI,MAAM,IAAI;AAC9B;AAEA,QAAO,WAAY;AACjB,GAVD;AAWG,WAAO;AACP,YAAQ;AACV;AACF;AAEA,CAAC;AACC,WAAS,IAAI;AACb,WAAS;AACT,kBAAgB;AAChB,mBAAiB;AACjB,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa;AACb,kBAAgB;AAChB,kBAAgB;AAChB,WAAS,QAAQ;AACjB,iBAAe;AACf,iBAAe;AACf,SAAO;AACT;AAGA,CAdC,eAce,CAAC;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AACtD,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AAC5D,SAAO,IAAI;AACb;AAEA,CApBC,eAoBe,CAAC;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AACtD,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AAC5D,SAAO,IAAI;AACb;AAEA,CA1BC,eA0Be,CAAC;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,GAAG,EAAE;AACvD,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,GAAG,EAAE;AAC7D,SAAO,IAAI;AACb;AAEA,CAhCC,eAgCe,CAAC;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AACtD,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,cAAc,GAAG,EAAE;AAC5D,SAAO,IAAI;AACb;AAEA,CAtCC,eAsCe,CAAC;AACf,cAAY,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,GAAG,EAAE;AACvD,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,eAAe,GAAG,EAAE;AAC7D,SAAO,IAAI;AACb;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW;AACX,eAAa;AACb,eAAa;AACb,iBAAe;AACf,SAAO,IAAI;AACb;AAEA,CATC,gBASgB;AACf,SAAO,IAAI;AACX,mBAAiB;AACnB;AAEA,CAdC,gBAcgB,CAAC;AAChB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI;AACX,aAAW;AACX,eAAa;AACb,WAAS;AACT,sBAAoB;AACpB,sBAAoB;AACpB,YAAU;AACV,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,eAAa,IAAI;AACjB,aAAW;AACX,SAAO,IAAI;AACX,kBAAgB;AAChB,kBAAgB;AAClB;AAGA,CA3HC,SA2HS,CAAC;AACT,YAAU,KAAK;AACjB;AAEA,CA/HC,SA+HS,CAJC,SAIS,CAhHnB;AAiHC,SAAO;AACP,UAAQ;AACR,gBAAc;AACd,iBAAe,IAAI,MAAM,IAAI;AAC/B;AAEA,CAtIC,SAsIS,CAXC,SAWS,CAvGnB;AAwGC,WAAS,IAAI;AACf;AAEA,QAAO,WAAY;AACjB,GA3ID;AA4IG,oBAAgB;AAClB;AAEA,GAhID;AAiIG,WAAO;AACP,YAAQ;AACR,kBAAc;AACd,mBAAe,IAAI,MAAM,IAAI;AAC/B;AAEA,GAtJD,SAsJW,CA3BD,SA2BW,CAvIrB;AAwIG,YAAQ;AACV;AACF;;;ACzJA,CAAC;AACC,WAAS,IAAI,qBAAqB;AACpC;AAEA,QAAO,WAAY;AACjB,GALD;AAMG,aAAS,IAAI,sBAAsB;AACrC;AACF;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW;AACX,kBAAgB;AAChB,kBAAgB;AAChB,SAAO,IAAI;AACX,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,yBAAuB,OAAO,SAAS,EAAE,OAAO,KAAK,EAAE;AACvD,OAAK,IAAI;AACT,iBAAe,IAAI;AACrB;AAEA,QAAO,WAAY;AACjB,GARD;AASG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,QAAO,WAAY;AACjB,GAdD;AAeG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CANC,UAMU,CAAC;AACV,kBAAgB;AAClB;AAGA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,iBAAe,IAAI;AACnB,aAAW;AACb;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,WAAS,OAAO;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,cAAY;AACZ,SAAO,IAAI;AACX,kBAAgB;AAChB,kBAAgB;AAChB,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,UAcU;AACT,gBAAc,IAAI;AAClB,SAAO,IAAI;AACb;AAEA,CAnBC,UAmBU,CAAC;AACV,cAAY,IAAI;AAChB,SAAO;AACP,gBAAc,IAAI;AACpB;AAGA,CAAC;AACC,WAAS;AACT,WAAS,QAAQ;AACjB,cAAY,IAAI;AAChB,SAAO;AACP,iBAAe;AACf,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,kBAAgB;AAChB,kBAAgB;AAChB,mBAAiB;AACjB,cAAY,IAAI;AAClB;AAEA,CAdC,QAcQ;AACP,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;;;ACnGA;AACE,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,eAAa,IAAI,MAAM,IAAI;AAC3B,iBAAe;AACf,WAAS;AACT,cAAY;AACZ,YAAU;AACV,UAAQ,OAAO;AACjB;AAEA,IAAI;AACF,eAAa,IAAI;AACjB,aAAW;AACX,eAAa;AACb,SAAO,IAAI;AACb;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,eAAa,IAAI,MAAM,IAAI;AAC3B,iBAAe;AACf,WAAS;AACT,cAAY;AACZ,UAAQ,OAAO;AACf,YAAU;AACZ;AAEA,CAXC,UAWU;AACT,cAAY;AACZ,WAAS;AACT,iBAAe;AACf,SAAO;AACT;AAGA,CAnBC,UAmBU,CAAC;AAAI,SAAO;AAAS;AAChC,CApBC,UAoBU,CAAC;AAAK,SAAO;AAAS;AACjC,CArBC,UAqBU,CAAC;AAAK,SAAO;AAAS;AACjC,CAtBC,UAsBU,CAAC;AAAK,SAAO;AAAS;AACjC,CAvBC,UAuBU,CAAC;AAAK,SAAO;AAAS;AACjC,CAxBC,UAwBU,CAAC;AAAI,SAAO;AAAS;AAChC,CAzBC,UAyBU,CAAC;AAAK,SAAO;AAAS;AACjC,CA1BC,UA0BU,CAAC;AAAK,SAAO;AAAS;AACjC,CA3BC,UA2BU,CAAC;AAAK,SAAO;AAAS;AACjC,CA5BC,UA4BU,CAAC;AAAK,SAAO;AAAS;AACjC,CA7BC,UA6BU,CAAC;AAAK,SAAO;AAAS;AACjC,CA9BC,UA8BU,CAAC;AAAK,SAAO;AAAS;AACjC,CA/BC,UA+BU,CAAC;AAAK,SAAO;AAAS;AACjC,CAhCC,UAgCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAjCC,UAiCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAlCC,UAkCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAnCC,UAmCU,CAAC;AAAK,SAAO;AAAS;AACjC,CApCC,UAoCU,CAAC;AAAK,SAAO;AAAS;AACjC,CArCC,UAqCU,CAAC;AAAI,SAAO;AAAS;AAChC,CAtCC,UAsCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAvCC,UAuCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAxCC,UAwCU,CAAC;AAAK,SAAO;AAAS;AACjC,CAzCC,UAyCU,CAAC;AAAK,SAAO;AAAS;AACjC,CA1CC,UA0CU,CAAC;AAAK,SAAO;AAAS;AACjC,CA3CC,UA2CU,CAAC;AAAK,SAAO;AAAS;AACjC,CA5CC,UA4CU,CAAC;AAAK,SAAO;AAAS;AACjC,CA7CC,UA6CU,CAAC;AAAK,SAAO;AAAS;AACjC,CA9CC,UA8CU,CAAC;AAAK,SAAO;AAAS;AACjC,CA/CC,UA+CU,CAAC;AAAK,SAAO;AAAS;AACjC,CAhDC,UAgDU,CAAC;AAAK,SAAO;AAAS;AACjC,CAjDC,UAiDU,CAAC;AAAI,SAAO;AAAS;AAChC,CAlDC,UAkDU,CAAC;AAAK,SAAO;AAAS;AACjC,CAnDC,UAmDU,CAAC;AAAK,SAAO;AAAS;AACjC,CApDC,UAoDU,CAAC;AAAK,SAAO;AAAS;AACjC,CArDC,UAqDU,CAAC;AAAK,SAAO;AAAS;AACjC,CAtDC,UAsDU,CAAC;AAAK,SAAO;AAAS;AACjC,CAvDC,UAuDU,CAAC;AAAK,SAAO;AAAS;AACjC,CAxDC,UAwDU,CAAC;AAAI,SAAO;AAAS;AAChC,CAzDC,UAyDU,CAAC;AAAK,SAAO;AAAS;AACjC,CA1DC,UA0DU,CAAC;AAAI,SAAO;AAAS;AAChC,CA3DC,UA2DU,CAAC;AAAK,SAAO;AAAS;AACjC,CA5DC,UA4DU,CAAC;AAAK,SAAO;AAAS;AACjC,CA7DC,UA6DU,CAAC;AAAK,SAAO;AAAS;AACjC,CA9DC,UA8DU,CAAC;AAAK,SAAO;AAAS;AACjC,CA/DC,UA+DU,CAAC;AAAM,SAAO;AAAS;AAElC,IAAI,CAAC,YAAY,CAjEhB;AAkEC,cAAY,IAAI;AAChB,qBAAmB,IAAI;AACzB;AAEA,IAAI,CALC,YAKY,CAtEhB,UAsE2B,CAZhB;AAYqB,SAAO;AAAS;AAGjD,CAAC;AACC,YAAU;AACV,OAAK;AACL,SAAO;AACP,cAAY,IAAI;AAChB,SAAO;AACP,UAAQ;AACR,WAAS,OAAO;AAChB,iBAAe;AACf,eAAa,IAAI;AACjB,aAAW;AACX,UAAQ;AACR,WAAS;AACT,cAAY,IAAI;AAChB,kBAAgB;AAChB,kBAAgB;AAClB;AAEA,CA3FC,SA2FS,OAAO,CAlBhB;AAmBD,GAAG,OAAO,CAnBT;AAoBC,WAAS;AACX;AAEA,CAvBC,aAuBa;AACZ,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CA5BC,aA4Ba,CAAC;AACb,cAAY,IAAI;AAClB;AAGA;AACE,eAAa,IAAI;AACjB,cAAY,IAAI;AAChB,WAAS,QAAQ;AACjB,iBAAe;AACf,aAAW;AACX,SAAO,IAAI;AACb;AAEA,EAAE;AACA,UAAQ,IAAI,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,UAAU,GAAG,EAAE;AAC1D;;;ACxIA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,UAAQ;AACR;AAAA,IAAY;AAAA,MAAgB,KAAK;AAAA,MAAE,IAAI,SAAS;AAAA,MAAE,IAAI;AACtD,SAAO;AACP,WAAS;AACT,cAAY,MAAM,KAAK;AACzB;AAGA,CAAC,aAAa,CAZb;AAaD,CAAC,UAAU,CAbV;AAcC,WAAS;AACX;AAGA,IAAI,KAAK,CAAC,YAAY,CAlBrB;AAmBC,WAAS;AACX;;;ACXA;AACE,aAAW;AACX,mBAAiB;AACnB;AAEA;AACE,UAAQ;AACR,WAAS;AACT,cAAY;AACd;AAEA;AACE,oBAAkB,IAAI;AACtB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa;AACb,cAAY,iBAAiB,IAAI,EAAE,MAAM;AAC3C;AAGA;AACE,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa;AACb,eAAa;AACb,iBAAe;AACjB;AAEA;AACE,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa;AACb,eAAa;AACb,UAAQ,KAAK,EAAE;AACjB;AAEA;AACE,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa;AACb,eAAa;AACb,UAAQ,OAAO,EAAE;AACnB;AAEA;AAAI;AAAI;AACN,eAAa,IAAI;AACjB,eAAa;AACb,UAAQ,KAAK,EAAE;AACjB;AAEA;AACE,iBAAe;AACjB;AAEA;AACE,SAAO,IAAI;AACX,mBAAiB;AACjB,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO,IAAI;AACb;AAGA,CAAC;AACC,aAAW,IAAI;AACf,UAAQ,EAAE;AACV,WAAS,EAAE;AACb;AAEA,CAAC;AACC,aAAW,IAAI;AACf,UAAQ,EAAE;AACV,WAAS,EAAE;AACb;AAEA;AACE,cAAY,KAAK,MAAM,EAAE;AAC3B;AAGA;AAAI;AACF,eAAa;AACb,iBAAe;AACjB;AAEA;AACE,iBAAe;AACjB;AAEA;AACE,eAAa,IAAI;AACjB,cAAY,IAAI;AAChB,WAAS,QAAQ;AACjB,iBAAe;AACf,aAAW;AACb;AAEA;AACE,iBAAe;AACf,cAAY;AACd;AAEA,IAAI;AACF,WAAS;AACT,cAAY;AACZ,iBAAe;AACjB;AAGA;AACE,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAClB;AAEA,MAAM;AACN,CAAC;AACC,WAAS,IAAI,OAAO,IAAI;AACxB,kBAAgB;AAClB;AAGA,QAAO,wBAAyB;AAC9B;AACE,wBAAoB;AACpB,+BAA2B;AAC3B,yBAAqB;AACrB,qBAAiB;AACnB;AACF;","names":[]} \ No newline at end of file