:root{--ink:#12161c;--ink-2:#1b2129;--ink-text:#e6e8ec;--ink-muted:#a0a8b5;--ink-border:#2a323d;--ink-primary:#f87171;--ink-primary-fg:#1a0a0a;--oring-a-0:#07090c;--oring-a-1:#2b3139;--oring-a-2:#5d6673;--oring-b-0:#5f1414;--oring-b-1:#b91c1c;--oring-b-2:#f08a8a;--oring-c-0:#0b1a2e;--oring-c-1:#1e3a5f;--oring-c-2:#6f93c2;--oring-spec:#ffffff;--grid-line:color-mix(in srgb,var(--border) 55%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#161b22;--ink-2:#1f262f;--oring-a-0:#050608;--oring-a-1:#2a3038;--oring-a-2:#6b7584;--oring-b-1:#c93434;--oring-c-1:#2c5384;--oring-c-2:#93b8e6;--grid-line:color-mix(in srgb,var(--border) 70%,transparent)}}:root[data-theme=dark]{--ink:#161b22;--ink-2:#1f262f;--oring-a-0:#050608;--oring-a-1:#2a3038;--oring-a-2:#6b7584;--oring-b-1:#c93434;--oring-c-1:#2c5384;--oring-c-2:#93b8e6;--grid-line:color-mix(in srgb,var(--border) 70%,transparent)}.site-grid-bg{background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 30%,transparent 75%)}.oring-stage{--mx:0;--my:0;--sy:0;position:relative;perspective:1200px;contain:layout paint}.oring-layer{position:absolute;transform:translate3d(calc(var(--mx) * var(--depth) * 26px),calc((var(--my) * 26px + var(--sy) * -.12px) * var(--depth)),0);transition:transform .6s cubic-bezier(.2,0,0,1);will-change:transform}.oring-float{width:100%;height:100%;animation:oring-float var(--float,9s) ease-in-out var(--delay,0s) infinite alternate}.oring-tumble{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--rx,20deg)) rotateY(var(--ry,-15deg)) rotate(0deg);animation:oring-tumble var(--spin,40s) linear var(--delay,0s) infinite}.oring-tumble[data-static]{animation:oring-sway 14s ease-in-out infinite alternate}@keyframes oring-float{0%{transform:translateY(-10px)}to{transform:translateY(12px)}}@keyframes oring-tumble{0%{transform:rotateX(var(--rx,20deg)) rotateY(var(--ry,-15deg)) rotate(0deg)}to{transform:rotateX(calc(var(--rx, 20deg) + 1turn)) rotateY(calc(var(--ry, -15deg) + 180deg)) rotate(90deg)}}@keyframes oring-sway{0%{transform:rotateX(18deg) rotateY(-14deg)}to{transform:rotateX(26deg) rotateY(10deg)}}.oring-dim{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.oring-float,.oring-tumble,.oring-tumble[data-static]{animation:none!important}.oring-layer{transition:none}}