*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}:root{--bp-phone: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-desktop-wide: 1440px;--default-border-radius: 0;--default-grid-columns: 12;--default-gap-size: 0;--default-modal-overlay: rgba(0, 0, 0, .6);--default-modal-padding: 0;--default-modal-shadow: 2px 2px 5px rgba(0, 0, 0, .6);--default-modal-class: "modal";--default-modal-open-class: "modal-open";--default-modal-content-class: "modal-content";--default-panel-bg-color: #fff;--z-modal: 9000;--z-overlay: 8000, --z-dropdown: 7000, --z-header: 6000, --z-footer: 5000, }:root{--space-unit: 1em;--space-xxs: calc(.25 * var(--space-unit));--space-xs: calc(.5 * var(--space-unit));--space-sm: calc(.75 * var(--space-unit));--space-md: calc(1.25 * var(--space-unit));--space-lg: calc(2 * var(--space-unit));--space-xl: calc(3.25 * var(--space-unit));--space-xxl: calc(5.25 * var(--space-unit));--component-padding: var(--space-sm);--components-bottom-spacing: var(--space-md);--space-unit-fixed: 1rem;--space-xxs-fixed: calc(.25 * var(--space-unit-fixed));--space-xs-fixed: calc(.5 * var(--space-unit-fixed));--space-sm-fixed: calc(.75 * var(--space-unit-fixed));--space-md-fixed: calc(1.25 * var(--space-unit-fixed));--space-lg-fixed: calc(2 * var(--space-unit-fixed));--space-xl-fixed: calc(3.25 * var(--space-unit-fixed));--space-xxl-fixed: calc(5.25 * var(--space-unit-fixed))}:root{--text-base-size-mobile: 1em;--text-base-size: 1.25em;--text-scale-ratio: 1.25;--font-primary: sans-serif;--font-secondary: serif;--text-xs: calc(1em / (var(--text-scale-ratio) * var(--text-scale-ratio)));--text-sm: calc(1em / var(--text-scale-ratio));--text-md: 1em;--text-lg: calc(1em * var(--text-scale-ratio));--text-xl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio));--text-xxl: calc( 1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) );--text-xxxl: calc( 1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) );--text-huge: calc( 1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) );--heading-line-height: 1.2;--body-line-height: 1.4}html{font-size:var(--text-base-size-mobile);font-family:var(--font-primary)}body{font-size:inherit;font-family:var(--font-primary)}h1,h2,h3,h4,form legend{line-height:var(--heading-line-height)}.text--xxxl{font-size:var(--text-xxxl)}h1,.text--xxl{font-size:var(--text-xxl)}h2,.text--xl{font-size:var(--text-xl)}h3,.text--lg{font-size:var(--text-lg)}h4,p,button,.text--md{font-size:var(--text-md)}.text--sm,small{font-size:var(--text-sm)}.text--xs{font-size:var(--text-xs)}p{line-height:var(--body-line-height)}:root{--navy: #001f3f;--blue: #0074d9;--aqua: #7fdbff;--teal: #39cccc;--olive: #3d9970;--green: #2ecc40;--lime: #01ff70;--yellow: #ffdc00;--orange: #ff851b;--red: #ff4136;--maroon: #85144b;--fuchsia: #f012be;--purple: #b10dc9;--black: #111111;--white: #efefef;--gray: #aaaaaa;--silver: #dddddd;--bg-header: --blue;--bg-footer: --black}:where(html){--ease-1: cubic-bezier(.25, 0, .5, 1);--ease-2: cubic-bezier(.25, 0, .4, 1);--ease-3: cubic-bezier(.25, 0, .3, 1);--ease-4: cubic-bezier(.25, 0, .2, 1);--ease-5: cubic-bezier(.25, 0, .1, 1);--ease-in-1: cubic-bezier(.25, 0, 1, 1);--ease-in-2: cubic-bezier(.5, 0, 1, 1);--ease-in-3: cubic-bezier(.7, 0, 1, 1);--ease-in-4: cubic-bezier(.9, 0, 1, 1);--ease-in-5: cubic-bezier(1, 0, 1, 1);--ease-out-1: cubic-bezier(0, 0, .75, 1);--ease-out-2: cubic-bezier(0, 0, .5, 1);--ease-out-3: cubic-bezier(0, 0, .3, 1);--ease-out-4: cubic-bezier(0, 0, .1, 1);--ease-out-5: cubic-bezier(0, 0, 0, 1);--ease-in-out-1: cubic-bezier(.1, 0, .9, 1);--ease-in-out-2: cubic-bezier(.3, 0, .7, 1);--ease-in-out-3: cubic-bezier(.5, 0, .5, 1);--ease-in-out-4: cubic-bezier(.7, 0, .3, 1);--ease-in-out-5: cubic-bezier(.9, 0, .1, 1);--ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);--ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);--ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);--ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);--ease-elastic-in-1: cubic-bezier(.5, -.25, .75, 1);--ease-elastic-in-2: cubic-bezier(.5, -.5, .75, 1);--ease-elastic-in-3: cubic-bezier(.5, -.75, .75, 1);--ease-elastic-in-4: cubic-bezier(.5, -1, .75, 1);--ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);--ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);--ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);--ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);--ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);--ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);--ease-step-1: steps(2);--ease-step-2: steps(3);--ease-step-3: steps(4);--ease-step-4: steps(7);--ease-step-5: steps(10);--ease-elastic-1: var(--ease-elastic-out-1);--ease-elastic-2: var(--ease-elastic-out-2);--ease-elastic-3: var(--ease-elastic-out-3);--ease-elastic-4: var(--ease-elastic-out-4);--ease-elastic-5: var(--ease-elastic-out-5);--ease-squish-1: var(--ease-elastic-in-out-1);--ease-squish-2: var(--ease-elastic-in-out-2);--ease-squish-3: var(--ease-elastic-in-out-3);--ease-squish-4: var(--ease-elastic-in-out-4);--ease-squish-5: var(--ease-elastic-in-out-5);--ease-spring-1: linear( 0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 );--ease-spring-2: linear( 0, .007, .029 2.2%, .118 4.7%, .625 14.4%, .826 19%, .902, .962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, .999 61.6%, .995 71.2%, 1 );--ease-spring-3: linear( 0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1 );--ease-spring-4: linear( 0, .009, .037 1.7%, .153 3.6%, .776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, .973, .955 39.2%, .953 41.1%, .957 43.3%, .998 53.3%, 1.009 59.1% 63.7%, .998 78.9%, 1 );--ease-spring-5: linear( 0, .01, .04 1.6%, .161 3.3%, .816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, .999 29.4%, .955 32.1%, .942, .935 34.9%, .933, .939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, .996 70.2%, 1.001 87.2%, 1 );--ease-bounce-1: linear( 0, .004, .016, .035, .063, .098, .141, .191, .25, .316, .391 36.8%, .563, .766, 1 58.8%, .946, .908 69.1%, .895, .885, .879, .878, .879, .885, .895, .908 89.7%, .946, 1 );--ease-bounce-2: linear( 0, .004, .016, .035, .063, .098, .141 15.1%, .25, .391, .562, .765, 1, .892 45.2%, .849, .815, .788, .769, .757, .753, .757, .769, .788, .815, .85, .892 75.2%, 1 80.2%, .973, .954, .943, .939, .943, .954, .973, 1 );--ease-bounce-3: linear( 0, .004, .016, .035, .062, .098, .141 11.4%, .25, .39, .562, .764, 1 30.3%, .847 34.8%, .787, .737, .699, .672, .655, .65, .656, .672, .699, .738, .787, .847 61.7%, 1 66.2%, .946, .908, .885 74.2%, .879, .878, .879, .885 79.5%, .908, .946, 1 87.4%, .981, .968, .96, .957, .96, .968, .981, 1 );--ease-bounce-4: linear( 0, .004, .016 3%, .062, .141, .25, .391, .562 18.2%, 1 24.3%, .81, .676 32.3%, .629, .595, .575, .568, .575, .595, .629, .676 48.2%, .811, 1 56.2%, .918, .86, .825, .814, .825, .86, .918, 1 77.2%, .94 80.6%, .925, .92, .925, .94 87.5%, 1 90.9%, .974, .965, .974, 1 );--ease-bounce-5: linear( 0, .004, .016 2.5%, .063, .141, .25 10.1%, .562, 1 20.2%, .783, .627, .534 30.9%, .511, .503, .511, .534 38%, .627, .782, 1 48.7%, .892, .815, .769 56.3%, .757, .753, .757, .769 61.3%, .815, .892, 1 68.8%, .908 72.4%, .885, .878, .885, .908 79.4%, 1 83%, .954 85.5%, .943, .939, .943, .954 90.5%, 1 93%, .977, .97, .977, 1 )}.about-menu{max-width:80vw;font-size:var(--text-sm)}.about-menu ul{font-size:var(--text-sm)}.game-menu-button-group{animation:zoomIn var(--ease-spring-4) 1s;font-size:var(--text-xxl)}body .title-screen-container{background-image:url(../gui/menu-bg.png);background-size:cover;height:100%;display:flex}body .title-screen-container .title-wrapper{height:100%;width:70%;display:flex;flex-direction:column;justify-content:center}body .title-screen-container .title-wrapper .subtitle{margin-top:-15px;padding:0 15%;animation:backAndForth 6s infinite alternate ease-in-out}body .title-screen-container .title-wrapper .game-title{font-size:6em;-webkit-text-fill-color:var(--white);-webkit-text-stroke-width:6px;-webkit-text-stroke-color:var(--black);padding:0 10%;animation:bobAndSkew 4s infinite alternate ease-in-out}@keyframes bobAndSkew{0%{transform:translateY(5%) skew(-10deg)}50%{transform:translateY(8%) skew(10deg,-10deg)}to{transform:translateY(-3%) skew(0,10deg)}}@keyframes backAndForth{0%{transform:translate(0)}50%{transform:translate(30%)}}body .title-screen-footer{width:100%;text-align:center;font-size:var(--text-xl);position:absolute;bottom:var(--space-lg)}.menu-header,.volume-header{text-align:center}.menu-description{font-size:var(--text-sm)}.volume-sliders .slider-container{display:flex;gap:var(--space-sm);align-items:center;justify-content:center}.volume-sliders .slider-container label{width:100px;text-align:right}.volume-sliders .slider-container div{width:50px}.fullscreen-control{width:100%;margin-bottom:var(--space-sm)}.fullscreen-header{text-align:center}.fullscreen-checkbox label{text-align:center;display:flex;gap:var(--space-xs)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;background:#ddd;border-radius:5px;outline:none;transition:background .3s}input[type=range]::-webkit-slider-runnable-track{height:var(--space-xxs);background:var(--black);border-radius:5px}input[type=range]::-moz-range-track{height:var(--space-xxs);background:var(--black);border-radius:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--white);border:4px solid var(--black);border-radius:0;cursor:pointer;transition:transform .2s}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--white);border:4px solid var(--black);border-radius:0;cursor:pointer;transition:transform .2s}input[type=range]:hover{background:var(--gray)}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2);background:var(--blue)}input[type=range]::-moz-range-thumb:active{transform:scale(1.2);background:var(--blue)}input[type=range]:focus::-webkit-slider-thumb{transform:scale(1.2);background:var(--blue)}input[type=range]:focus::-moz-range-thumb{transform:scale(1.2);background:var(--blue)}.custom-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;border:4px solid var(--black);border-radius:0;display:inline-block;position:relative;cursor:pointer;background-color:var(--white);transition:all .2s ease-in-out}.custom-checkbox:checked{background-color:var(--blue);border-color:var(--black)}.custom-checkbox:checked:before{content:"";font-size:30px;color:var(--white);position:absolute;left:0;top:-14px}.custom-checkbox:hover{border-color:var(--gray)}.custom-checkbox:focus{outline:none;transform:scale(1.2)}.menu-buttons button{opacity:1;transform:scale(1)}.menu-buttons button:focus{transition:transform var(--ease-spring-4) .5s,opacity ease .5s;opacity:1;transform:scale(1.15)}.game-overlay{aspect-ratio:16/9}.game-start-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background-color:#e5e5f7;opacity:.4;background-image:repeating-radial-gradient(circle at 0 0,transparent 0,#e5e5f7 10px),repeating-linear-gradient(#444cf755,#444cf7)}.game-start-screen img{width:200px;margin-bottom:300px}:root{--dialog-font-size: 30px;--dialog-font-family: "Whacky";--dialog-text-color: var(--white);--button-background: var(--black);--button-text-color: var(--white);--button-focus-background: var(--blue)}@keyframes shakeText{0%{transform:skew(-15deg);transform:translateY(5px)}25%{transform:skew(15deg);transform:translateY(-3px)}50%{transform:skew(-15deg)}75%{transform:skew(15deg);transform:translateY(3px)}to{transform:skew(-15deg);transform:translateY(-5px)}}@keyframes scaredText{0%{transform:translate(2px)}to{transform:translate(-2px)}}@keyframes usingPlunger{0%{transform:translateY(-5px)}70%{transform:translateY(5px)}to{transform:translateY(5px)}}.using_plunger{animation:.25s usingPlunger infinite alternate;display:block;color:var(--maroon);font-style:italic;opacity:.5}.angry{animation:.2s shakeText infinite alternate;display:block;color:var(--red);font-size:1.1em;font-weight:700}.boom{color:var(--red);font-weight:700;font-size:1.1em;display:block}.computer{font-style:italic;opacity:.5}.scared{animation:.05s scaredText infinite alternate;display:block;color:var(--yellow);font-size:.9em;font-style:italic}@keyframes zoomIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes bob{0%{transform:translateY(0)}50%{transform:translateY(7px)}to{transform:translateY(0)}}.dialog-text-wrapper{animation:zoomIn var(--ease-spring-2) .5s;border-width:10px;border-style:solid;border-image-width:20px;border-image-source:url(../gui/GUI_Pack/Containers/TalkBox_Gray_16x16.png);border-image-slice:20% fill;border-image-repeat:round;background-color:transparent}body .choice-prompts{outline:none}body .choice-prompts>*{outline:none}body .choice-prompts .choice-prompt{scale:1;--button-focus-background: none;border-width:5px;border-style:solid;border-image-width:7px;border-image-source:url(../gui/dialog_button.png);border-image-slice:30% 15% fill;border-image-repeat:round;outline:none!important}body .choice-prompts .choice-prompt:focus{scale:1.2;transition:scale var(--ease-spring-4) .6s;border-image-source:url(../gui/dialog_button_focused.png)}body .choice-prompts .choice-prompt:active{border-width:5px;border-image-width:7px;border-image-slice:30% 15% fill;border-image-source:url(../gui/dialog_button_pressed.png)}body .choice-prompts .no-choice-prompt:before{animation:bob var(--ease-spring-2) .8s infinite;display:block;background:url(../gui/next_button.png);background-size:cover;content:"";width:41px;height:41px}@media (prefers-color-scheme: dark){body{background-color:#000;height:100vh;justify-content:center;align-items:center;display:flex;flex-direction:column}body #canvas-wrapper{position:relative;overflow:hidden}body canvas{width:100%;height:100%}body button#excalibur-play{font-family:var(--dialog-font-family);background-color:var(--olive);padding:1rem 1.5rem 1.2rem;box-shadow:5px 5px var(--white)}body button#excalibur-play:hover{background-color:var(--blue)}body button#excalibur-play:before,body button#excalibur-play:after{display:none}body .play-button{border-radius:3em;border:10px solid var(--white);border-style:double;font-weight:700;color:var(--white);padding:var(--space-sm);font-size:var(--text-xxl);background-color:transparent;transition:all 2s;transform:scale(1)}body .play-button:hover{color:var(--red);border-color:var(--red);transform:scale(1.3)}}@font-face{font-family:playwrite;src:url(../fonts/playwrite.ttf) format("truetype")}@font-face{font-family:whacky;src:url(../fonts/Whacky_Joe.ttf) format("truetype")}@font-face{font-family:montheavy;src:url(../fonts/Mont-Heavy.otf) format("opentype")}@font-face{font-family:giantui;src:url(../fonts/notjamgiantui.ttf) format("truetype")}:root{--font-primary: "montheavy"}.cutscene-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between}.cutscene-overlay>*{background-color:#000;height:15%}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(-10px)}}@keyframes reverse-slide-down{0%{transform:translateY(-10px)}to{transform:translateY(-100%)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes reverse-slide-up{0%{transform:translateY(0)}to{transform:translateY(100%)}}.open .top-overlay{animation:slide-down 1s ease-in-out;animation-fill-mode:forwards}.open .bottom-overlay{animation:slide-up 1s ease-in-out;animation-fill-mode:forwards}.closed .top-overlay{animation:reverse-slide-down 1s ease-in-out;animation-fill-mode:forwards}.closed .bottom-overlay{animation:reverse-slide-up 1s ease-in-out;animation-fill-mode:forwards}
