@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}.beta{color:#ff006e;font-weight:700}.beta-note{color:#ff006e}.hidden{display:none!important}.centered{text-align:center}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{width:fit-content;margin:auto;padding-left:30px;padding-right:30px;padding-top:min( 18px,5cqi );padding-bottom:calc( env(safe-area-inset-bottom) + min( 10px,1.25cqi ) )}.rating-status-line{padding-left:5px;padding-right:5px;padding-bottom:0;font-size:min( 4.9cqi,25px );color:#fff;width:fit-content;margin:auto}.rating-status-line-rating,.linked-rating{font-weight:700;color:#fff;cursor:pointer;text-decoration:underline}.rating-status-line-mistake{cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;position:relative;top:max( -.4cqi,-2px )}.rating-status-line-question{font-family:Arial,Helvetica,sans-serif}.game-usable-area{position:relative;flex:auto;display:flex;justify-content:center;align-items:center;min-height:0}.game-board{position:relative}.puzzle-making-labels{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;user-select:none;pointer-events:none;font-family:arial;font-size:clamp( 10px,2cqi,16px )}.puzzle-making-label{background-color:#ffffffc0;color:#000}.game-title{font-weight:700;color:#ddd;font-size:clamp( 1rem,4.5cqi,24px )}.stats-and-archive-button{position:relative;top:max( -.5cqi,-3px );margin-left:min( 8cqi,24px );cursor:pointer;text-decoration:underline;font-size:clamp( 1rem,3.5cqi,18px );color:var(--text-color);animation:cycle-color 4s ease-in-out infinite}@property --text-color{syntax: '<color>';
  inherits: false;
  initial-value: #ffffff;
}@keyframes cycle-color{0%{--text-color:#ffffff}50%{--text-color:#ff88ff}100%{--text-color:#ffffff}}.puzzle-info{font-size:clamp( .9rem,2.5cqi,20px )}.used-label,.used-value{font-size:clamp( 12px,5cqi,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,.puzzle-date-value{display:inline-block}.puzzle-number-value{font-family:jetbrains mono,monospace}.theme-info{margin-top:min( 1cqi,10px );font-size:min( 12cqi,24px );font-weight:700;color:#fff}.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}.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}.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 2}@keyframes flash-frames{50%{filter:hue-rotate(180deg)brightness(2)}}.tile.correct.flash-and-pulse{animation:flash-and-pulse-frames 1s ease-in-out 4}@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 50px white}}.pulse-small{animation:pulse-small-frames 2s ease-in-out infinite}@keyframes pulse-small-frames{0%,100%{transform:scale( .9 );filter:brightness( 1 )}50%{transform:scale( 1.01 );filter:brightness( 1.2 )}}.labeled-swaps-used{display:inline-block}.used-label{color:#eee;position:relative;padding-left:10px;padding-right:10px}.used-value{display:inline-block;font-weight:700;margin-right:6px}.rating-status-line-num-mistakes{font-family:jetbrains mono,monospace;font-size:min( 4.5cqi,20px )}.flash-rating-drop{}.flash-rating-drop::before{content:"";position:absolute;top:5px;left:10px;right:10px;bottom:5px;background-color:#ff006e;filter:blur(15px);z-index:-1;will-change:filter;animation-name:flash-rating-drop-frames;animation-duration:1s;animation-timing-function:ease-in-out;opacity:0}@keyframes flash-rating-drop-frames{0%{opacity:.3;transform:scale(.9)}40%{opacity:.8;transform:scale(1.2)}100%{opacity:0;transform:scale(1.05)}}.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:2.55cqi;position:relative;border-bottom:1px solid #000;padding-bottom:4px}.dialog-box-tutorial-alert-title,.dialog-box-instructions-title,.dialog-box-results-title{position:relative;top:-1.5cqi;font-size:6cqi;color:#333}.dialog-box-totals-button{cursor:pointer;font-size:4cqi;background-color:#000;color:#fff;padding:5px 10px;margin-left:30px;border-radius:5px;position:relative;top:-.5cqi}.dialog-box-totals-button:hover{opacity:.6}.close-button{position:absolute;top:-5cqi;right:0;padding:2cqi;color:#333;font-size:7cqi;font-weight:700;cursor:pointer;line-height:9cqi}.close-button:hover,.close-button:focus{opacity:.6}.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-narrow-padding{padding:2px 5px}.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-first{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-paragraph-ratings{margin-top:5cqi;line-height:calc( min( 6.5cqi,24px ) );font-size:clamp( 12px,4cqi,16px )}.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}.dialog-box-tutorial-thumbnail{margin-top:2cqi;margin-bottom:2cqi}.dialog-box-caption{text-align:center;font-style:italic;font-size:min( 4cqi,16px )}.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}.dialog-box-totals{margin-top:30px;margin-bottom:10px}.dialog-box-totals-title{font-weight:700;font-size:min( 6cqi,30px );margin-bottom:20px}.stats-rank-distribution{font-size:min( 4.5cqi,16px )}.stats-stat{margin-top:10px}.stats-label{color:#333}.stats-number{font-weight:700}.stats-puzzles-completed .stats-number{color:#20a020}.stats-rank-distribution{margin-top:20px}.stats-rank-distribution table{margin-top:10px;width:100%;text-align:left;border-collapse:collapse}.stats-rank-distribution td{border:1px solid #333;padding:5px}.stats-rank-distribution th{font-weight:700;padding:5px}.stats-centered{text-align:center}.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}.puzzle-rating-schedule-title{font-weight:700;font-size:min( 5.5cqi,30px )}.rules-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:4cqi;padding-right:4cqi}.puzzle-rating-schedule-table th{font-size:min( 4cqi,20px );padding-bottom:5cqi}.puzzle-rating-schedule-table td{font-size:min( 4cqi,16px )}.rate-puzzle-theme{font-family:dosis,sans-serif;font-weight:700;text-align:center;font-size:min( 7cqi,24px )}.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{}.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-family:dosis,sans-serif;font-weight:700;font-size:7cqi}.puzzle-item-header,.puzzle-item-theme,.puzzle-item-your-rating,.puzzle-item-your-graphics{text-align:center}.puzzle-item-your-graphics{line-height:min( 8cqi,28px );margin-bottom:1.25cqi;word-break:break-all;overflow-wrap:anywhere;white-space:normal}.puzzle-item-your-rating,.puzzle-item-your-graphics{line-height:min( 8cqi,28px )}.puzzle-item-header,.puzzle-item-theme,.puzzle-item-your-rating,.puzzle-item-your-graphics{margin-bottom:15px}.dialog-box-play,.dialog-box-admire,.dialog-box-rate{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}.dialog-box-rate-puzzle-name{font-family:dosis,sans-serif;font-weight:700}.dialog-box-rate-puzzle-instructions{line-height:7cqi}.dialog-box-text-area{background-color:#fff;color:#333;width:100%;height:25vh;margin-top:10px;padding:5px;font-size:5cqi;border-radius:1cqi;border:1px solid #333}.dialog-box-email-input{background-color:#fff;color:#333;width:100%;padding:5px 10px;font-size:4cqi;border-radius:1cqi;border:1px solid #333}.dialog-box-button-send{margin-top:20px;background-color:#1c6f1c}.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}.dialog-box-button-rate-fun,.dialog-box-button-rate-difficulty{display:block;width:70%;background-color:blue;padding:2cqi 10cqi;margin:auto;margin-top:7cqi;text-align:center;font-weight:700}.rate-thanks-area{margin-top:60px;font-weight:700}.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}}.youtube-thumbnail-container{position:relative;display:inline-block;width:100%;max-width:500px;overflow:hidden;border-radius:8px}.youtube-thumbnail-container img{display:block;width:100%;height:auto}.play-button-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;background-color:rgba(40,40,40,.85);border-radius:12px;transition:background-color .2s ease,transform .2s ease;pointer-events:none}.play-button-overlay::after{content:"";position:absolute;top:50%;left:55%;transform:translate(-50%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}.youtube-thumbnail-container:hover .play-button-overlay{background-color:red;transform:translate(-50%,-50%)scale(1.08)}