/* ===== Animations ===== */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } /* ===== Main ===== */ .main { min-height: calc(100vh - 60px); } /* ===== Hero ===== */ .hero { position: relative; padding: 5rem 2rem 4rem; text-align: center; overflow: hidden; background: radial-gradient(circle, var(--ifm-color-primary) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(180deg, var(--ifm-background-surface-color) 0%, var(--ifm-background-color) 100%); background-blend-mode: overlay; } [data-theme='dark'] .hero { background: radial-gradient(circle, rgba(59,130,246,0.15) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(180deg, var(--ifm-background-surface-color) 0%, var(--ifm-background-color) 100%); } :root .hero { background: radial-gradient(circle, rgba(37,99,235,0.12) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(180deg, var(--ifm-background-surface-color) 0%, var(--ifm-background-color) 100%); } .heroInner { max-width: 960px; margin: 0 auto; animation: fadeInUp 0.6s ease both; } .heroPrompt { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); font-size: 1.1rem; color: var(--ifm-color-emphasis-600); margin-bottom: 0.25rem; } .heroTitle { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); font-size: 3rem; margin-bottom: 0.5rem; display: inline-block; } .cursor { display: inline-block; width: 0.6ch; height: 1em; background: var(--ifm-color-primary); margin-left: 4px; vertical-align: text-bottom; animation: blink 1s step-end infinite; } .heroSubtitle { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); font-size: 1.1rem; color: var(--ifm-color-emphasis-600); margin: 0 0 1.5rem 0; } .skillTags { display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; } .skillTag { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); font-size: 0.8rem; padding: 0.3rem 0.9rem; border-radius: 999px; border: 1px solid var(--ifm-color-primary); color: var(--ifm-color-primary); background: transparent; font-weight: 500; } /* ===== Content ===== */ .content { max-width: 960px; margin: 0 auto; padding: 2rem; } .twoCol { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } /* ===== Sections ===== */ .section { margin-bottom: 3rem; animation: fadeInUp 0.6s ease both; } .section:nth-child(1) { animation-delay: 0.1s; } .section:nth-child(2) { animation-delay: 0.25s; } .sectionWorks { animation-delay: 0.4s; } .sectionTitle { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); font-size: 1.3rem; margin-bottom: 0.25rem; color: var(--ifm-color-primary); } .sectionDesc { font-size: 0.85rem; color: var(--ifm-color-emphasis-600); margin-bottom: 1rem; } /* ===== Post Cards ===== */ .posts { display: flex; flex-direction: column; gap: 0.75rem; } .postCard { display: block; padding: 1.1rem 1.25rem; border-radius: 8px; background: var(--ifm-background-surface-color); border: 1px solid var(--ifm-color-emphasis-200); border-left: 3px solid var(--ifm-color-primary); text-decoration: none; color: inherit; transition: all 0.2s ease; } .postCard:hover { border-color: var(--ifm-color-primary); border-left-color: var(--ifm-color-primary); transform: scale(1.02); box-shadow: 0 0 16px rgba(var(--ifm-color-primary-rgb, 46,133,85), 0.25); text-decoration: none; color: inherit; } [data-theme='dark'] .postCard:hover { box-shadow: 0 0 16px rgba(59,130,246,0.25); } .postTitle { font-size: 1rem; margin: 0 0 0.4rem 0; } .postMeta { display: flex; gap: 0.75rem; font-size: 0.8rem; color: var(--ifm-color-emphasis-600); } .postDate { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); } .postTag { font-family: var(--site-font-mono, 'JetBrains Mono', monospace); background: var(--ifm-color-emphasis-100); padding: 0.1rem 0.5rem; border-radius: 4px; font-size: 0.75rem; } /* ===== Works ===== */ .works { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; } .workCard { display: block; padding: 1.25rem; border-radius: 8px; background: var(--ifm-background-surface-color); border: 1px solid var(--ifm-color-emphasis-200); border-left: 3px solid var(--ifm-color-primary); text-decoration: none; color: inherit; transition: all 0.2s ease; } .workCard:hover { border-color: var(--ifm-color-primary); border-left-color: var(--ifm-color-primary); transform: scale(1.02); box-shadow: 0 0 16px rgba(var(--ifm-color-primary-rgb, 46,133,85), 0.25); text-decoration: none; color: inherit; } [data-theme='dark'] .workCard:hover { box-shadow: 0 0 16px rgba(59,130,246,0.25); } .workName { font-size: 1.1rem; margin: 0 0 0.5rem 0; } .workDescription { font-size: 0.85rem; color: var(--ifm-color-emphasis-600); margin: 0; } .moreLink { display: inline-block; margin-top: 0.75rem; font-size: 0.85rem; font-family: var(--site-font-mono, 'JetBrains Mono', monospace); color: var(--ifm-color-primary); } .moreLink:hover { text-decoration: underline; } /* ===== Responsive ===== */ @media (max-width: 768px) { .heroTitle { font-size: 2rem; } .heroPrompt { font-size: 0.9rem; } .heroSubtitle { font-size: 0.95rem; } .content { padding: 1rem; } .twoCol { grid-template-columns: 1fr; gap: 0; } }