
html,body{margin:0}
[hidden]{display:none!important}
.ifw{display:contents}
a{color:inherit}
.glass{position:relative;background:var(--glass);-webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 -1px 0 var(--glass-lo),0 14px 36px -10px var(--shadow)}
.glass::before,.ygpill::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,var(--rim1),var(--rim2) 38%,var(--rim3) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(72px);opacity:var(--orb-op);pointer-events:none}
.ygpill{position:relative;background:var(--pill);-webkit-backdrop-filter:blur(24px) saturate(200%);backdrop-filter:blur(24px) saturate(200%);box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 -1px 0 var(--glass-lo),0 14px 36px -10px var(--shadow);animation:ygpill-in .8s cubic-bezier(.2,.9,.25,1.15) both}
.ygpill .il{transition:background .15s ease,color .15s ease}
.ygpill .il:hover{background:var(--pill-hover);color:var(--fg)}
.field{transition:border-color .15s ease}
.field:focus-within{border-color:var(--focus)}
.field input::placeholder{color:var(--fg2)}
.btn{transition:transform .15s ease,filter .15s ease}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:scale(.98)}
.lnk:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
input:focus-visible{outline:none}
@keyframes ygpill-in{from{opacity:0;transform:translateY(-10px) scale(.5,.8)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.ygpill{animation:none}.btn,.field,.ygpill .il{transition:none}}

.orb{animation:orb-a 18s ease-in-out infinite alternate}
.orb:nth-child(2n){animation-name:orb-b;animation-duration:23s}
.lg-in > *{animation:rise .9s cubic-bezier(.2,.9,.25,1) backwards}
.lg-in > *:nth-child(1){animation-delay:.25s}
.lg-in > *:nth-child(2){animation-delay:.35s}
.lg-in > *:nth-child(3){animation-delay:.45s}
.lg-in > *:nth-child(4){animation-delay:.55s}
.lg-in > *:nth-child(5){animation-delay:.65s}
.lg-in > *:nth-child(6){animation-delay:.75s}
.lg-in > *:nth-child(7){animation-delay:.85s}
.shine{position:relative;overflow:hidden}
.shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s ease;pointer-events:none}
.shine:hover::after{transform:translateX(130%)}
.shake{animation:shake .45s ease}
.shake-b{animation:shake-b .45s ease}
@keyframes rise{from{opacity:0;transform:translateY(26px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes orb-a{from{transform:translate(0,0) scale(1)}to{transform:translate(-50px,40px) scale(1.12)}}
@keyframes orb-b{from{transform:translate(0,0) scale(1.05)}to{transform:translate(60px,-35px) scale(.92)}}
@keyframes shake{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
@keyframes shake-b{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
@media (prefers-reduced-motion: reduce){.orb,.lg-in > *,.shake,.shake-b{animation:none}.shine::after{transition:none}}

.cab-in > *{animation:rise .9s cubic-bezier(.2,.9,.25,1) backwards}
.cab-in > *:nth-child(1){animation-delay:.1s}
.cab-in > *:nth-child(2){animation-delay:.22s}
.cab-in > *:nth-child(3){animation-delay:.34s}
.cab-in > *:nth-child(4){animation-delay:.46s}
.cab-card{transition:transform .55s cubic-bezier(.2,1.3,.3,1)}
.cab-card:hover{transform:translateY(-4px)}
.ghost{transition:background .15s ease}
.ghost:hover{background:var(--pill-hover)}
@media (prefers-reduced-motion: reduce){.cab-in > *{animation:none}.cab-card{transition:none}.cab-card:hover{transform:none}}

/* theme toggle icons */
html .ic-sun,html .ic-moon{display:contents}
html.t-dark .ic-moon,html.t-light .ic-sun{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* custom scrollbar */
html{scrollbar-width:thin;scrollbar-color:var(--sb,rgba(128,128,140,.45)) transparent}
html.t-dark{--sb:rgba(255,255,255,.28);--sbh:rgba(255,255,255,.45)}
html.t-light{--orb2:#5AC8FA;--sb:rgba(0,0,0,.25);--sbh:rgba(0,0,0,.4)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--sb);border:3px solid transparent;background-clip:padding-box;border-radius:999px;min-height:48px}
::-webkit-scrollbar-thumb:hover{background:var(--sbh);background-clip:padding-box;border:3px solid transparent}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-corner{background:transparent}
