body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#fff;background-color:#222}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1{font-size:36px;margin:16px 0}label{font-weight:700;margin:auto 8px auto 0;text-align:right}select{border-radius:20px;cursor:pointer;font-size:16px;padding:4px 12px}select:disabled{cursor:default}@supports (-moz-appearance: none){select{-moz-appearance:none!important;background:#fff url(data:image/gif;base64,R0lGODlhBgAGAKEDAFVVVX9/f9TU1CgmNyH5BAEKAAMALAAAAAAGAAYAAAIODA4hCDKWxlhNvmCnGwUAOw==) right center no-repeat!important;background-position:calc(100% - 10px) center!important;border:none;padding-right:16px}select:disabled{background:#ccc url(data:image/gif;base64,R0lGODlhBgAGAKEDAFVVVX9/f9TU1CgmNyH5BAEKAAMALAAAAAAGAAYAAAIODA4hCDKWxlhNvmCnGwUAOw==) right center no-repeat!important;background-position:calc(100% - 10px) center!important}}button:focus,select:focus{box-shadow:0 0 6px 4px #aaa;outline:0}.centered-text{text-align:center}.dark-theme{background-color:#222;color:#fff}.light-theme{background-color:#fff;color:#000}.content-box{border-radius:2px;margin:16px 0;padding:.1px 32px}:root{--button-bg-color: hsl(219, 94%, 49%);--button-bg-color--hover: hsl(241, 94%, 49%);--button-color: #fff;--button-bg-color--disabled: hsl(241, 94%, 49%);--button-color--disabled: hsl(219, 94%, 49%);--button-bg-color--submit: hsl(118, 94%, 29%);--button-bg-color--submit--hover: hsl(118, 94%, 19%);--button-bg-color--danger: hsl(0, 94%, 49%);--button-bg-color--danger--hover: hsl(0, 94%, 39%)}.dashboard{display:flex;flex-direction:row;margin:16px 0}.dashboard>*{margin-right:16px}.dashboard>:last-child{margin-left:auto;margin-right:0}.dashboard__button{background-color:var(--button-bg-color);border:0;border-radius:16px;color:var(--button-color);cursor:pointer;font-size:16px;font-weight:700;padding:8px 16px}.dashboard__button:hover{background-color:var(--button-bg-color--hover)}.dashboard__button:disabled,.dashboard__button:hover:disabled{background-color:var(--button-bg-color--disabled);color:var(--button-color--disabled);cursor:auto}.dashboard__button.dashboard__button--submit{background-color:var(--button-bg-color--submit)}.dashboard__button.dashboard__button--submit:hover{background-color:var(--button-bg-color--submit--hover)}.dashboard__button.dashboard__button--danger{background-color:var(--button-bg-color--danger)}.dashboard__button.dashboard__button--danger:hover{background-color:var(--button-bg-color--danger--hover)}:root{--start-color: hsl(118, 94%, 29%);--end-color: hsl(0, 94%, 49%);--asphalt-color: hsl(0, 0%, 49%);--dirt-color: hsl(36, 94%, 29%);--grass-color: hsl(123, 64%, 54%);--sand-color: hsl(36, 94%, 79%);--swamp-color: hsl(168, 94%, 49%);--water-color: hsl(241, 94%, 49%);--transition-settings: .5s ease-in-out}.node{border-radius:2px}.node:after{background-color:transparent;content:"";display:block;height:100%;opacity:0;transition:all var(--transition-settings);width:100%}.node--asphalt{background-color:var(--asphalt-color)}.node--dirt{background-color:var(--dirt-color)}.node--grass{background-color:var(--grass-color)}.node--sand{background-color:var(--sand-color)}.node--swamp{background-color:var(--swamp-color)}.node--water{background-color:var(--water-color)}.node--visited:after{background-color:#000;opacity:.3}.node--path,.node--start,.node--end{box-shadow:0 0 0 2px #fff;outline:2px solid white}.node--path:after{background-color:#fff;opacity:.3}.node--start,.node--end{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:700;justify-content:center}.node--start:after,.node--end:after{display:none}.node--start{background-color:var(--start-color)}.node--end{background-color:var(--end-color)}.grid{display:grid;margin:16px auto}.modal__overlay{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:100}.modal__overlay--accent-color{background-color:#000}.modal__overlay--translucent{opacity:.5}.modal__content-box{background-color:#fff;box-shadow:0 0 5px #000;height:fit-content;inset:0;margin:auto;max-height:90%;max-width:50%;padding:16px;position:fixed;width:50rem;z-index:110}.modal__content-box>button{float:right}.content-container{margin:0 auto;padding:0 16px}
