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}*{box-sizing:border-box}:root{--shadow: hsl(0 0% 0% / .5);--safe: hsl(0 0% 45%);--safe--dark: hsl(0 0% 35%);--safe--darkest: hsl(0 0% 15%);--safe--light: hsl(0 0% 55%);--dial: hsl(18 90% 50%)}.cylinder{--hue: 10;--depth: 3;--bg: hsl(var(--hue), 100%, 50%);height:100%;width:100%;position:relative}.cylinder__segment{filter:brightness(var(--b, 1));background:var(--safe--darkest);position:absolute;top:50%;left:50%}.cylinder__side:nth-of-type(odd){background:var(--safe--dark)}.cylinder__end{--b: 1.2;--end-coefficient: .5;height:100%;width:100%;border-radius:50%;transform:translate3d(-50%,-50%,calc((var(--depth, 0) * var(--end-coefficient)) * 1vmin))}.cylinder__end--bottom{--b: .8;--end-coefficient: -.5;overflow:hidden}.cylinder__end--bottom:after{content:"";position:absolute;height:50%;width:10%;background:var(--dial);bottom:75%;left:50%;transform:translate(-50%)}.cylinder__side{--b: .9;height:calc(var(--depth, 30) * 1vmin);width:calc(var(--side) * 1vmin);transform:translate(-50%,-50%) rotateX(90deg) rotateY(calc((var(--index, 0) * 360 / var(--sides)) * 1deg)) translate3d(50%,0,calc(var(--radius) * 1vmin))}.cuboid{height:100%;width:100%;position:relative}.cuboid__side{background:currentColor;position:absolute;height:100%;width:100%;filter:brightness(var(--brightness, 1))}.cuboid__side:nth-of-type(1){--brightness: .8;top:0;height:var(--depth, 50vmin);transform:translateY(-50%) rotateX(-90deg)}.cuboid__side:nth-of-type(2){--brightness: .6;top:50%;right:0;width:var(--depth, 50vmin);transform:translate(50%,-50%) rotateY(90deg)}.cuboid__side:nth-of-type(3){--brightness: 1.3;bottom:0;height:var(--depth, 50vmin);transform:translateY(50%) rotateX(90deg)}.cuboid__side:nth-of-type(4){--brightness: .6;top:50%;width:var(--depth, 50vmin);transform:translate(-50%,-50%) rotateY(90deg)}.cuboid__side:nth-of-type(5){--brightness: .75;transform:translateZ(calc(var(--depth, 50vmin) / -2))}.cuboid__side:nth-of-type(6){--brightness: 1;transform:translateZ(calc(var(--depth, 50vmin) / 2)) rotateY(180deg)}.safe{--size: 20vmin;--rotation: 4deg;--flight: -100;--open: 0;--door-speed: 2;--combo: 0;position:fixed;top:50%;left:50%;transform:translate3d(-50%,-50%,100vmin) rotateX(-24deg) rotateY(24deg) translateY(calc(var(--flight, 0) * 1vmin)) rotate(calc((var(--proximity, 0) / 100) * var(--rotation)));height:var(--size);aspect-ratio:1 / 1;transform-origin:50% 100%;transition:transform .25s ease-in}.safe__shadow{--size: 20vmin;height:var(--size);aspect-ratio:1 / 1;position:fixed;top:50%;left:50%;transform-origin:50% 100%;transform:translate3d(-50%,-50%,100vmin) rotateX(-24deg) rotateY(24deg) translateZ(calc(var(--size) * .5)) rotateX(90deg)}.safe__shadow:after{content:"";position:absolute;inset:0;background:var(--shadow);opacity:var(--o, 0);transition:opacity .25s ease-in,transform .25s ease-in;transform:scale(var(--o, 0))}.safe--cracking{animation:shake calc((1 - ((var(--proximity, 0) / 100) * .9)) * 1s) infinite}.safe--cracked{--open: 10}.safe--opened{--open: 130;--door-speed: .5}*{transform-style:preserve-3d}.safe__outer{--depth: var(--size);color:var(--safe--dark);height:100%;aspect-ratio:1 / 1}.safe__door{--depth: calc(var(--size) * .1);height:80%;aspect-ratio:1 / 1;position:absolute;top:50%;left:50%;transform-origin:95% 50%;transition:transform calc(var(--door-speed) * 1s) ease-in-out;transform:translate3d(-50%,-50%,calc(var(--size) * .45)) rotateY(calc(var(--open) * 1deg));color:var(--safe)}.safe__inner{--depth: calc(var(--size) * .9);height:80%;aspect-ratio:1 / 1;position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,calc(var(--size) * .05));color:var(--safe)}.safe__inner .cuboid__side:nth-of-type(5){--brightness: .2}.safe__inner .cuboid__side:last-of-type{display:none}.safe__outer .cuboid__side:last-of-type{background:none;border:calc(var(--size) * .1) solid var(--safe--dark)}.safe__door .cuboid__side:last-of-type{filter:none}.josh{height:75%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 10s infinite linear}code{color:#f2520d;background:#262626;padding:8px;font-weight:700;font-size:1.2rem}marquee{display:none;font-family:Google Sans,sans-serif;position:fixed;width:50vmin;top:20vmin;top:50%;left:50%;transform:translate(-50%,calc(-50% + 20vmin))}@keyframes spin{to{transform:translate(-50%,-50%) rotateY(360deg)}}.safe__door .cuboid__side:last-of-type img{position:absolute;height:20%;top:5%;right:5%;filter:grayscale(1);opacity:.5}.safe__combination{--depth: calc(var(--size) * .2);transform:translate3d(-50%,-50%,calc(var(--size) * -.1)) rotate(calc(((360 / 100) * var(--combo, 0)) * 1deg));height:30%;width:30%;position:absolute;top:50%;left:50%;transition:transform .1s}body{accent-color:hsl(120 80% 50%);display:grid;place-items:center;min-height:100vh;margin:0;font-family:Google Sans,sans-serif;font-weight:700;overflow:hidden}main{display:grid;grid-template-columns:repeat(2,auto);grid-template-rows:repeat(3,auto);grid-gap:.5rem}label{color:#262626}button{grid-column:1 / -1;font-weight:700;font-family:sans-serif;padding:8px 16px;font-size:1rem;border-radius:4px;border:0;color:#fff;background:hsl(120 50% var(--lightness, 50%));transition:background .2s;transform:translateZ(200vmin)}button:hover{--lightness: 60%}button:active{--lightness: 40%}[for],[type=range]{display:none}@keyframes shake{25%{transform:translate3d(-50%,-50%,100vmin) rotateX(-24deg) rotateY(24deg) translateY(calc(var(--flight, 0) * 1vmin)) rotate(calc((var(--proximity, 0) / 100) * var(--rotation)))}75%{transform:translate3d(-50%,-50%,100vmin) rotateX(-24deg) rotateY(24deg) translateY(calc(var(--flight, 0) * 1vmin)) rotate(calc((var(--proximity, 0) / 100) * (var(--rotation) * -1)))}}.control__label,.control__input{display:none}.locks{display:grid;grid-template-columns:repeat(var(--locks, auto-fit),auto);gap:.5rem;position:fixed;top:1rem;right:1rem}.lock{height:32px;aspect-ratio:1;display:none;position:relative;color:hsl(130 calc(var(--unlocked, 0) * 90%) 75%);opacity:calc(1 - var(--unlocked, 0));transition:opacity .25s .25s;animation:bounce-in .5s calc(var(--index) * .25s) both}@keyframes bounce-in{0%{transform:scale(0)}90%{transform:scale(1.1)}to{transform:scale(1)}}.lock:before{content:"";width:90%;border-radius:15%;height:55%;position:absolute;bottom:0;left:50%;background:currentColor;z-index:2;transform:translate(-50%)}.lock--unlocked{--unlocked: 1}.lock:after{content:"";height:100%;width:60%;position:absolute;top:0;left:50%;transform:translate(-50%,calc(var(--unlocked, 0) * -25%));border-radius:50% 50% 0 0/35%;border:6px solid currentColor;box-sizing:border-box;transition:transform .25s;clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%)}
