:root{--bg:0 0% 98%;--fg:0 0% 9%;--card:0 0% 100%;--muted:0 0% 45%;--border:0 0% 88%;--secondary:0 0% 94%;--accent:220 85% 58%;--gh0:0 0% 91%;--gh1:120 38% 74%;--gh2:120 40% 55%;--gh3:120 44% 40%;--gh4:120 48% 28%;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg:0 0% 3%;--fg:0 0% 91%;--card:0 0% 6%;--muted:0 0% 52%;--border:0 0% 14%;--secondary:0 0% 10%;--accent:220 80% 64%;--gh0:0 0% 14%;--gh1:120 32% 24%;--gh2:120 38% 34%;--gh3:120 44% 44%;--gh4:120 50% 54%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:hsl(var(--bg));color:hsl(var(--fg));-webkit-font-smoothing:antialiased;transition:background .35s var(--ease-in-out), color .35s var(--ease-in-out);font-family:Inter,system-ui,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}#scroll-progress{background:linear-gradient(90deg, hsl(var(--accent)), #94b6f9);z-index:200;pointer-events:none;border-radius:0 2px 2px 0;width:0%;height:2px;position:fixed;top:0;left:0}body.page-exit{opacity:0;transition:opacity .28s,transform .28s;transform:translateY(6px)}.container-narrow{max-width:48rem;margin:0 auto;padding:0 1.5rem}.nav-shell{z-index:40;border-bottom:1px solid hsl(var(--border) / .5);background:hsl(var(--bg) / .84);-webkit-backdrop-filter:blur(18px);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;display:flex}.brand{letter-spacing:-.02em;flex-shrink:0;font-size:1rem;font-weight:600;transition:opacity .15s}.brand:hover{opacity:.65}.brand span{color:hsl(var(--accent))}.nav-links{white-space:nowrap;align-items:center;gap:1rem;margin-left:auto;margin-right:.5rem;list-style:none;display:flex}.nav-links a{color:hsl(var(--muted));padding-bottom:.15rem;font-size:.84rem;transition:color .15s;position:relative}.nav-links a:after{content:"";background:hsl(var(--accent));transform-origin:0;width:100%;height:1.5px;transition:transform .22s var(--ease-out-expo);border-radius:2px;position:absolute;bottom:-.15rem;left:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a.active{color:hsl(var(--fg))}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:.35rem;display:flex}.theme-toggle{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted));min-width:2rem;min-height:2rem;transition:background .15s ease, color .15s ease, transform .2s var(--ease-out-expo);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle svg{width:1rem;height:1rem}.theme-toggle .icon-sun,[data-theme=dark] .theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}.theme-toggle:hover{background:hsl(var(--secondary));color:hsl(var(--fg));transform:rotate(12deg)scale(1.08)}.menu-btn{display:none!important}.page{padding-top:2.5rem;padding-bottom:3rem}.hero{position:relative}.banner{aspect-ratio:16/9;border:1px solid hsl(var(--border));background:linear-gradient(145deg,#d9ecdd,#d8e7f9);border-radius:1rem;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 28px #00000012}[data-theme=dark] .banner{background:linear-gradient(145deg,#1a2530,#1e2235);box-shadow:0 4px 36px #00000052}.banner img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform 7s;position:absolute;inset:0}.banner:hover img{transform:scale(1.04)}.banner-overlay{background:linear-gradient(#0000000f,#0000009e);position:absolute;inset:0}.banner figcaption{z-index:3;color:#fffffff2;text-shadow:0 2px 18px #00000073;white-space:nowrap;letter-spacing:.04em;animation:caption-in 1s .4s var(--ease-out-expo) both;font-family:Playfair Display,Georgia,serif;font-size:clamp(.88rem,2.4vw,1.22rem);font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.fallback-note{z-index:3;color:#ffffffe0;font-size:.64rem;display:none;position:absolute;bottom:.7rem;right:.7rem}.image-shell.is-missing .fallback-note{display:block}.avatar-wrap{z-index:5;margin-top:-2.8rem;padding-left:1.5rem;position:relative}.avatar{border:3px solid hsl(var(--bg));width:5rem;height:5rem;box-shadow:0 0 0 1px hsl(var(--border)), 0 8px 24px #00000024;transition:transform .35s var(--ease-out-expo), box-shadow .35s ease;background:linear-gradient(145deg,#bcd1de,#d2deca);border-radius:999px;position:relative;overflow:hidden}.avatar:hover{box-shadow:0 0 0 2px hsl(var(--accent) / .55), 0 14px 36px #0000002e;transform:scale(1.07)rotate(-2deg)}[data-theme=dark] .avatar{background:linear-gradient(145deg,#435266,#55604f)}.avatar img{object-fit:cover;object-position:center 24%;width:100%;height:100%}.fallback-initials{color:#223341;letter-spacing:.06em;place-items:center;font-size:1.36rem;font-weight:600;display:grid;position:absolute;inset:0}.image-shell:not(.is-missing) .fallback-initials{display:none}[data-theme=dark] .fallback-initials{color:#dce5f0}.intro{text-align:left;margin-top:1rem}.signature-wrap{line-height:1}.signature-svg{width:100%;max-width:400px;height:auto;display:block;overflow:visible}.sig-text{fill:hsl(var(--fg));fill-opacity:0;stroke:hsl(var(--fg));stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill;stroke-dasharray:var(--sig-len,3000);stroke-dashoffset:var(--sig-len,3000);animation:sig-draw 2.2s .15s var(--ease-out-expo) forwards, sig-fill .5s 2.1s ease forwards;font-family:Dancing Script,cursive;font-size:88px;font-weight:700}@keyframes sig-draw{to{stroke-dashoffset:0}}@keyframes sig-fill{to{fill-opacity:1;stroke-width:0}}.signature-wrap{animation:4s ease-in-out 2.8s infinite sig-float}@keyframes sig-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.signature-svg{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 0 0px hsl(var(--accent) / 0));animation:3s ease-in-out 2.6s infinite sig-glow;display:block;overflow:visible}@keyframes sig-glow{0%,to{filter:drop-shadow(0 0 0px hsl(var(--accent) / 0))}50%{filter:drop-shadow(0 0 18px hsl(var(--accent) / .35))}}[data-theme=light] .sig-text{fill:#141414;stroke:#141414}.subtitle{color:hsl(var(--muted));letter-spacing:.01em;opacity:0;animation:fade-up .6s 2.5s var(--ease-out-expo) forwards;margin-top:.35rem;font-size:.88rem}.social-pills{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.85rem;display:flex}.social-pills a{border:1px solid hsl(var(--border));background:hsl(var(--card));min-height:2rem;color:hsl(var(--muted));opacity:0;animation:fade-up .5s var(--ease-out-expo) forwards;transition:color .18s ease, background .18s ease, border-color .18s ease, transform .25s var(--ease-out-expo), box-shadow .25s ease;border-radius:999px;align-items:center;padding:0 .82rem;font-size:.78rem;display:inline-flex}.social-pills a:first-child{animation-delay:2.7s}.social-pills a:nth-child(2){animation-delay:2.82s}.social-pills a:nth-child(3){animation-delay:2.94s}.social-pills a:nth-child(4){animation-delay:3.06s}.social-pills a:hover{color:hsl(var(--fg));background:hsl(var(--secondary));border-color:hsl(var(--muted) / .4);transform:translateY(-2px);box-shadow:0 5px 14px #00000017}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section{padding-top:2.8rem;scroll-margin-top:5.6rem}.section h2{color:hsl(var(--muted));text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;display:flex}.section h2:after{content:"";background:hsl(var(--border));transform-origin:0;height:1px;transition:transform .7s var(--ease-out-expo);border-radius:1px;flex:1;transform:scaleX(0)}.reveal.visible h2:after,.section.visible h2:after,.reveal.visible>h2:after{transform:scaleX(1)}.section h2 span{color:hsl(var(--fg));text-transform:none;letter-spacing:0}.section p{margin-top:.5rem}.muted{color:hsl(var(--muted));font-size:.92rem}.about-section{flex-direction:column;gap:.8rem;margin-top:.9rem;display:flex}.about-lead{color:hsl(var(--fg));max-width:48rem;font-size:1rem;line-height:1.75}.about-copy{color:hsl(var(--fg) / .78);max-width:46rem;font-size:.94rem;line-height:1.75}.about-grid{gap:.85rem;margin-top:1.2rem;display:grid}.about-grid article{border:1px solid hsl(var(--border));background:hsl(var(--card));transition:border-color .22s ease, transform .28s var(--ease-out-expo), box-shadow .28s ease;border-radius:.9rem;padding:1.05rem 1.15rem;position:relative;overflow:hidden}.about-grid article:before{content:"";background:hsl(var(--accent));transform-origin:bottom;width:3px;height:100%;transition:transform .28s var(--ease-out-expo);border-radius:0 2px 2px 0;position:absolute;top:0;left:0;transform:scaleY(0)}.about-grid article:hover:before{transform:scaleY(1)}.about-grid article:hover{border-color:hsl(var(--muted) / .3);transform:translateY(-3px)translate(2px);box-shadow:0 8px 24px #00000012}[data-theme=dark] .about-grid article:hover{box-shadow:0 8px 24px #00000047}.about-grid h3{font-size:.92rem;font-weight:600}.about-grid p{color:hsl(var(--muted));margin-top:.4rem;font-size:.88rem;line-height:1.65}.page-top{padding-top:1.5rem}.page-title{letter-spacing:-.02em;animation:title-in .7s var(--ease-out-expo) both;font-family:Instrument Serif,Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:.96}.page-subtitle{color:hsl(var(--muted));max-width:42rem;animation:title-in .7s .1s var(--ease-out-expo) both;margin-top:.5rem;font-size:.94rem;line-height:1.65}@keyframes title-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.work-list article.reveal:first-child{transition-delay:80ms}.work-list article.reveal:nth-child(2){transition-delay:.16s}.work-list article.reveal:nth-child(3){transition-delay:.24s}.blog-list .blog-card.reveal:first-child{transition-delay:80ms}.blog-list .blog-card.reveal:nth-child(2){transition-delay:.16s}.blog-list .blog-card.reveal:nth-child(3){transition-delay:.24s}.blog-list .blog-card.reveal:nth-child(4){transition-delay:.32s}.oss-full-list .oss-full-card.reveal:first-child{transition-delay:80ms}.oss-full-list .oss-full-card.reveal:nth-child(2){transition-delay:.16s}.stack-marquee{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.9rem;margin-top:1.2rem;padding:1.15rem 0;position:relative;overflow:hidden}.stack-marquee .edge{z-index:5;pointer-events:none;width:6rem;position:absolute;top:0;bottom:0}.stack-marquee .edge.left{background:linear-gradient(to right, hsl(var(--card)), transparent);left:0}.stack-marquee .edge.right{background:linear-gradient(to left, hsl(var(--card)), transparent);right:0}.track{gap:1.4rem;width:max-content;padding:0 1.5rem;animation:30s linear infinite marquee;display:flex}.track:hover{animation-play-state:paused}.stack-item{cursor:default;flex-direction:column;flex-shrink:0;align-items:center;gap:.45rem;width:4.3rem;display:flex}.stack-item i{border:1px solid hsl(var(--border));background:hsl(var(--bg) / .6);width:3.6rem;height:3.6rem;transition:transform .28s var(--ease-out-expo), border-color .2s ease, box-shadow .28s ease;border-radius:.75rem;place-items:center;font-size:1.65rem;display:grid}.stack-item:hover i{border-color:hsl(var(--muted) / .4);transform:translateY(-5px)scale(1.1);box-shadow:0 8px 20px #0000001f}.stack-item .devicon-nextjs-original.colored,.stack-item .devicon-amazonwebservices-original.colored{color:hsl(var(--fg))!important}[data-theme=dark] .stack-item .devicon-nextjs-original.colored,[data-theme=dark] .stack-item .devicon-amazonwebservices-original.colored,[data-theme=dark] .stack-item .devicon-express-original.colored,[data-theme=dark] .stack-item .devicon-prisma-original.colored,[data-theme=dark] .stack-item .devicon-github-original.colored{color:#f4f4f5!important}[data-theme=dark] .stack-item i{background:hsl(var(--bg) / .35)}.stack-item span{color:hsl(var(--muted));white-space:nowrap;font-size:.7rem;transition:color .2s}.stack-item:hover span{color:hsl(var(--fg))}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.heatmap-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.9rem;margin-top:1rem;padding:1rem;overflow-x:auto}.months{min-width:max-content;height:14px;color:hsl(var(--muted));margin-left:2.2rem;font-size:.64rem;position:relative}.months span{position:absolute;top:0}.map-row{gap:.34rem;width:max-content;margin-top:.2rem;display:flex}.days-label{width:1.9rem;color:hsl(var(--muted));grid-template-rows:repeat(7,11px);gap:3px;font-size:.62rem;display:grid}.days-label span{align-items:center;display:grid}.grid{grid-template-rows:repeat(7,11px);grid-template-columns:repeat(53,11px);grid-auto-flow:column;gap:3px;display:grid}.cell{background:hsl(var(--gh0));cursor:default;opacity:0;width:11px;height:11px;animation:cell-in .4s var(--ease-out-expo) forwards;border-radius:2px;transition:transform .12s}.cell:hover{transform:scale(1.5)}.cell.lv1{background:hsl(var(--gh1))}.cell.lv2{background:hsl(var(--gh2))}.cell.lv3{background:hsl(var(--gh3))}.cell.lv4{background:hsl(var(--gh4))}@keyframes cell-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.map-footer{border-top:1px solid hsl(var(--border));min-width:max-content;color:hsl(var(--muted));justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;padding-top:.72rem;font-size:.65rem;display:flex}.legend{align-items:center;gap:.35rem;display:flex}.legend .cells{gap:2px;display:flex}.legend i{border-radius:2px;width:11px;height:11px;display:inline-block}.legend .lv0{background:hsl(var(--gh0))}.legend .lv1{background:hsl(var(--gh1))}.legend .lv2{background:hsl(var(--gh2))}.legend .lv3{background:hsl(var(--gh3))}.legend .lv4{background:hsl(var(--gh4))}.work-list{gap:1rem;margin-top:1.2rem;display:grid}.work-list article a{border:1px solid hsl(var(--border));background:hsl(var(--card));transition:border-color .22s ease, transform .3s var(--ease-out-expo), box-shadow .3s ease;will-change:transform;backface-visibility:hidden;border-radius:.9rem;padding:1.15rem;display:block;position:relative;overflow:hidden}.work-list article a:before{content:"";background:linear-gradient(135deg, hsl(var(--accent) / .05), transparent 60%);opacity:0;transition:opacity .25s;position:absolute;inset:0}.work-list article a:hover:before{opacity:1}.work-list article a:hover{border-color:hsl(var(--muted) / .3);transform:translateY(-4px);box-shadow:0 12px 32px #00000017}[data-theme=dark] .work-list article a:hover{box-shadow:0 12px 32px #00000052}.work-list .head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.work-list h3{letter-spacing:-.01em;font-size:.98rem;font-weight:600}.work-list .head span{color:hsl(var(--accent));opacity:0;transition:opacity .2s ease, transform .25s var(--ease-out-expo);font-size:1rem;transform:translate(-6px,6px)}.work-list article a:hover .head span{opacity:1;transform:translate(0)}.work-list p{color:hsl(var(--muted));margin-top:.5rem;font-size:.88rem;line-height:1.65}.work-list ul{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;list-style:none;display:flex}.work-list li{border:1px solid hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted));border-radius:999px;padding:.18rem .58rem;font-size:.7rem;transition:color .16s,border-color .16s,background .16s}.work-list article a:hover li{color:hsl(var(--fg));border-color:hsl(var(--muted) / .3);background:hsl(var(--secondary))}.quote-card{border:1px dashed hsl(var(--border));background:hsl(var(--card));color:hsl(var(--fg) / .8);border-radius:.9rem;margin-top:1.2rem;padding:1.3rem 1.5rem 1.3rem 2.2rem;font-family:Playfair Display,Georgia,serif;font-size:1.04rem;font-style:italic;line-height:1.7;position:relative}.quote-card:before{content:"“";color:hsl(var(--accent) / .35);font-family:Georgia,serif;font-size:2.8rem;line-height:1;position:absolute;top:.6rem;left:.9rem}.blog-list{gap:.85rem;margin-top:1.2rem;display:grid}.blog-card{border:1px solid hsl(var(--border));background:hsl(var(--card));transition:border-color .22s ease, transform .3s var(--ease-out-expo), box-shadow .3s ease;border-radius:.9rem;padding:1.05rem 1.15rem;position:relative;overflow:hidden}.blog-card:after{content:"";background:hsl(var(--accent));width:0%;height:2px;transition:width .3s var(--ease-out-expo);border-radius:0 2px 0 0;position:absolute;bottom:0;left:0}.blog-card:hover:after{width:100%}.blog-card:hover{border-color:hsl(var(--muted) / .3);transform:translateY(-3px);box-shadow:0 8px 24px #00000012}[data-theme=dark] .blog-card:hover{box-shadow:0 8px 24px #00000047}.blog-card h3{letter-spacing:-.01em;font-size:.95rem;font-weight:600}.blog-card p{color:hsl(var(--muted));margin-top:.42rem;font-size:.88rem;line-height:1.65}.blog-card span{border:1px solid hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted));border-radius:999px;margin-top:.65rem;padding:.2rem .52rem;font-size:.68rem;display:inline-flex}.cta{text-align:center;padding-top:2.8rem}.cta p{color:hsl(var(--muted));font-size:.95rem}.call-btn{background:hsl(var(--fg));color:hsl(var(--bg));letter-spacing:.01em;min-height:2.8rem;transition:transform .28s var(--ease-out-expo), box-shadow .28s ease, opacity .16s ease;border-radius:999px;align-items:center;gap:.5rem;margin-top:1rem;padding:0 1.3rem;font-size:.85rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.call-btn:before{content:"";transition:transform .35s var(--ease-out-expo);background:#ffffff1f;position:absolute;inset:0;transform:translate(-100%)}.call-btn:hover:before{transform:translate(0)}.call-btn:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0000002e}[data-theme=dark] .call-btn:hover{box-shadow:0 10px 28px #00000073}.mini{background:hsl(var(--muted));border-radius:999px;flex-shrink:0;width:1.4rem;height:1.4rem;position:relative;overflow:hidden}.mini img{object-fit:cover;width:100%;height:100%}.mini .fallback-initials{color:#fff;font-size:.58rem}.footer{border-top:1px solid hsl(var(--border) / .5);margin-top:1rem;padding:2.5rem 0}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.footer-inner p{color:hsl(var(--fg));font-size:.88rem}.footer-inner small{color:hsl(var(--muted));font-size:.8rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.footer-links a{background:hsl(var(--secondary));min-width:2.5rem;min-height:2.5rem;color:hsl(var(--muted));border:1px solid hsl(var(--border));transition:color .16s ease, border-color .16s ease, transform .25s var(--ease-out-expo);border-radius:999px;justify-content:center;align-items:center;padding:0 .75rem;font-size:.75rem;display:inline-flex}.footer-links a:hover{color:hsl(var(--fg));border-color:hsl(var(--muted) / .4);transform:translateY(-2px)}.copyright{color:hsl(var(--muted));font-size:.78rem}.reveal{opacity:0;transition:opacity .6s var(--ease-out-expo), transform .6s var(--ease-out-expo);transform:translateY(22px)}.reveal.visible{opacity:1;transform:translateY(0)}.work-list article.reveal,.oss-full-list .oss-full-card.reveal,.blog-list .blog-card.reveal{transition:opacity .55s var(--ease-out-expo), transform .55s var(--ease-out-expo), box-shadow .3s ease, border-color .22s ease;transform:translateY(32px)}.about-grid article:nth-child(odd){opacity:0;transition:opacity .6s var(--ease-out-expo), transform .6s var(--ease-out-expo);transform:translate(-18px)}.about-grid article:nth-child(2n){opacity:0;transition:opacity .6s 80ms var(--ease-out-expo), transform .6s 80ms var(--ease-out-expo);transform:translate(18px)}.about-grid article.visible{opacity:1;transform:translate(0)}.heatmap-card{opacity:0;transition:opacity .7s var(--ease-out-expo), transform .7s var(--ease-out-expo);transform:scale(.98)}.reveal.visible .heatmap-card{opacity:1;transform:scale(1)}@media (min-width:640px){.banner{aspect-ratio:21/9}.avatar-wrap{margin-top:-3.4rem;padding-left:1.5rem}.avatar{width:6rem;height:6rem}.footer-inner{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}.about-grid,.blog-list{grid-template-columns:1fr 1fr}.blog-list .blog-card:last-child,.copyright{grid-column:1/-1}}@media (min-width:1024px){.avatar{width:7rem;height:7rem}}@media (max-width:760px){.nav-links{gap:.72rem}.nav-links a{font-size:.76rem}}@media (max-width:520px){.container-narrow{padding:0 1rem}.brand{font-size:.94rem}.nav-links{gap:.58rem}.nav-links a{font-size:.74rem}.stack-item{width:4rem}.stack-item i{width:3.2rem;height:3.2rem;font-size:1.5rem}.signature-svg{max-width:280px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.reveal,.about-grid article,.heatmap-card{opacity:1;transform:none}.sig-text{stroke-dashoffset:0;fill-opacity:1;stroke-width:0}.signature-wrap{animation:none}.signature-svg{filter:none;animation:none}.social-pills a,.subtitle,.cell{opacity:1}.page-title,.page-subtitle{opacity:1;animation:none;transform:none}.section h2:after{transform:scaleX(1)}}.oss-list{gap:1rem;margin-top:1.2rem;display:grid}.oss-card{border:1px solid hsl(var(--border));background:hsl(var(--card));transition:border-color .22s ease, transform .3s var(--ease-out-expo), box-shadow .3s ease;color:inherit;border-radius:.9rem;flex-direction:column;gap:.6rem;padding:1.15rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.oss-card:before{content:"";background:linear-gradient(135deg, hsl(var(--accent) / .06), transparent 55%);opacity:0;transition:opacity .25s;position:absolute;inset:0}.oss-card:hover:before{opacity:1}.oss-card:hover{border-color:hsl(var(--accent) / .4);transform:translateY(-4px);box-shadow:0 12px 32px #00000017}[data-theme=dark] .oss-card:hover{box-shadow:0 12px 32px #00000059}.oss-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.oss-repo{align-items:center;gap:.5rem;display:flex}.oss-repo-icon{border:1px solid hsl(var(--border));background:hsl(var(--secondary));border-radius:.5rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;transition:border-color .22s;display:grid}.oss-card:hover .oss-repo-icon{border-color:hsl(var(--accent) / .5)}.oss-repo-icon svg{width:1rem;height:1rem;color:hsl(var(--muted))}.oss-repo-name{color:hsl(var(--muted));letter-spacing:.01em;font-size:.72rem;font-weight:500;line-height:1.2}.oss-repo-name strong{color:hsl(var(--fg));font-size:.82rem;font-weight:600;display:block}.oss-arrow{color:hsl(var(--accent));opacity:0;transition:opacity .2s ease, transform .25s var(--ease-out-expo);flex-shrink:0;font-size:1rem;transform:translate(-5px,5px)}.oss-card:hover .oss-arrow{opacity:1;transform:translate(0)}.oss-title{letter-spacing:-.01em;font-size:.96rem;font-weight:600;line-height:1.4}.oss-desc{color:hsl(var(--muted));font-size:.87rem;line-height:1.65}.oss-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.oss-badge{border:1px solid hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted));border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.68rem;font-weight:500;transition:color .16s,border-color .16s;display:inline-flex}.oss-badge.merged{color:#a670db;background:#8c47d114;border-color:#8c47d159}.oss-badge.open{color:#39c66d;background:#2eb86014;border-color:#2eb86059}.oss-badge svg{width:.7rem;height:.7rem}@media (min-width:640px){.oss-list{grid-template-columns:1fr 1fr}}.oss-full-list{gap:1rem;margin-top:1.2rem;display:grid}.oss-full-card a{border:1px solid hsl(var(--border));background:hsl(var(--card));transition:border-color .22s ease, transform .3s var(--ease-out-expo), box-shadow .3s ease;color:inherit;border-radius:.9rem;padding:1.15rem;text-decoration:none;display:block;position:relative;overflow:hidden}.oss-full-card a:before{content:"";background:linear-gradient(135deg, hsl(var(--accent) / .05), transparent 60%);opacity:0;transition:opacity .25s;position:absolute;inset:0}.oss-full-card a:hover:before{opacity:1}.oss-full-card a:hover{border-color:hsl(var(--accent) / .35);transform:translateY(-4px);box-shadow:0 12px 32px #00000017}[data-theme=dark] .oss-full-card a:hover{box-shadow:0 12px 32px #00000052}.oss-full-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.oss-full-repo{align-items:center;gap:.55rem;display:flex}.oss-full-repo .oss-repo-name{color:hsl(var(--muted));font-size:.78rem;font-weight:400}.oss-full-repo .oss-repo-name strong{color:hsl(var(--muted));font-weight:600}.oss-full-card h3{letter-spacing:-.01em;margin-bottom:.45rem;font-size:.98rem;font-weight:600}.oss-full-card p{color:hsl(var(--muted));margin-top:0;font-size:.88rem;line-height:1.65}.oss-full-card ul{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;list-style:none;display:flex}.oss-full-card li{border:1px solid hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted));border-radius:999px;padding:.18rem .58rem;font-size:.7rem;transition:color .16s,border-color .16s}.oss-full-card a:hover li{color:hsl(var(--fg));border-color:hsl(var(--muted) / .3)}.oss-full-card .oss-meta{margin-top:.85rem}.oss-full-card .oss-arrow{color:hsl(var(--accent));opacity:0;transition:opacity .2s ease, transform .25s var(--ease-out-expo);flex-shrink:0;font-size:1rem;transform:translate(-5px,5px)}.oss-full-card a:hover .oss-arrow{opacity:1;transform:translate(0)}
