html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden}body{background-color:#000;color:#fff;font-family:sans-serif}.hover-effect{position:absolute;border:5px solid yellow;border-radius:5px;box-sizing:border-box;pointer-events:none;transform:scale(1.1)}.hover-effect.active-effect{transform:scale(1)}.hover-effect.selection{transform:scale(1);border:none;outline:3px dashed white;mix-blend-mode:difference}.hover-effect:not(.valid){border:5px solid red}#tao-te-ching-quote footer{margin-top:2em}#tao-te-ching-quote{transform:skew(10deg)}#tao-te-ching-quote>*{transform:skew(-10deg)}#tao-te-ching-quote .line-b{margin-left:1em}#entities-bar,#replay-bar{position:absolute;top:0;z-index:2;width:100%;display:flex;overflow:auto;box-sizing:border-box;padding:5px;gap:5px;transition:transform .5s,opacity .5s}body:not(.editing) #entities-bar{transform:translateY(-100%);opacity:0}body:not(.replaying) #replay-bar{transform:translateY(-100%);opacity:0}#replay-slider{width:100%;height:40px}input{accent-color:#fff}input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:#000;margin:0;font:inherit;color:currentColor;width:1.15em;height:1.15em;border:.15em solid currentColor;border-radius:.15em;transform:translateY(-.075em);display:grid;place-content:center}input[type=checkbox]:before{content:"";width:.65em;height:.65em;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em 0 currentColor;transform-origin:bottom left;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus{outline:max(2px,.15em) solid currentColor;outline-offset:max(2px,.15em)}*::selection{background-color:#fff;color:#000}input::selection,.logo-shift::selection{background-color:#000;color:#fff}.control-row{display:flex;margin:5px 0;gap:5px;align-items:center}@media (max-width: 450px){:root dialog{margin:0;width:100vw;max-width:100vw}.control-row:not(.checkbox-control-row):not(.buttons-control-row){flex-direction:column;align-items:flex-start}}@media not (max-width: 450px){#level-info-editor .control-row label{width:130px;display:inline-block}#level-info-editor .control-row input,#level-info-editor .control-row textarea{width:200px}#settings-dialog .control-row label{width:235px;display:inline-block}}#settings-dialog fieldset{border:1px solid #fff;border-radius:5px;padding:15px;margin:15px 0}.fieldset-description{font-size:.8em;max-width:300px}.disabled{color:#aaa}.control-row input[type=number]{width:50px}.bw-button:not([hidden]){display:flex;align-items:center;justify-content:center;flex-direction:column;background-color:#000;color:#fff;border:2px solid #fff;border-radius:5px;padding:5px 10px;cursor:pointer;user-select:none}.bw-button:active{border-color:transparent;box-shadow:0 0 0 2px #fff inset}.bw-button.selected{background-color:#fff;color:#000}.bw-button:not(.selected) img{filter:invert()}.level-border{position:absolute;pointer-events:none;border:30px solid #fff;border-image:url(../graphics/border-2.png) 46.875% round;border-image-outset:9px;image-rendering:pixelated;box-sizing:border-box}#credits a:link,#credits a:visited{color:#fff;font-weight:700}.level-preview{position:relative}.level-preview-error:not([hidden]){position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(255,0,0,.5);display:flex;align-items:center;justify-content:center}#main-menu button,#level-select .level-button{min-height:50px;margin:10px;overflow:hidden}#main-menu button{position:relative}@media (min-width: 200px){#main-menu button img{position:absolute;left:10px}}#level-select,#credits{padding-top:70px;box-sizing:border-box}#level-list{text-align:center;max-width:900px}.level-button-wrapper,#level-select .level-button{display:inline-flex;position:relative}#level-select .level-button canvas{max-width:calc(100vw - 26px);max-height:calc(100vw - 26px)}.replay-button{position:absolute;right:0;top:0}#level-select .level-button[data-completed=true]:after,#level-select .level-button[data-completed=true]:before{content:"✦";pointer-events:none;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;transform:translate(50%,-50%) translate(-2rem,2rem);font-size:5em;color:#fff;z-index:2}#level-select .level-button[data-completed=true]:before{font-size:6.7em;color:#000;z-index:1}#main-menu h1{font-size:min(2em,15vw)}#main-menu h1 .logo-shift{color:#000;background:#fff;border-radius:20px 30px/10px 0;padding:4px}#main-menu main{flex:1;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;width:100%}.safe-center{padding-block:10px}.safe-center>*:first-child{margin-block-start:auto!important}.safe-center>*:last-child{margin-block-end:auto!important}#main-menu button{width:200px;max-width:calc(100% - 10px)}button:focus,a:focus{outline:5px solid white}a:focus{outline-offset:5px}a{color:inherit}footer{flex:0 0 50px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}:root dialog{border:30px solid #fff;border-image:url(../graphics/border-2.png) 46.875% round;image-rendering:pixelated;background-color:#000;color:#fff;padding:min(16px,1vw);box-sizing:border-box}dialog>h2{margin-top:0}dialog button{min-width:80px;min-height:40px}#game-options-bar{position:absolute;top:0;left:0;right:0;padding:5px;box-sizing:border-box;z-index:3;flex-direction:row;gap:5px;display:flex;width:100%;overflow:auto}#game-options-bar .bw-button{padding:5px 0;flex:1;max-width:100px}body:not([data-standalone-level]) .hide-in-campaign{display:none}body[data-screen=level-select] .level-flow-control-button,body[data-screen=credits] .level-flow-control-button,.editing #restart-level-button{display:none}:fullscreen #fullscreen-button{display:none}@media (max-width: 600px){#game-options-bar .button-text{display:none}}#main-menu{z-index:4}.screen{display:flex;flex-direction:column;align-items:center;overflow:auto;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;background-color:#000;color:#fff}.screen:not(.active){display:none}#level-splash{pointer-events:none}.level-specific-overlay:not([hidden]),#level-stuck-hint:not([hidden]){position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;color:#fff;mix-blend-mode:difference;font-size:min(3vh,3vw);display:flex;flex-direction:column;align-items:center}.level-specific-overlay{padding-top:min(6vh,6vw)}.level-specific-overlay big{font-size:2em;display:inline-block;vertical-align:sub}#level-stuck-hint{bottom:10px;top:auto!important;height:auto!important;animation:fade-in 1s;animation-delay:1s;animation-fill-mode:both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hint{margin-bottom:15px}kbd:not(.grouping-kbd){display:inline-block;padding:3px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8em;line-height:10px;color:#fff;vertical-align:middle;background-color:#000;border:2px solid #fefbf0;border-radius:6px;box-shadow:2px 2px #fff,1px 1px #fff;margin-right:2px;text-shadow:none}[data-control-scheme=KeyboardAbsoluteDirection] .pointer-only,[data-control-scheme=KeyboardFacingRelative] .pointer-only,[data-control-scheme=Gamepad] .pointer-only,[data-control-scheme=Pointer] .keyboard-only,[data-control-scheme=Gamepad] .keyboard-only,[data-control-scheme=Pointer] .gamepad-only,[data-control-scheme=KeyboardAbsoluteDirection] .gamepad-only,[data-control-scheme=KeyboardFacingRelative] .gamepad-only{display:none}.gong-effect{overflow:hidden;position:absolute;top:0;left:0;width:100%;height:100%}.gong-effect:before{content:"";position:absolute;top:50%;left:50%;width:max(100vw,100vh);height:max(100vw,100vh);border-radius:50%;border:10px solid #fff;box-sizing:content-box;transform:translate(-50%,-50%);animation:gong 1s ease forwards}#game-win-screen.active .gong-effect:before{animation-duration:8s;animation-delay:-.5s}@keyframes gong{0%{transform:translate(-50%,-50%) scale(.3);border-width:10px}to{transform:translate(-50%,-50%) scale(sqrt(2));border-width:0}}[data-score]:after{content:"Score: " attr(data-score);font-size:1.5em}dialog{position:absolute;left:0;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;margin:auto;border:solid;padding:1em;background:#fff;color:#000;display:block}dialog:not([open]){display:none}dialog+.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.1)}._dialog_overlay{position:fixed;top:0;right:0;bottom:0;left:0}dialog.fixed{position:fixed;top:50%;transform:translateY(-50%)}
