body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.App{min-height:100vh;min-width:100vw;color:#fff;padding:1px .5rem;overflow-x:hidden}.main-content{position:relative;margin:auto;max-width:60em}.cipher-text-display{word-break:break-word;text-align:justify;font-size:1.4rem;letter-spacing:.1rem;font-family:monospace;padding:1rem 1rem 1.5rem}.cipher-text-display .pressed{font-weight:700}.cipher-text-display .locked{background-color:#000;color:#aaa}.puzzle .cipher-text-display{min-height:12rem}.puzzle-letter{-webkit-animation:letter_change 1s ease-out;animation:letter_change 1s ease-out}.puzzle-buttons{bottom:0;padding:2rem;background-color:rgba(0,0,0,.8);-webkit-transform:translateY(100%);transform:translateY(100%);transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}.puzzle-buttons:before{position:absolute;bottom:100%;content:"⌃";line-height:1rem;font-size:2rem;font-weight:700;color:#3a3a3a;left:10%;border-radius:2px;width:80%;opacity:1;transition:opacity .2s ease-out}.puzzle-buttons-wrapper{position:absolute;width:100%;bottom:0}.puzzle.active:hover .puzzle-buttons{-webkit-transform:translateY(0);transform:translateY(0)}.puzzle-buttons-hit-area:hover .puzzle-buttons:before{opacity:0}.puzzle-buttons>*{margin:0 .25rem}@-webkit-keyframes letter_change{0%{color:#0f0}to{color:inherit}}@keyframes letter_change{0%{color:#0f0}to{color:inherit}}.puzzle-overlay,.puzzle-solved-overlay{position:absolute;width:100%;height:100%;top:0}.puzzle-solved-overlay{-webkit-animation:fade_in 1s linear;animation:fade_in 1s linear}.puzzle-overlayable{position:relative;overflow:hidden}@-webkit-keyframes fade_in{0%{opacity:0}to{opacity:1}}@keyframes fade_in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade_out{0%{opacity:1}to{opacity:0}}@keyframes fade_out{0%{opacity:1}to{opacity:0}}.blurred{-webkit-animation:blur 1s linear;animation:blur 1s linear;-webkit-filter:blur(5px);filter:blur(5px)}@-webkit-keyframes blurout{0%{-webkit-filter:blur(0);filter:blur(0)}to{-webkit-filter:blur(5px);filter:blur(5px)}}@keyframes blurout{0%{-webkit-filter:blur(0);filter:blur(0)}to{-webkit-filter:blur(5px);filter:blur(5px)}}.puzzle .user-input-info-bar{padding-top:.2rem;font-size:.9rem;display:flex;justify-content:space-between;color:#666}.puzzle .puzzle-lock{display:flex;flex-direction:column;justify-content:center;background-color:#222;font-size:1.2rem}.key-indicator{display:inline-block;padding:.15rem;border-radius:.2rem;border:1px solid #000;width:2rem;height:2rem;font-family:monospace}.key-indicator.pressed{border-color:#d3d3d3;font-weight:700}.puzzle-lock.released .key-indicator{-webkit-animation:letter_change 1s ease-out;animation:letter_change 1s ease-out}.puzzle-lock.released{animation:fade_in 1.5s ease-in-out reverse;opacity:0}.touchscreen-input-handler-wrapper{height:50vw}.touchscreen-input-handler{position:fixed;bottom:0;width:100%;text-align:center;color:#fff;box-shadow:0 0 5px rgba(0,0,0,.5);background-color:#252525;padding:.2rem 0}.faux-keyboard{width:100%;position:relative;text-align:center;touch-action:none}.faux-keyboard .row{padding:1px 0;white-space:nowrap}.faux-keyboard .key{font-size:1rem;min-width:10%;padding:.5rem 0;display:inline-block;border:1px solid #000;border-radius:.2rem;font-family:monospace}.faux-keyboard .key-big{padding:.5rem 3vw}.faux-keyboard .key.pressed{border-color:#fff}.touchscreen-input-handler .swap-rep-wrapper{position:absolute;bottom:110%;width:100%}.touchscreen-input-handler .swap-rep{margin:auto;padding:.5rem 1rem;display:inline-block;background-color:#444;border-radius:.2rem;box-shadow:0 0 5px rgba(0,0,0,.5);font-size:1.2rem}.classic-page{text-align:center;margin-top:1rem}.classic-page .event-stream{color:#d3d3d3;margin:auto;overflow:hidden;position:absolute;left:100%;top:1.5rem;text-align:left;padding:0 1rem;white-space:nowrap;display:flex;flex-direction:column;height:75%}.classic-page .event-stream:after{position:absolute;bottom:0;content:"";height:90%;width:calc(100% - 1rem);background:linear-gradient(0,#121212,transparent)}.classic-page .success-overlay{text-align:left;display:flex;flex-direction:column;justify-content:center;background-color:rgba(50,55,50,.8);position:absolute;padding:0 2rem;font-size:1.1rem;width:100%;height:100%;box-shadow:inset 0 0 6px -2px #0f0}.classic-page .success-author-origin{text-align:right}.classic-page .success-overlay h3{font-size:1.2rem;text-align:center;margin:0;color:#32cd32}.classic-page .success-overlay p{margin-top:.5rem}.classic-page .puzzle-header{display:flex;justify-content:space-between;text-align:left;padding:.25rem;color:#d3d3d3}.success-button-group{padding:.5rem;display:flex;justify-content:space-between}#puzzle-self-link{opacity:.01;background-color:transparent}.page-header{text-align:center}.page-header .back-button{position:absolute;left:0;padding:0 1.5rem;line-height:36px;font-size:1rem;color:#fff;text-decoration:none}.home-page a{text-decoration:none}.home-page>h1{flex-shrink:1;margin-bottom:.8rem}.home-page{text-align:center;display:flex;flex-direction:column;min-height:100vh}.home-page>.main-content{flex-grow:1}.home-page>footer{padding:1rem;color:grey}.home-page .footer-links>a{padding:.5rem}.game-mode-card{height:100%}.home-page-title{font-family:monospace}.home-page-title,.home-page-title span{position:relative}.home-logo{height:2rem;width:2rem;vertical-align:middle;margin-right:.5rem}.home-page-subtitle{font-family:monospace;display:block;color:grey;font-size:1.2rem}.tutorial{text-align:center;font-size:1rem}.tutorial-page-four .horiz,.tutorial-page-three .horiz{display:flex;align-items:center}.tutorial-page-four .horiz>*,.tutorial-page-three .horiz>*{flex-basis:50%}.tutorial-page-four .key-indicator,.tutorial-page-three .key-indicator{margin:.5rem}.tutorial{display:flex;flex-direction:column;height:100vh}.tutorial-nav-buttons{padding:1rem;border-top:1px solid #666}.tutorial .current-page-container{display:flex;flex-grow:1;justify-content:center;align-items:center}.create-page{text-align:center;font-size:1rem}
/*# sourceMappingURL=main.2527bcf5.chunk.css.map */