#mkpProg{
position:fixed;left:0;top:0;height:3px;width:100%;z-index:300;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),#ffd08a);box-shadow:0 0 10px var(--accent-soft);pointer-events:none;opacity:0;transition:opacity .25s}#mkpProg.on{
opacity:1}.card{
position:relative}.card::after{
content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),var(--accent-soft),transparent 65%)}.card:hover::after{
opacity:1}.card .card-icon{
transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .3s}.card:hover .card-icon{
transform:translateY(-2px) rotate(-6deg) scale(1.08);box-shadow:0 8px 20px var(--accent-soft)}.card.mkp-wait{
animation-play-state:paused}.cv-hero a,.cv-hero button,.cv-top-btn,.theme-toggle,.cv-tab,.mt-slot{
transition:translate .2s cubic-bezier(.3,1.5,.5,1),scale .2s,box-shadow .25s,border-color .2s,color .2s,background .2s}.cv-hero a:hover,.cv-hero button:hover,.cv-top-btn:hover{
translate:0 -2px;box-shadow:0 8px 22px var(--accent-soft)}.cv-hero a:active,.cv-hero button:active,.cv-top-btn:active,.theme-toggle:active{
scale:.94}.theme-toggle svg{
transition:transform .6s cubic-bezier(.3,1.4,.5,1)}.theme-toggle:hover svg{
transform:rotate(25deg) scale(1.12)}.theme-toggle.spin svg{
transform:rotate(360deg)}.mkp-ripple-host{
position:relative;overflow:hidden}.mkp-ripple{
position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);pointer-events:none;animation:mkpRipple .6s ease-out forwards}@keyframes mkpRipple{
to{
transform:scale(1);opacity:0}}.mkp-wait-img{
background:linear-gradient(100deg,var(--panel-2) 30%,var(--border) 50%,var(--panel-2) 70%);background-size:240% 100%;animation:mkpShimmer 1.3s linear infinite;min-height:60px}@keyframes mkpShimmer{
from{
background-position:120% 0}to{
background-position:-120% 0}}img.mkp-fade{
animation:mkpFade .55s ease both}@keyframes mkpFade{
from{
opacity:0;filter:blur(8px);transform:scale(1.03)}to{
opacity:1;filter:none;transform:none}}.mkp-rv{
opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}.mkp-rv.mkp-in{
opacity:1;transform:none}html.mkp-vt-page::view-transition-old(root){
animation:mkpOut .22s ease both}html.mkp-vt-page::view-transition-new(root){
animation:mkpIn .34s cubic-bezier(.2,.8,.2,1) both}@keyframes mkpOut{
to{
opacity:0;transform:translateY(-8px)}}@keyframes mkpIn{
from{
opacity:0;transform:translateY(14px)}}html.mkp-vt-theme::view-transition-old(root){
animation:none;z-index:1}html.mkp-vt-theme::view-transition-new(root){
animation:mkpReveal .65s cubic-bezier(.4,0,.2,1) both;z-index:2}@keyframes mkpReveal{
from{
clip-path:circle(0 at var(--mkp-x,95%) var(--mkp-y,5%))}to{
clip-path:circle(150% at var(--mkp-x,95%) var(--mkp-y,5%))}}@media(prefers-reduced-motion:reduce){
.mkp-rv{
opacity:1;transform:none;transition:none}.card::after,.card .card-icon,.theme-toggle svg{
transition:none}.mkp-wait-img,img.mkp-fade,.mkp-ripple,#mkpProg{
animation:none}html.mkp-vt-page::view-transition-old(root),html.mkp-vt-page::view-transition-new(root),html.mkp-vt-theme::view-transition-old(root),html.mkp-vt-theme::view-transition-new(root){
animation:none}}.grid{
align-items:stretch}.grid .card{
display:flex;flex-direction:column;height:100%;box-sizing:border-box}.grid .card-top{
align-items:center;min-height:34px}.grid .card-body{
min-width:0}.grid .card-title{
margin-bottom:0;line-height:1.3}.grid .card-desc{
min-height:calc(2 * 1.55em);margin-bottom:14px}.grid .card-tags{
margin-top:auto;min-height:26px;align-content:flex-end;gap:6px}.card-tags .tag{
white-space:nowrap;line-height:1.3}.list .card-tags{
margin-top:0;min-height:0}
