@font-face{font-family:dosis;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Dosis-VariableFont_wght.ttf)format('truetype')}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-VariableFont_wght.ttf)format('truetype')}:root{color-scheme:only dark}*{margin:0;padding:0;box-sizing:border-box}.hidden{display:none!important}body{margin:0;font-family:dosis,sans-serif;height:100vh;display:block;justify-content:center;align-items:center;overflow:hidden;overscroll-behavior:none;background:#000;user-select:none}.landscape-warning{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;color:#fff;z-index:9999;font-size:3cqi;justify-content:center;align-items:center}@media(orientation:landscape) and (max-width:950px){.landscape-warning{display:flex}}.game-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;filter:brightness( 1.25 );background-image:url(/space_background.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat}.container{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.top-area,.swaps-used-area{position:relative;flex:none;padding:5px;color:#bbb;text-align:center}.top-area{padding-bottom:20px}.swaps-used-area{padding-top:min( 18px,5cqi )}.swaps-used-area{padding-bottom:calc( env(safe-area-inset-bottom) + min( 10px,1.25cqi ) )}.game-usable-area{flex:auto;display:flex;justify-content:center;align-items:center;min-height:0}.game-board{position:relative}.game-board.claimed{animation:board-pulse 6s infinite ease-in-out}@keyframes board-pulse{0%,100%{box-shadow:0 0 0 10px #000,0 0 25px 15px rgba(0,255,0,.6)}50%{box-shadow:0 0 0 10px #000,0 0 25px 15px #0f0}}.game-title{font-weight:700;color:#ddd;font-size:clamp( 1rem,4.5cqi,24px )}.puzzle-info{font-size:clamp( .9rem,2.5cqi,20px )}.play-next-puzzle-button{display:inline-block;margin-left:2cqi;padding:min(.4cqi,6px)min(2cqi,20px);background-color:#333;color:#fff;border:2px solid #fff;border-radius:5px;font-size:clamp( .7rem,2cqi,16px );font-weight:700;cursor:pointer;transition:background-color .2s ease;position:relative;top:-1px}.used-label,.used-value{font-size:clamp(12px,4cqi,24px)}.archive-button,.menu-button{position:absolute;right:5px;top:7px;width:fit-content;padding:2px 7px 0;z-index:1;background:#555;border:1px solid #888;border-radius:4px;color:#fff;font-size:1.3rem;font-weight:700;cursor:pointer;transition:background .3s}.archive-button:hover,.menu-button:hover{background:#888}.archive-button-instruction{position:absolute;top:7cqi;font-size:min( 4cqi,20px );right:.25cqi;background-color:#643295c0;width:fit-content;white-space:nowrap;padding:2px 10px;animation:gentleRock 2s linear infinite;font-weight:400}@keyframes gentleRock{0%,100%{transform:rotate( 0 )}25%{transform:rotate( -3deg )}75%{transform:rotate( 3deg )}}.puzzle-info{text-align:center;color:#aaa;vertical-align:middle}.puzzle-number-value{display:inline-block;font-family:jetbrains mono,monospace}.puzzle-number-value-spacer{margin-right:2cqi}.theme-info{margin-top:min( 1cqi,10px );font-size:min( 12cqi,24px );font-weight:700;color:#fff}.guided-tutorial-message{position:absolute;top:12%;font-size:min( 4cqi,20px );color:#fff;padding:10px;letter-spacing:.05em}.guided-tutorial-message-title{color:#ff0;margin-bottom:5px}.guided-tutorial-correction{font-weight:700}.guided-tutorial-shift{transform:translateY( 20% )}.i-know-it-button{font-family:Verdana,Geneva,Tahoma,sans-serif;display:inline-block;position:relative;top:-.2cqi;font-size:min( 3.5cqi,16px );font-weight:700;padding:min( .7cqi,6px )min( 3cqi,20px );background-color:#333;color:#fff;border:2px solid #fff;border-radius:5px;cursor:pointer;transition:background-color .2s ease}.i-know-it-button:hover{background-color:#555}.claim-status-line{width:fit-content;margin-left:auto;margin-right:auto}.claim-status-line-animated{display:inline-block;padding-left:5px;padding-right:5px;padding-bottom:2px;font-size:min( 4.9cqi,25px );color:#fff}.claim-status-line-locked-in{background-color:#20a020}.claim-status-line-crashed{background-color:#94650e}.locked-in-rating{font-weight:700;color:#fff;cursor:pointer;text-decoration:underline}.locked-in-question{font-family:Arial,Helvetica,sans-serif}.locked-in-arrow{width:4cqi;max-width:20px;max-height:26px;vertical-align:middle}.claim-status-line-animated.animated{--color:rgb(60, 236, 60);border:2px dashed transparent;background:linear-gradient(90deg,var(--color) 50%,transparent 50%)repeat-x top,linear-gradient(90deg,var(--color) 50%,transparent 50%)repeat-x bottom,linear-gradient(0deg,var(--color) 50%,transparent 50%)repeat-y 0,linear-gradient(0deg,var(--color) 50%,transparent 50%)repeat-y 100%;background-size:15px 2px,15px 2px,2px 15px,2px 15px;animation:border-dance .5s infinite linear}@keyframes border-dance{0%{background-position:0 0,0 100%,0 0,100% 0}100%{background-position:15px 0,-15px 100%,0 -15px,100% 15px}}.claim-green-line{display:flex;align-items:center;justify-content:center}.claim-green-swatch{display:inline-block;background-color:#20a020;width:min(3.5cqi,20px);height:min(3.5cqi,20px);border-radius:min(.5cqi,2px);position:relative;top:.18cqi}.bold_number{font-family:jetbrains mono,monospace;font-weight:700}.tile-box{position:absolute;border:2px solid #555;border-radius:8px}.tile{position:absolute;display:grid;place-items:center;width:100%;height:100%;font-size:3.5rem;font-weight:800;color:#333;cursor:pointer;user-select:none;transition:transform .1s;border-radius:8px;border-bottom:5px solid #a0a0a0;border-bottom-width:2px;z-index:1}.tile-letter.special{font-family:jetbrains mono,monospace}.tile.swap-target{opacity:.5}.tile.dragging{opacity:1;cursor:grabbing;z-index:10;transform:scale( 1.3 );transition:transform .2s}.tile.correct{background-color:#20a020;border-bottom-color:#1c6f1c;color:#fff;cursor:default}.tile.misplaced{background-color:#e4a522;border-bottom-color:#94650e;color:#fff}.tile.wrong{border-bottom-color:gray;background-color:#ddd;color:#000}.tile.crashed{background-color:#94650e;border-bottom-color:#63440c;color:#fff;cursor:default}.tile.win-animation-highlight{background-color:pink;border-bottom-color:red;color:#000}.is-spinning{animation:spin-frames 1s linear infinite;will-change:transform;scale:.85}@keyframes spin-frames{from{transform:rotate( 0 )}to{transform:rotate( 360deg )}}.selected{opacity:.75;animation:selected-frames 1s linear infinite;will-change:transform}@keyframes selected-frames{0%,100%{transform:rotate( 0 )}25%{transform:rotate( -6deg )}75%{transform:rotate( 6deg )}}.tile.correct.flash{animation:flash-frames 2s ease-in-out infinite}@keyframes flash-frames{50%{filter:hue-rotate(180deg)brightness(2)}}.tile.correct.flash-and-pulse{animation:flash-and-pulse-frames 1s ease-in-out infinite}@keyframes flash-and-pulse-frames{0%,100%{transform:scale( .8 )}50%{filter:hue-rotate(180deg)brightness(2);transform:scale( 1.04 )}}.pulse{animation:pulse-frames 1s ease-in-out infinite}@keyframes pulse-frames{0%,100%{transform:scale( .8 );filter:brightness( 1 )}50%{transform:scale( 1.04 );filter:brightness( 1.2 );box-shadow:0 0 20px rgba( 255,255,255,.4 )}}.pulse-small{animation:pulse-small-frames 2s ease-in-out infinite}@keyframes pulse-small-frames{0%,100%{transform:scale( .98 );filter:brightness( 1 )}50%{transform:scale( 1.002 );filter:brightness( 1.2 )}}.labeled-swaps-used{display:inline-block;position:relative;top:0}.used-label{color:#fff;position:relative}.used-value{font-family:jetbrains mono,monospace;display:inline-block;font-weight:700;color:#fff;margin-right:6px}.logo-display{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.logo-display-image{max-width:min( 90%,600px )}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-content{container-type:inline-size;display:flex;flex-direction:column;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:100%;position:relative;background-color:#fff;color:#000;margin:20px auto;padding:calc(min(3.8cqi,20px));width:500px;height:90%;max-height:90%;max-width:90%;overflow:hidden;user-select:text}.dialog-box-title{container-type:inline-size;flex:none;font-weight:700;margin-bottom:4.55cqi;position:relative}.dialog-box-category{font-size:5cqi;padding:4px 1cqi;color:#333;background-color:#fff;width:fit-content;margin-right:3cqi;cursor:pointer}.dialog-box-category.active{color:#fff;background-color:#333;cursor:default}.close-button{position:absolute;top:-1.5cqi;right:-1cqi;padding:1cqi;color:#333;font-size:7cqi;font-weight:700;cursor:pointer;line-height:7cqi}.close-button:hover,.close-button:focus{color:#000}.dialog-box-button{background-color:#333;color:#fff;border:none;padding:5px 30px;cursor:pointer;border-radius:5px;white-space:nowrap;margin-top:5px;margin-bottom:5px;display:inline-block}.dialog-box-button-got-it{margin-top:4.5cqi}.dialog-box-button:hover{opacity:.7}.dialog-box-button-minor{background-color:#333;color:#fff;padding:2px 10px}.outlined-button{display:inline-block;margin-top:1cqi;margin-bottom:.5cqi;border:2px solid #333;color:#333;padding:2px 10px;border-radius:5px;width:fit-content}.outlined-button-white{border:2px solid #fff;color:#fff;font-size:clamp(12px,4cqi,16px);margin-top:0;margin-bottom:0;position:relative;top:max(-.3cqi,-2.5px);margin-right:.2cqi}.outlined-button-guide{display:inline-block;border:2px solid #ddd;color:#fff;padding:0 10px;border-radius:5px;width:fit-content;position:relative;top:1px}.dialog-box-paragraph{margin-top:5cqi;line-height:calc( min( 7cqi,28px ) )}.dialog-box-paragraph-header{font-weight:700;font-size:100%}.dialog-box-paragraph-less{margin-top:20px;margin-bottom:20px;line-height:calc( min( 7cqi,26px ) )}.dialog-box-centered{text-align:center}.dialog-box-panel{flex:auto;position:relative;padding-right:4cqi;font-size:calc( min( 5cqi,18px ) );min-height:0;overflow-y:auto;overflow-x:hidden}.tile-swatch-table{margin-left:0;margin-top:4cqi;border-collapse:collapse;border:none}.tile-swatch-table-column{padding-bottom:10px;font-weight:700}.tile-swatch-table-column[data-key="1"]{width:20%;text-align:center}.tile-swatch-table-column[data-key="2"]{width:60%}.tile-swatch-meaning{padding-top:1cqi;padding-bottom:1cqi;line-height:calc( min( 7cqi,26px ) )}.tile-swatch-color{position:relative;top:4px;margin:auto;width:8cqi;height:8cqi;border-radius:1cqi;margin-bottom:10px}.tile-swatch-color-inline{display:inline-block;position:relative;top:2cqi;width:8cqi;height:8cqi;border-radius:1cqi}.tile-swatch-color[data-key=correct]{background-color:#20a020}.tile-swatch-color[data-key=misplaced],.tile-swatch-color-inline[data-key=misplaced]{background-color:#e4a522}.tile-swatch-color[data-key=wrong]{background-color:#ddd}.dialog-intersection-note{margin-top:3cqi;line-height:8cqi}.hints-title,.hint{margin-top:20px}.hint-1-value,.hint-2-value{font-weight:800}.dialog-box-reveal-hint-1,.dialog-box-reveal-hint-2{margin-left:20px}.hint-confirmation{margin-top:50px}.hint-confirmation-buttons{text-align:center}.dialog-box-claim-title,.puzzle-rating-schedule-title{font-weight:700;font-size:min( 6cqi,30px )}.claim-see-ratings-table{text-decoration:underline;cursor:pointer}.puzzle-rating-schedule-title{text-align:center}.puzzle-rating-schedule-table{margin-top:5cqi;border-collapse:collapse}.puzzle-rating-schedule-table-row-shaded{background-color:#e0e0e0}.puzzle-rating-schedule-table th,.puzzle-rating-schedule-table td{text-align:center;vertical-align:middle;white-space:nowrap;padding-top:8px;padding-bottom:8px;padding-left:5cqi;padding-right:5cqi}.puzzle-rating-schedule-table th{font-size:min( 4cqi,20px );padding-bottom:5cqi}.puzzle-rating-schedule-table td{font-size:min( 3.5cqi,18px )}.dialog-box-confirm-claim-yes,.dialog-box-confirm-claim-no{padding:8px 10px}.dialog-box-confirm-claim-yes{margin-top:10cqi;background-color:#20a020;color:#fff}.dialog-box-confirm-claim-no{margin-top:10cqi;margin-bottom:10cqi}.dialog-box-confirm-hint-yes,.dialog-box-confirm-hint-no{margin-top:20px;margin-left:5cqi;margin-right:5cqi;width:28cqi;text-align:center}.puzzle-list{margin-top:20px}.puzzle-item{padding:3.4cqi;border:1px solid #333;margin-bottom:15px}.puzzle-item-active{border:4px solid #000;box-shadow:0 2px 5px gray}.puzzle-item-theme{font-weight:700;color:#006400;font-size:7cqi}.puzzle-item-header,.puzzle-item-theme,.puzzle-item-your-stats,.puzzle-item-hints-used,.puzzle-item-your-rating{text-align:center}.puzzle-item-artist-and-year{margin-top:1.25cqi;margin-bottom:1.25cqi}.puzzle-item-your-stats,.puzzle-item-hints-used{line-height:min( 8cqi,28px );margin-bottom:1.25cqi;word-break:break-all;overflow-wrap:anywhere;white-space:normal}.puzzle-item-your-rating{line-height:min( 8cqi,28px )}.puzzle-item-header,.puzzle-item-theme,.puzzle-item-your-rating,.puzzle-item-youtube-link{margin-bottom:15px}.puzzle-item-your-rating-crashed{background-color:#94650e;padding:2px 10px;color:#fff;width:fit-content;margin:auto;margin-bottom:15px}.puzzle-item-youtube-link img{width:85cqi;height:48cqi;max-width:320px;max-height:180px}.puzzle-item-youtube-link{position:relative;display:block;line-height:0}.puzzle-item-youtube-link::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:15cqi;height:15cqi;max-width:60px;max-height:60px;background-color:rgba(0,0,0,.7);border-radius:50%;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M8 5v14l11-7z"/></svg>');background-repeat:no-repeat;background-position:50%;background-size:60%;transition:background-color .2s ease;pointer-events:none}.puzzle-item-youtube-link:hover::after{background-color:rgba(255,0,0,.9)}.dialog-box-play,.dialog-box-continue-playing,.dialog-box-admire,.dialog-play-next-puzzle-button{display:block;width:fit-content;margin:auto;margin-bottom:10px;padding:3px 10px}.dialog-box-copy-result{width:fit-content;padding:0 8px;margin-left:8px}.puzzle-list-more-button{text-align:center}.dialog-box-text-area{width:100%;height:25vh;margin-top:20px;padding:10px;font-size:4cqi;border-radius:1cqi;border:1px solid #333}.dialog-box-email-input{width:100%;padding:5px 10px;font-size:4cqi;border-radius:1cqi;border:1px solid #333}.dialog-box-button-send{margin-top:20px}.dialog-box-email-sent{margin-top:20px}.how-to-play{font-weight:700;margin-top:3cqi;margin-bottom:10px}.intro-image{width:100%;height:auto}.dialog-box-about{margin-top:10%;font-weight:700}.dialog-box-ko-fi-line{text-align:center}.dialog-box-paragraph-less a{color:purple;font-weight:700}.dialog-box-ko-fi-link{color:purple;font-weight:700}.dialog-box-privacy{cursor:pointer;text-decoration:underline;margin-right:8cqi}.dialog-box-footer{margin-top:6cqi;font-size:min( 4cqi,14px );margin-bottom:1cqi}.dialog-box-button-ok{display:block;width:fit-content;padding:2cqi 10cqi;margin:auto;margin-top:10cqi}.drag-img{display:block;width:100%;height:auto;margin-top:5cqi}@media(orientation:landscape) and (max-height:650px){.menu-button{border-radius:3px}.tile-box,.tile{border-radius:7px}.modal-content{margin:2% auto}}@media(orientation:landscape) and (max-height:520px){.menu-button{border-radius:3px}.tile-box,.tile{border-radius:5px}}@media(orientation:landscape) and (max-height:300px){.menu-button{padding:3px 5px 1px;border-radius:3px}.tile-box,.tile{border-radius:3px}}@media(orientation:portrait) and (max-width:500px){.tile-box,.tile{border-radius:7px}.menu-button{border-radius:3px}}@media(orientation:portrait) and (max-width:400px){.tile-box,.tile{border-radius:5px}.menu-button{border-radius:3px}}@media(orientation:portrait) and (max-width:300px){.tile-box,.tile{border-radius:3px}.menu-button{padding:3px 5px 1px;font-size:.8rem;border-radius:3px}}.moving-star{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0;transition-timing-function:ease-in}@keyframes star-outward{0%{transform:translate(-50%,-50%)scale(.25);opacity:.3}100%{transform:translate(var(--target-x),var(--target-y))scale(1);opacity:1}}#fx-layer{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;overflow:hidden;z-index:50}.space-dust{position:absolute;pointer-events:none;z-index:10;width:40px;height:40px;animation:dust-fade .8s linear forwards}@keyframes dust-fade{0%{transform:scale(1);opacity:1}90%{opacity:0}100%{transform:scale(.2)translate(var(--drift-x),var(--drift-y));opacity:0}}