#sr-only{clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}*{box-sizing:border-box}.ui-draggable-handle{touch-action:none}:root{--grid-size:4;--cards-in-hand:3;--square-size-ideal:min(calc((100vw - ((var(--body-padding)*2) + (var(--gap)*(var(--grid-size) - 1))))/var(--grid-size)),calc((100vh - (var(--body-padding) + (var(--gap)*(var(--grid-size) + 3))))/(var(--grid-size) + 1)));--square-size-min:60px;--square-size-max:110px;--square-size:clamp(var(--square-size-min),var(--square-size-ideal),var(--square-size-max));--content-width:calc((var(--square-size-max)*var(--grid-size)) + (var(--gap)*(var(--grid-size) - 1)));--rotate-width:1em;--rotate-height:.804em;--border-thickness:2px;--gap:20px;--body-padding:20px;--board-ease:cubic-bezier(.76,-.92,.39,1.54);--red:#ff4338;--green:#54ff38;--black:#000;--white:#fff;--antiquewhite:#f9ead6;--antiquewhite-light:#fcf8f3;--antiquewhite-dark:#efc893;--rotation:0deg;--inverse-rotation:0deg}@media (max-width:550px){:root{--gap:10px;--content-width:100%}}@media (max-height:550px){:root{--gap:10px}}@media (prefers-color-scheme:dark){:root{--black:#ddd;--white:#000;--antiquewhite:#143056;--antiquewhite-light:#041327;--antiquewhite-dark:#487bbe}}@font-face{font-family:Gordita;src:url(webfont/gordita-medium.woff2)format("woff2"),url(webfont/gordita-medium.woff)format("woff")}body{text-align:center;color:var(--black);padding:0 var(--body-padding)calc(var(--body-padding)*2);background-color:var(--antiquewhite-light);align-content:center;margin:0;font-family:Gordita;font-size:25px;display:grid;overflow-x:hidden}canvas{z-index:300;pointer-events:none;background:0 0;position:fixed;top:0;left:0}@media (prefers-reduced-motion:reduce){canvas{display:none}}h1{font-size:18px;font-weight:400}#instructions-popup{width:var(--content-width);margin:calc(var(--gap)*-1)auto var(--gap);padding:var(--gap);text-align:left;background:var(--antiquewhite-dark);color:var(--black);font-size:14px;line-height:1.8;display:none;position:relative}body.instructions #instructions-popup{display:block}#instructions-popup p{margin:0 0 1em}#instructions-popup .button{cursor:pointer;border:var(--border-thickness)solid var(--black);padding:10px 10px 7px;display:inline}#instructions-popup .button:not(:first-of-type){margin-left:5px}#instructions-popup .emphasis{border-bottom:1px solid var(--black)}header{text-align:left;max-width:var(--content-width);width:100%;margin:0 auto calc(var(--gap)*2);padding-top:var(--body-padding);border-bottom:var(--border-thickness)solid var(--black);background-color:var(--antiquewhite-light);grid-template-columns:1fr min-content;align-items:end;gap:5px;padding-bottom:10px;font-size:18px;display:grid}header h1{margin:0}header #header-icons{grid-template-columns:repeat(4,1fr);align-items:end;gap:10px;display:grid;position:relative;right:-5px}header #header-icons>*{height:100%;position:relative}header #header-icons>:not(:last-child):before{content:"";background-color:var(--black);opacity:.2;pointer-events:none;width:1px;height:1.1em;position:absolute;top:calc(50% - .55em);right:-5px}header #rotate-left,header #rotate-right,header #settings-icon{cursor:pointer}@media (prefers-color-scheme:dark){header #rotate-left,header #rotate-right,header #settings-icon,header #rotate-left:before,header #rotate-right:before,header #settings-icon:before{filter:invert()}}header #rotate-left,header #rotate-right{width:calc(var(--rotate-width) + 10px);height:calc(var(--rotate-height) + 10px)}header #rotate-left:after,header #rotate-right:after{content:"";background-size:var(--rotate-width)var(--rotate-height);background-position:50%;background-repeat:no-repeat;width:100%;height:100%;transition:opacity .3s linear;position:absolute;top:0;left:0}body.game-over header #rotate-left,body.game-over header #rotate-right{cursor:default}body.game-over header #rotate-left:after,body.game-over header #rotate-right:after{opacity:.2}body.game-won header #rotate-left,body.game-won header #rotate-right{cursor:default}body.game-won header #rotate-left:after,body.game-won header #rotate-right:after{opacity:.2}header #settings-icon{background-position:50%;background-repeat:no-repeat;background-size:var(--rotate-height)var(--rotate-height);width:calc(var(--rotate-height) + 10px);height:calc(var(--rotate-height) + 10px);background-image:url(img/settings.svg)}header #rotate-left:after{background-image:url(img/rotate-left.svg)}header #rotate-right:after{background-image:url(img/rotate-right.svg)}header #how-to-play{cursor:pointer;padding:.26em 7px 0}#board-grid{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(var(--grid-size),fit-content(var(--square-size-max)));grid-gap:var(--gap);z-index:100;transition:transform 1.5s var(--board-ease);transform:rotate(var(--rotation));margin:0 auto;display:grid;position:relative}#board-grid .board-square{width:var(--square-size);height:var(--square-size);border-style:solid;border-image-slice:8;border-image-width:var(--border-thickness)var(--border-thickness)var(--border-thickness)var(--border-thickness);border-width:var(--border-thickness);background-color:var(--white);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAQMAAABvIyEEAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlP/AOW3MEoAAAAiSURBVHgBYwCC////A0lqsf5DwGBl/YeBkcEa7PFB7fQHALyV5igYmnQ3AAAAAElFTkSuQmCC);border-image-repeat:round}@media (prefers-color-scheme:dark){#board-grid .board-square{background-color:unset;border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAQAAAAB9lo7qAAAAAnRSTlMAAHaTzTgAAAAfSURBVHgBY/j//z8DA4ikFosBAgYra4SBwR4f1E5/AC7wn2H1qEZ0AAAAAElFTkSuQmCC)}}#board-grid .board-square:has(.letter){background-color:unset;border:none}body.game-won #board-grid{z-index:-100;animation:60s linear infinite rotate}@media (prefers-reduced-motion:reduce){#board-grid{transition:none}}#board-grid .letter-inner{transition:transform 1.5s var(--board-ease);transform:rotate(var(--inverse-rotation))}body.game-won #board-grid .letter-inner{animation:60s linear infinite inverse-rotate}@media (prefers-reduced-motion:reduce){#board-grid .letter-inner{transition:none}}@keyframes rotate{0%{transform:rotate(var(--rotation))}to{transform:rotate(calc(var(--rotation) + 360deg))}}@keyframes inverse-rotate{0%{transform:rotate(var(--inverse-rotation))}to{transform:rotate(calc(var(--inverse-rotation) - 360deg))}}#hand{-webkit-user-select:none;user-select:none;min-height:calc(var(--square-size) + (var(--gap)*2) + (var(--border-thickness)*2));border-style:solid;border-image-slice:8;border-image-width:var(--border-thickness)var(--border-thickness)var(--border-thickness)var(--border-thickness);border-width:var(--border-thickness);padding:var(--gap);max-width:var(--content-width);width:100%;margin:var(--gap)auto 0;grid-template-columns:repeat(var(--cards-in-hand),var(--square-size));justify-content:center;gap:var(--gap);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAQMAAABvIyEEAAAABlBMVEXvyJMAAAA05f3IAAAAAnRSTlP/AOW3MEoAAAAiSURBVHgBYwCC////A0lqsf5DwGBl/YeBkcEa7PFB7fQHALyV5igYmnQ3AAAAAElFTkSuQmCC);border-image-repeat:round;min-width:min-content;display:grid}@media (prefers-color-scheme:dark){#hand{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAQMAAABvIyEEAAAABlBMVEVIe74AAAA1w9m5AAAAAnRSTlP/AOW3MEoAAAAiSURBVHgBYwCC////A0lqsf5DwGBl/YeBkcEa7PFB7fQHALyV5igYmnQ3AAAAAElFTkSuQmCC)}}#hand .letter.slide{animation:.4s ease-in-out forwards slide}@media (prefers-reduced-motion:reduce){#hand .letter.slide{animation:none}}@keyframes slide{0%{right:calc((var(--square-size) + var(--gap))*-1)}to{right:0}}#hand .letter.slide-right{animation:.4s ease-in-out forwards slide-right}@media (prefers-reduced-motion:reduce){#hand .letter.slide-right{animation:none}}@keyframes slide-right{0%{right:calc((var(--square-size) + var(--gap))/2)}to{right:0}}#hand .letter.slide-left{animation:.4s ease-in-out forwards slide-left}@media (prefers-reduced-motion:reduce){#hand .letter.slide-left{animation:none}}@keyframes slide-left{0%{right:calc((var(--square-size) + var(--gap))/-2)}to{right:0}}#hand .letter.jack-in-the-box{transform-origin:bottom;animation:.75s ease-in-out forwards jack-in-the-box}@media (prefers-reduced-motion:reduce){#hand .letter.jack-in-the-box{animation:none}}@keyframes jack-in-the-box{0%{opacity:0;transform:scale(.1)rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.letter{-webkit-user-select:none;user-select:none;width:var(--square-size);height:var(--square-size);background-color:var(--antiquewhite);cursor:grab}.letter .letter-inner{justify-content:center;align-items:center;width:100%;height:100%;padding-top:.2em;display:inline-flex}body.game-won .letter,body.game-over .letter{cursor:default}.letter.ui-draggable-dragging{cursor:grabbing;z-index:200}.letter.error{background-color:var(--red);color:var(--white);font-size:40px}body.game-won .letter{background-color:var(--green);font-size:40px}@media (prefers-color-scheme:dark){body.game-won .letter{color:var(--white)}}.letter.hinge{pointer-events:none;z-index:600;transform-origin:0 0;--translate3dX:0;--translate3dY:300px;animation:2s ease-in-out forwards hinge}@media (prefers-reduced-motion:reduce){.letter.hinge{animation:none}}body.rotation-90 .letter.hinge{transform-origin:0 100%;--translate3dX:300px;--translate3dY:0}body.rotation-180 .letter.hinge{transform-origin:100% 100%;--translate3dX:0;--translate3dY:-300px}body.rotation-270 .letter.hinge{transform-origin:100% 0;--translate3dX:-300px;--translate3dY:0}@keyframes hinge{20%{transform:rotate(70deg)}40%{transform:rotate(30deg)}60%{transform:rotate(50deg)}80%{opacity:1;transform:rotate(45deg)}to{transform:translate3d(var(--translate3dX),var(--translate3dY),0)rotate3d(0,0,1,45deg);opacity:0}}.letter.hinge-alt{pointer-events:none;z-index:600;transform-origin:100% 0;--translate3dX:0;--translate3dY:300px;animation:2s ease-in-out forwards hinge-alt}@media (prefers-reduced-motion:reduce){.letter.hinge-alt{animation:none}}body.rotation-90 .letter.hinge-alt{transform-origin:0 0;--translate3dX:300px;--translate3dY:0}body.rotation-180 .letter.hinge-alt{transform-origin:0 100%;--translate3dX:0;--translate3dY:-300px}body.rotation-270 .letter.hinge-alt{transform-origin:100% 100%;--translate3dX:-300px;--translate3dY:0}@keyframes hinge-alt{20%{transform:rotate(-70deg)}40%{transform:rotate(-30deg)}60%{transform:rotate(-50deg)}80%{opacity:1;transform:rotate(-45deg)}to{transform:translate3d(var(--translate3dX),var(--translate3dY),0)rotate3d(0,0,1,-45deg);opacity:0}}footer .dropdown{text-align:left;max-width:var(--content-width);width:100%;margin:var(--gap)auto 0;border-top:var(--border-thickness)solid var(--black);font-size:14px;line-height:1.8;transition:border-top-color .2s linear}footer .dropdown:first-child{margin-top:calc(var(--gap)*2)}footer .dropdown .content{display:none}footer .dropdown h1{cursor:pointer;margin-bottom:5px;transition:color .2s linear}footer .dropdown h1 .triangle{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:9px solid var(--black);transform-origin:55%;width:0;height:0;margin-right:6px;transition:all .2s ease-in-out;display:inline-block;position:relative;bottom:1px}footer .dropdown.active{border-top-color:var(--red)}footer .dropdown.active h1{color:var(--red)}footer .dropdown.active h1 .triangle{border-left-color:var(--red);transform:rotate(90deg)}#instructions ul{margin-top:0;margin-bottom:0;padding-bottom:.3em;padding-left:1.25em}#instructions ul li:not(:nth-child(-n+3)){margin-top:.75em}#instructions ul li .emphasis{text-underline-offset:.15em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px}#instructions ul .easy,#instructions ul .normal,#instructions ul .hard{display:none}body.easy #instructions ul .easy,body.normal #instructions ul .normal,body.hard #instructions ul .hard{display:list-item}#instructions ul #instructions-rotate-left,#instructions ul #instructions-rotate-right{background-size:var(--rotate-width)var(--rotate-height);width:var(--rotate-width);height:var(--rotate-height);margin:0 .15em;display:inline-block;position:relative;bottom:-.5px}@media (prefers-color-scheme:dark){#instructions ul #instructions-rotate-left,#instructions ul #instructions-rotate-right{filter:invert()}}#instructions ul #instructions-rotate-left{background-image:url(img/rotate-left.svg)}#instructions ul #instructions-rotate-right{background-image:url(img/rotate-right.svg)}#settings #settings-content>:first-child{margin-top:0;padding-top:.75em}#settings #settings-content>:last-child{margin-bottom:0}#settings #settings-content p:has(+form){margin-bottom:.5em}#settings #settings-content form{margin-bottom:2em}#settings #settings-content .underline{text-underline-offset:.15em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px}#settings #settings-content input[type=radio]{opacity:0;pointer-events:none;position:absolute}#settings #settings-content input[type=radio]+label{cursor:pointer;border:var(--border-thickness)solid var(--black);padding:10px 10px 7px}#settings #settings-content input[type=radio]+label:not(:first-of-type){margin-left:5px}#settings #settings-content input[type=radio]:not(:checked)+label{transition:all .2s ease-in-out}#settings #settings-content input[type=radio]:not(:checked)+label:hover{border-color:var(--red);color:var(--red)}#settings #settings-content input[type=radio]:checked+label{cursor:default;background-color:var(--black);color:var(--white)}#colophon #colophon-content p{margin:0 0 10px}#colophon #colophon-content>:last-child{margin-bottom:0}#colophon #colophon-content a{color:var(--red);text-underline-offset:.19em;text-decoration:underline;text-decoration-thickness:1px;transition:all .2s ease-in-out}#colophon #colophon-content a:hover{text-underline-offset:calc(.19em - .5px);text-decoration-thickness:2px}#game-over,#game-won{max-width:var(--content-width);width:100%;margin:var(--gap)auto 0;padding:20px 25px 15px;line-height:1.4;display:none}#game-over{background-color:var(--red);color:var(--white)}#game-over .plural{display:none}#game-over .plural.active{display:inline}#game-over .word+.word:before{content:", "}#game-over .word a{color:var(--white);border-bottom:1px solid var(--white);text-decoration:none;transition:all .1s linear}#game-over .word a:hover{color:var(--black);border-bottom-color:var(--black)}#game-over #definition{margin:8px 0;font-size:13px}#game-won{background-color:var(--green);color:var(--black)}@media (prefers-color-scheme:dark){#game-won{color:var(--white)}}#game-won p{margin:0}#game-won p.time-taken{margin-top:8px;font-size:14px}.play-again{appearance:none;color:var(--black);background-color:var(--white);cursor:pointer;border:0;margin-top:8px;padding:15px 14px 11px;font-family:Gordita;font-size:18px;transition:all .1s linear}.play-again:hover{background-color:var(--black);color:var(--white)}body.game-over #game-over,body.game-won #game-won{display:block}body.game-over #hand,body.game-won #hand{display:none}