@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; } /* */ 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 */