html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,*:after,*:before{box-sizing:border-box}body{display:grid;place-items:center;min-height:100vh;font-family:Google Sans,sans-serif,system-ui;transform-style:preserve-3d;perspective:100vmin;background:#061f37}.dna{height:65vmin;aspect-ratio:2/5;display:grid;transform-style:preserve-3d;transform:rotateX(0);rotate:30deg;gap:.5vmin;animation:rotate 14s infinite linear}@keyframes spin{to{transform:rotateY(360deg)}}.strand{--speed: 2;--delay: calc(sin((var(--index) / var(--total)) * 45deg) * var(--speed) * -1s);width:100%;transform-style:preserve-3d;display:flex;justify-content:space-between}@keyframes rotate{to{transform:rotate(360deg)}}.strand__node{background:var(--bg, white);height:100%;aspect-ratio:1;border-radius:50%;animation:jump calc(var(--speed) * 1s) var(--delay, 0) infinite ease-in-out;border:.5vmin solid black}.strand:before{content:"";position:absolute;top:50%;left:50%;width:94%;height:30%;background:#fff;transform:translate3d(-50%,-50%,-2px);transform-origin:center;animation:scale calc(var(--speed) * 1s) var(--delay, 0) infinite linear;border:.5vmin solid black}@keyframes scale{25%,75%{transform:translate3d(-50%,-50%,-2px) scaleX(0)}0%,50%,to{transform:translate3d(-50%,-50%,-2px) scaleX(1)}}.strand__node:first-of-type{--destination: calc(26vmin - 100%) }.strand__node:last-of-type{--destination: calc(-26vmin + 100%) ;animation-direction:reverse}.strand__node:after{content:"";height:15%;aspect-ratio:1;background:var(--bg, white);position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0) translateY(450%);animation:orbit calc(var(--speed) * .35s) var(--delay, 0) infinite linear}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg) translateY(450%)}}@keyframes jump{25%{translate:0 0 1px}50%{transform:translate(var(--destination))}75%{translate:0 0 -1px}}
