:root{--blue:#2d5fc0;--blue-dim:#24509f;--blue-bright:#3367d5;--white:#ffffff;--white-dim:rgba(255,255,255,0.92);--white-faint:rgba(255,255,255,0.12);--ring:rgba(255,255,255,0.85);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Helvetica,Arial,sans-serif;color:var(--white);background:radial-gradient(1200px 800px at 50% -10%,var(--blue-bright),var(--blue) 60%,var(--blue-dim));background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;text-align:center;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(420px 220px at 15% 12%,rgba(255,255,255,.08),transparent 70%),radial-gradient(520px 280px at 88% 28%,rgba(255,255,255,.05),transparent 70%),radial-gradient(420px 260px at 70% 92%,rgba(255,255,255,.04),transparent 70%);animation:drift 22s ease-in-out infinite alternate;z-index:0}@keyframes drift{0%{transform:translate3d(0,0,0) scale(1);opacity:.85}100%{transform:translate3d(-1.5%,2%,0) scale(1.04);opacity:1}}header{padding:11vh 1rem 3vh;position:relative;z-index:1}h1{font-size:clamp(2rem,6vw,3.5rem);font-weight:700;letter-spacing:.02em;margin:0 0 .4rem;text-shadow:0 2px 24px rgba(0,0,0,.25)}h1 .dot{color:var(--white-dim)}h1 .cursor{display:inline-block;width:.08em;height:1em;margin-left:.12em;background:var(--white);vertical-align:-.12em;animation:blink 1.05s steps(2,end) infinite}@keyframes blink{50%{opacity:0}}.tagline{color:var(--white-dim);font-size:clamp(.85rem,2vw,1rem);letter-spacing:.18em;text-transform:uppercase;margin:0 0 2.2rem}.search-wrap{max-width:540px;margin:0 auto 1.4rem;position:relative}.search{width:100%;padding:.9rem 2.6rem .9rem 2.6rem;font:inherit;color:var(--white);background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.45);border-radius:999px;outline:none;backdrop-filter:blur(6px);transition:border-color .2s,background .2s,box-shadow .2s}.search::placeholder{color:var(--white-dim)}.search:focus{border-color:rgba(255,255,255,.65);background:rgba(0,0,0,.24);box-shadow:0 0 0 4px rgba(255,255,255,.35)}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--white-dim);border-radius:50%;pointer-events:none}.search-icon::after{content:"";position:absolute;right:-6px;bottom:-2px;width:6px;height:2px;background:var(--white-dim);transform:rotate(45deg)}.clear{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:rgba(0,0,0,.25);color:var(--white);border-radius:50%;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s,background .15s,transform .15s;font-size:.8rem;line-height:1}.clear.show{opacity:1;pointer-events:auto}.clear:hover{background:rgba(255,255,255,.25);transform:translateY(-50%) scale(1.08)}.hint{margin-top:.7rem;font-size:.75rem;color:var(--white-dim);letter-spacing:.05em}.hint kbd{font-family:Helvetica;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.35);border-radius:4px;padding:1px 5px;font-size:.75rem}.hint .sep{margin:0 .35rem}.status{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white-dim);margin:.2rem 0 0;height:1.1rem;transition:color .2s}.status b{color:var(--white);font-weight:700;font-variant-numeric:tabular-nums}.status .dim{color:var(--white-dim)}main{max-width:1100px;margin:0 auto;padding:0 1rem 3rem;position:relative;z-index:1}.section{margin:0 0 1.8rem}.section-head{display:flex;align-items:center;gap:.9rem;margin:0 0 .7rem;opacity:.85}.section-head .label{font-weight:700;letter-spacing:.12em;font-size:.8rem;white-space:nowrap}.section-head .rule{height:1px;flex:1;background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,0))}.section-head .count{font-size:.75rem;color:var(--white-dim);font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.grid a{text-decoration:none}.btn{position:relative;display:flex;align-items:center;justify-content:center;padding:.85rem .9rem;font:inherit;font-size:.9rem;color:var(--white);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.35);border-radius:12px;cursor:pointer;transition:transform .14s ease,background .15s,border-color .15s,color .15s,box-shadow .15s;user-select:none;overflow:hidden}.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}.btn:hover::before,a:focus-visible .btn::before{transform:translateX(120%)}.btn:hover,a:focus-visible .btn{background:var(--white);color:var(--blue);border-color:var(--white);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.18)}.btn:active{transform:translateY(0) scale(.98)}a:focus-visible{outline:none}.btn.is-active{border-color:var(--ring);box-shadow:0 0 0 3px rgba(255,255,255,.22),0 8px 20px rgba(0,0,0,.25);transform:translateY(-2px)}.btn.is-active::after{content:"↵";position:absolute;top:4px;right:7px;font-size:.75rem;opacity:1;letter-spacing:0}.grid .btn{background-image:linear-gradient(135deg,rgba(255,255,255,.05),transparent 55%),radial-gradient(140% 120% at 0% 0%,rgba(255,255,255,.06),transparent 60%)}.grid a:hover .btn,.grid a:focus-visible .btn{background-image:linear-gradient(135deg,rgba(255,255,255,.10),transparent 60%),radial-gradient(140% 120% at 0% 0%,rgba(255,255,255,.12),transparent 62%)}.grid a{animation:pop .42s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--pop-in,0s)}@keyframes pop{0%{opacity:0;transform:scale(.92) translateY(4px)}100%{opacity:1;transform:scale(1) translateY(0)}}.grid .btn{animation:jitter var(--jit-dur,6s) ease-in-out infinite var(--jit-delay,0s)}@keyframes jitter{0%,92%,100%{transform:scale(1)}95%{transform:scale(1.035)}97%{transform:scale(.992)}}.hidden{display:none !important}.empty{grid-column:1 / -1;color:var(--white-dim);padding:1rem;font-size:.9rem}footer{padding:1.4rem 1rem 3.5rem;color:var(--white-dim);font-size:.8rem;letter-spacing:.05em;position:relative;z-index:1}footer .row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}footer .row .btn{min-width:130px}footer .sub{margin-top:1rem;opacity:.7}.ver{position:fixed;top:.8rem;right:.8rem;z-index:5;font-size:.75rem;font-family:"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.04em;color:var(--white);background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.28rem .65rem;opacity:0;transform:translateY(-4px);transition:opacity .4s ease,transform .4s ease;backdrop-filter:blur(6px);user-select:none;pointer-events:none}.ver.ready{opacity:.75;transform:translateY(0)}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section,.oss,.personal{animation:rise .5s ease both}.section:nth-child(2){animation-delay:.05s}.section:nth-child(3){animation-delay:.1s}.section:nth-child(4){animation-delay:.15s}.section:nth-child(5){animation-delay:.2s}.section:nth-child(6){animation-delay:.25s}.section:nth-child(7){animation-delay:.3s}.section:nth-child(8){animation-delay:.35s}.section:nth-child(9){animation-delay:.4s}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(300px 300px at var(--mx,50%) var(--my,25%),rgba(255,255,255,.10),transparent 70%)}h1 .grad{background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.85) 50%,var(--white) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 7s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.grid a:hover .btn,.grid a:focus-visible .btn,footer a:hover .btn,footer a:focus-visible .btn{animation:none;transform:perspective(620px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px) scale(1.02)}.grid a:active .btn,footer a:active .btn{transform:perspective(620px) rotateX(0deg) rotateY(0deg) translateY(0) scale(.97)}.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:ripple .55s ease-out forwards}@keyframes ripple{to{transform:translate(-50%,-50%) scale(16);opacity:0}}.progress{position:fixed;top:0;left:0;height:2px;width:var(--p,0%);background:linear-gradient(90deg,var(--white),rgba(255,255,255,.35));z-index:6;transition:width .1s linear;box-shadow:0 0 8px rgba(255,255,255,.4)}.totop{position:fixed;right:1rem;bottom:1rem;z-index:6;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.22);color:var(--white);border-radius:50%;cursor:pointer;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:1rem;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s}.totop.show{opacity:.85;transform:translateY(0);pointer-events:auto}.totop:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}body::before,body::after{display:none}.progress{display:none}}.section-head.center{justify-content:center}.section-head .rule.w120{max-width:120px}
.skip{position:fixed;top:.8rem;left:50%;transform:translate(-50%,-200%);z-index:9;background:rgba(0,0,0,.7);color:var(--white);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:.6rem 1.1rem;font-size:.85rem;transition:transform .2s}.skip:focus{transform:translate(-50%,0)}.clear:focus-visible,.totop:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (forced-colors:active){.grad{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentcolor}}