:root{--bg:#0d0e12;--bg-2:#14161c;--ink:#fff;--t80:hsla(0,0%,100%,.8);--t60:hsla(0,0%,100%,.58);--t38:hsla(0,0%,100%,.36);--t20:hsla(0,0%,100%,.18);--line:hsla(0,0%,100%,.1);--line-soft:hsla(0,0%,100%,.05);--blue:#4285f4;--red:#ea4335;--yellow:#fbbc04;--green:#34a853;--blue-dim:rgba(66,133,244,.16);--red-dim:rgba(234,67,53,.16);--yellow-dim:rgba(251,188,4,.16);--green-dim:rgba(52,168,83,.16);--glass:hsla(0,0%,100%,.045);--glass-border:hsla(0,0%,100%,.1);--sans:"Roboto",system-ui,-apple-system,sans-serif;--mono:"Google Sans Code","Roboto Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 15% 0,var(--blue-dim),transparent 70%),radial-gradient(ellipse 50% 45% at 85% 15%,var(--red-dim),transparent 70%),radial-gradient(ellipse 55% 50% at 70% 90%,var(--green-dim),transparent 70%),radial-gradient(ellipse 40% 40% at 25% 85%,var(--yellow-dim),transparent 70%);filter:blur(30px);opacity:.85}.content{position:relative;z-index:1}.glass{background:var(--glass);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border:1px solid var(--glass-border);border-radius:16px}figure,h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@keyframes gx-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes gx-drift{0%,to{transform:translate(0)}50%{transform:translateY(-9px)}}@keyframes gx-pulse{0%,to{opacity:.32}50%{opacity:.85}}@keyframes gx-draw{to{stroke-dashoffset:0}}@keyframes gx-spin{to{transform:rotate(1turn)}}.fade{animation:gx-fade .6s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}