.gh-contrib{display:flex;flex-direction:column;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px}.gh-contrib-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.gh-contrib-total{font-size:15px;color:var(--text-secondary);font-weight:500}.gh-contrib-link{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.gh-contrib-scroll{position:relative;overflow-x:auto;padding-bottom:4px}.gh-contrib-svg{display:block}.gh-contrib-month{font-size:10px}.gh-contrib-day,.gh-contrib-month{fill:var(--text-muted);font-family:var(--font-sans)}.gh-contrib-day{font-size:9px}.gh-contrib-cell{display:inline-block;width:11px;height:11px;border-radius:2px;vertical-align:middle;transition:outline .1s}rect.gh-contrib-cell:hover{outline:1px solid var(--text-primary);outline-offset:-1px;cursor:pointer}.gh-contrib-cell.lvl-0{fill:#1a1a1a;background-color:#1a1a1a}.gh-contrib-cell.lvl-1{fill:#1e3a8a;background-color:#1e3a8a}.gh-contrib-cell.lvl-2{fill:#2563eb;background-color:#2563eb}.gh-contrib-cell.lvl-3{fill:#3b82f6;background-color:#3b82f6}.gh-contrib-cell.lvl-4{fill:#60a5fa;background-color:#60a5fa}.gh-contrib-tooltip{position:absolute;transform:translate(-50%,-100%);background:#000;color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.5);z-index:10}.gh-contrib-legend{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);justify-content:flex-end}.gh-contrib-legend>span:first-child,.gh-contrib-legend>span:last-child{margin:0 6px}.gh-contrib-skeleton{height:130px;border-radius:8px;background:linear-gradient(90deg,var(--bg-card) 0,var(--bg-card-hover) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:gh-contrib-shimmer 1.5s ease-in-out infinite}@keyframes gh-contrib-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gh-contrib-error{font-size:14px;color:var(--text-muted);padding:12px 0}@media (max-width:768px){.gh-contrib{padding:16px}}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px}.projects-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 0;color:var(--text-muted)}.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;transition:all .2s}.project-card:hover{border-color:var(--text-muted);background:var(--bg-card-hover)}.project-card-header{margin-bottom:12px}.project-name{font-size:18px;font-weight:600;margin-bottom:8px}.project-meta{display:flex;align-items:center;gap:12px;font-size:13px}.project-language{color:var(--accent);font-weight:500;font-family:var(--font-mono)}.project-updated{color:var(--text-muted)}.project-description{font-size:14px;color:var(--text-secondary);line-height:1.7;flex:1 1;margin-bottom:16px}.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-link{font-size:14px;font-weight:500;color:var(--accent);transition:color .2s}.project-link:hover{color:var(--accent-hover)}.readme-toggle{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:13px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);transition:all .2s}.readme-toggle:hover{color:var(--text-primary);border-color:var(--text-muted)}.readme-content{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);font-size:14px;color:var(--text-secondary);line-height:1.7;overflow-x:auto}.readme-content h1,.readme-content h2,.readme-content h3{color:var(--text-primary);margin-top:24px;margin-bottom:12px}.readme-content h1{font-size:22px}.readme-content h2{font-size:18px}.readme-content h3{font-size:16px}.readme-content p{margin-bottom:12px}.readme-content code{background:var(--bg-primary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:13px}.readme-content pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-x:auto;margin-bottom:16px}.readme-content pre code{background:none;padding:0}.readme-content a{color:var(--accent)}.readme-content img{max-width:100%;border-radius:8px;margin:12px 0}.readme-content ol,.readme-content ul{padding-left:24px;margin-bottom:12px}.readme-content li{margin-bottom:4px}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}