#hplogo {
    height: 216px;
    width: 384px;
    outline: none;
    position: relative;
    -moz-user-select: -moz-none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none
}

#fpdoodle #hplogo {
    height: 360px;
    width: 640px
}

#fpdoodle {
    background: #000
}

#gamewrapper {
    position: relative;
    background: #fff;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-family: Noto Sans, Arial, Helvetica, sans-serif;
    color: #fff;
    overflow: hidden;
    font-size: 0
}

.ui-root {
    height: 540px;
    width: 960px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.cta-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    -webkit-transition: opacity 1s, visibility 1s;
    -o-transition: opacity 1s, visibility 1s;
    -moz-transition: opacity 1s, visibility 1s;
    transition: opacity 1s, visibility 1s;
    z-index: 100
}

.cta-canvas-hidden {
    opacity: 0;
    visibility: hidden
}

.load-indicator {
    bottom: 0;
    left: 0;
    position: absolute;
    height: 10px;
    background: #777;
    z-index: 200;
    -webkit-transition: width 200ms, opacity 600ms;
    -o-transition: width 200ms, opacity 600ms;
    -moz-transition: width 200ms, opacity 600ms;
    transition: width 200ms, opacity 600ms
}

.skip-button-wrapper {
    position: absolute;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    top: 8px;
    left: 8px;
    padding: 10px 20px;
    background: rgba(0, 0, 0, .33);
    cursor: pointer;
    font-size: 15px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .5);
    z-index: 101;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-backface-visibility: hidden
}

.skip-button {
    display: inline-block;
    margin-left: 8px
}

body.hpmobile,
.hpmobile center,
.hpmobile #hplogo,
.hpmobile #gamewrapper {
    width: 100%;
    height: 100%
}

#game {
    background: #001125;
    width: 100%;
    height: 100%
}

#debug-draw {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

#timing-indicators {
    position: absolute;
    top: 20%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    font-size: 32px;
    color: #ce4404
}

#timing-late {
    position: absolute;
    top: 0;
    left: 0
}

#timing-late,
#timing-early {
    visibility: hidden;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2)
}

#timing-late.active-indicator,
#timing-early.active-indicator {
    visibility: visible;
    opacity: 0;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 1.5s linear, -webkit-transform 1.5s ease-out;
    transition: opacity 1.5s linear, -webkit-transform 1.5s ease-out;
    -o-transition: opacity 1.5s linear, -o-transform 1.5s ease-out;
    -moz-transition: opacity 1.5s linear, transform 1.5s ease-out, -moz-transform 1.5s ease-out;
    transition: opacity 1.5s linear, transform 1.5s ease-out;
    transition: opacity 1.5s linear, transform 1.5s ease-out, -webkit-transform 1.5s ease-out, -moz-transform 1.5s ease-out, -o-transform 1.5s ease-out
}

.gnome-selector {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -moz-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    padding: 0;
    -webkit-border-radius: 10px 10px 0 0;
    -moz-border-radius: 10px 10px 0 0;
    border-radius: 10px 10px 0 0;
    pointer-events: auto;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    -webkit-transition: -webkit-transform 400ms;
    transition: -webkit-transform 400ms;
    -o-transition: -o-transform 400ms;
    -moz-transition: transform 400ms, -moz-transform 400ms;
    transition: transform 400ms;
    transition: transform 400ms, -webkit-transform 400ms, -moz-transform 400ms, -o-transform 400ms
}

.gnome-selector.shown {
    -webkit-transform: translate3d(-50%, -100%, 0);
    -moz-transform: translate3d(-50%, -100%, 0);
    transform: translate3d(-50%, -100%, 0)
}

.gnome-selector .selectable-gnome {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 10px;
    cursor: pointer;
    position: relative
}

@-webkit-keyframes bump-stay {
    0% {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -webkit-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }
}

@-moz-keyframes bump-stay {
    0% {
        -moz-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -moz-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -moz-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }
}

@-o-keyframes bump-stay {
    0% {
        -o-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -o-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -o-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }
}

@keyframes bump-stay {
    0% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -webkit-transform: scale(1.5, 1.5);
        -moz-transform: scale(1.5, 1.5);
        -o-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -webkit-transform: scale(1.1, 1.1);
        -moz-transform: scale(1.1, 1.1);
        -o-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }
}

.gnome-selector input:checked+.selectable-gnome {
    -webkit-filter: drop-shadow(0 0 5px #a49255);
    filter: drop-shadow(0 0 5px #a49255);
    -webkit-animation: bump-stay 300ms forwards;
    -moz-animation: bump-stay 300ms forwards;
    -o-animation: bump-stay 300ms forwards;
    animation: bump-stay 300ms forwards
}

.selected-indicator {
    content: '';
    height: 5px;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#ab774d), to(#8b613f));
    background: -webkit-linear-gradient(#ab774d, #8b613f);
    background: -moz-linear-gradient(#ab774d, #8b613f);
    background: -o-linear-gradient(#ab774d, #8b613f);
    background: linear-gradient(#ab774d, #8b613f);
    display: none;
    z-index: -1
}

.gnome-selector input:checked~.selected-indicator {
    display: block
}

.gnome-selector-tutorial {
    font-size: 30px;
    width: 65%;
    height: 52%;
    padding-bottom: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.throw-ui {
    top: 100%;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    -webkit-transition: -webkit-transform 400ms;
    transition: -webkit-transform 400ms;
    -o-transition: -o-transform 400ms;
    -moz-transition: transform 400ms, -moz-transform 400ms;
    transition: transform 400ms;
    transition: transform 400ms, -webkit-transform 400ms, -moz-transform 400ms, -o-transform 400ms;
    text-shadow: 3px 3px #333
}

.throw-ui.shown {
    -webkit-transform: translate3d(-50%, -118%, 0);
    -moz-transform: translate3d(-50%, -118%, 0);
    transform: translate3d(-50%, -118%, 0)
}

.tutorial-encourage {
    position: absolute;
    left: 22px;
    bottom: 32px;
    -webkit-transition: opacity 400ms, -webkit-transform 400ms;
    transition: opacity 400ms, -webkit-transform 400ms;
    -o-transition: opacity 400ms, -o-transform 400ms;
    -moz-transition: transform 400ms, opacity 400ms, -moz-transform 400ms;
    transition: transform 400ms, opacity 400ms;
    transition: transform 400ms, opacity 400ms, -webkit-transform 400ms, -moz-transform 400ms, -o-transform 400ms;
    -webkit-transform: scale(0, 0) translate3d(0, 0, 0);
    -moz-transform: scale(0, 0) translate3d(0, 0, 0);
    transform: scale(0, 0) translate3d(0, 0, 0);
    opacity: 0;
    text-shadow: 2px 2px rgba(0, 0, 0, .3);
    text-align: left;
    z-index: 99
}

.tutorial-encourage.shown {
    -webkit-transform: scale(1, 1) translate3d(96px, 0, 0);
    -moz-transform: scale(1, 1) translate3d(96px, 0, 0);
    transform: scale(1, 1) translate3d(96px, 0, 0);
    opacity: 1
}

.tutorial-encourage-title {
    font-size: 25px
}

.tutorial-encourage-subtitle {
    font-size: 18px
}

.current-score,
.max-score {
    position: absolute;
    bottom: 18px
}

.current-score {
    color: white;
    right: 48%
}

.max-score,
.max-score-label {
    position: absolute;
    left: 64%
}

.max-score-label {
    font-size: 15px;
    color: #fff;
    top: 14px
}

.gnome-button {
    cursor: pointer;
    -webkit-transform: scale(0, 0);
    -moz-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -o-transform: scale(0, 0);
    transform: scale(0, 0);
    -webkit-backface-visibility: hidden
}

.gnome-button.shown {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
}

.gnome-button.shown:hover {
    -webkit-filter: brightness(120%);
    filter: brightness(120%)
}

.gnome-button.shown:active {
    -webkit-filter: brightness(80%);
    filter: brightness(80%)
}

.gnome-button-label {
    position: absolute;
    top: 47%;
    left: 49%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.restart-button-wrapper {
    bottom: 14px;
    left: 22px;
    position: absolute;
    -webkit-transform: scale(.73, .73);
    -moz-transform: scale(.73, .73);
    -ms-transform: scale(.73, .73);
    -o-transform: scale(.73, .73);
    transform: scale(.73, .73);
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.restart-button {
    -webkit-transition: -webkit-transform 400ms;
    transition: -webkit-transform 400ms;
    -o-transition: -o-transform 400ms;
    -moz-transition: transform 400ms, -moz-transform 400ms;
    transition: transform 400ms;
    transition: transform 400ms, -webkit-transform 400ms, -moz-transform 400ms, -o-transform 400ms
}

.bump {
    -webkit-animation: bump 400ms;
    -moz-animation: bump 400ms;
    -o-animation: bump 400ms;
    animation: bump 400ms
}

@-webkit-keyframes bump {
    0% {
        -webkit-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }
}

@-moz-keyframes bump {
    0% {
        -moz-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -moz-transform: scale(1, 1);
        transform: scale(1, 1)
    }
}

@-o-keyframes bump {
    0% {
        -o-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -o-transform: scale(1, 1);
        transform: scale(1, 1)
    }
}

@keyframes bump {
    0% {
        -webkit-transform: scale(1.5, 1.5);
        -moz-transform: scale(1.5, 1.5);
        -o-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5)
    }

    100% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1)
    }
}

.search-button-wrapper {
    bottom: 136px;
    left: 374px;
    position: absolute;
    -webkit-transform: scale(.46, .46);
    -moz-transform: scale(.46, .46);
    -ms-transform: scale(.46, .46);
    -o-transform: scale(.46, .46);
    transform: scale(.46, .46);
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.search-button {
    -webkit-transition: -webkit-transform 400ms 50ms;
    transition: -webkit-transform 400ms 50ms;
    -o-transition: -o-transform 400ms 50ms;
    -moz-transition: transform 400ms 50ms, -moz-transform 400ms 50ms;
    transition: transform 400ms 50ms;
    transition: transform 400ms 50ms, -webkit-transform 400ms 50ms, -moz-transform 400ms 50ms, -o-transform 400ms 50ms
}

.share-button-wrapper {
    bottom: 136px;
    left: 540px;
    position: absolute;
    -webkit-transform: scale(.46, .46);
    -moz-transform: scale(.46, .46);
    -ms-transform: scale(.46, .46);
    -o-transform: scale(.46, .46);
    transform: scale(.46, .46);
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.share-button {
    -webkit-transition: -webkit-transform 400ms 100ms;
    transition: -webkit-transform 400ms 100ms;
    -o-transition: -o-transform 400ms 100ms;
    -moz-transition: transform 400ms 100ms, -moz-transform 400ms 100ms;
    transition: transform 400ms 100ms;
    transition: transform 400ms 100ms, -webkit-transform 400ms 100ms, -moz-transform 400ms 100ms, -o-transform 400ms 100ms
}

.close-x {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 8vh;
    height: 8vh;
    z-index: 100
}

@media only screen and (max-aspect-ratio:1/1) {
    .close-x {
        width: 8vw;
        height: 8vw
    }
}

.dive-button {
    position: absolute;
    bottom: 16px;
    right: 20px;
    -webkit-transition: -webkit-transform 400ms;
    transition: -webkit-transform 400ms;
    -o-transition: -o-transform 400ms;
    -moz-transition: transform 400ms, -moz-transform 400ms;
    transition: transform 400ms;
    transition: transform 400ms, -webkit-transform 400ms, -moz-transform 400ms, -o-transform 400ms
}

.dive-button.disabled {
    cursor: initial
}

.dive-button.disabled:hover {
    -webkit-filter: none;
    filter: none
}

.dive-button.disabled:active {
    -webkit-filter: none;
    filter: none
}

.popup-click-catcher {
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, .4);
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 200ms;
    -o-transition: opacity 200ms;
    -moz-transition: opacity 200ms;
    transition: opacity 200ms
}

.popup-click-catcher.shown {
    opacity: 1;
    pointer-events: all;
    z-index: 1000
}

.popup-frame {
    top: 100%;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    -webkit-transition: -webkit-transform 600ms;
    transition: -webkit-transform 600ms;
    -o-transition: -o-transform 600ms;
    -moz-transition: transform 600ms, -moz-transform 600ms;
    transition: transform 600ms;
    transition: transform 600ms, -webkit-transform 600ms, -moz-transform 600ms, -o-transform 600ms
}

.popup-frame.shown {
    -webkit-transform: translate3d(-50%, -120%, 0);
    -moz-transform: translate3d(-50%, -120%, 0);
    transform: translate3d(-50%, -120%, 0);
    z-index: 1001
}

.popup-close-wrapper {
    cursor: pointer;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    bottom: -26px;
    position: absolute
}

.popup-content-sizer {
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 70px 100px
}

.popup-content {
    height: 100%;
    width: 100%;
    text-align: center;
    position: relative
}

.popup-canvas {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

.popup-instructions {
    padding-top: 20px;
    font-size: 24px
}

.popup-unlock-title {
    padding: 20px 0;
    font-size: 32px
}

.popup-unlock-subtitle {
    font-size: 24px;
    line-height: 1.6
}

.popup-unlock-gnomes {
    position: absolute;
    bottom: 35px;
    left: 50%;
    width: 100%;
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0)
}

.popup-unlock-gnome {
    display: inline-block;
    margin: 0 4px
}

.popup-dive-instructions {
    padding-top: 10px;
    font-size: 30px;
    line-height: 1.3
}

.share-text {
    padding-top: 20px;
    font-size: 24px;
    line-height: 2.5
}

.share-option {
    display: inline-block;
    margin: 6px
}

.shortlink-wrapper {
    width: 262px;
    margin: auto;
    background: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 8px #000;
    -moz-box-shadow: 0 8px #000;
    box-shadow: 0 8px #000;
    position: relative;
    text-align: left;
    cursor: pointer;
    -webkit-transition: -webkit-box-shadow 100ms, -webkit-transform 100ms;
    transition: -webkit-box-shadow 100ms, -webkit-transform 100ms;
    -o-transition: box-shadow 100ms, -o-transform 100ms;
    -moz-transition: box-shadow 100ms, transform 100ms, -moz-box-shadow 100ms, -moz-transform 100ms;
    transition: box-shadow 100ms, transform 100ms;
    transition: box-shadow 100ms, transform 100ms, -webkit-box-shadow 100ms, -moz-box-shadow 100ms, -webkit-transform 100ms, -moz-transform 100ms, -o-transform 100ms
}

.shortlink-wrapper:active {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    -webkit-transform: translate3d(0, 8px, 0);
    -moz-transform: translate3d(0, 8px, 0);
    transform: translate3d(0, 8px, 0)
}

.shortlink-text {
    color: #222;
    font-size: 20px;
    padding: 14px 16px;
    -webkit-user-select: all;
    -moz-user-select: all;
    -ms-user-select: all;
    user-select: all
}

.shortlink-icon {
    position: absolute;
    right: 12px;
    top: 12px;
    -webkit-transition: -webkit-transform 100ms;
    transition: -webkit-transform 100ms;
    -o-transition: -o-transform 100ms;
    -moz-transition: transform 100ms, -moz-transform 100ms;
    transition: transform 100ms;
    transition: transform 100ms, -webkit-transform 100ms, -moz-transform 100ms, -o-transform 100ms
}

.shortlink-wrapper:hover .shortlink-icon {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1)
}

html,
body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0
}

.hidden {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0s 0.1s, opacity 0.1s linear;
    -o-transition: visibility 0s 0.1s, opacity 0.1s linear;
    -moz-transition: visibility 0s 0.1s, opacity 0.1s linear;
    transition: visibility 0s 0.1s, opacity 0.1s linear
}

.visible {
    visibility: inherit;
    opacity: 1;
    -webkit-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    -moz-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear
}

.settings-toggle {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 5000;
    border: 3px solid #5c3a21;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    cursor: pointer;
    background-color: #8b5a2b;
    color: #fff24d;
    font-size: 32px;
    box-shadow: 0 4px #5c3a21, inset 0 2px rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: transform 0.1s;
    transition: transform 0.1s;
    outline: none;
}

.settings-toggle:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.settings-toggle:active {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.leaderboard-toggle {
    position: fixed;
    top: 96px;
    right: 12px;
    z-index: 5000;
    border: 3px solid #5c3a21;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    cursor: pointer;
    background-color: #8b5a2b;
    color: #fff24d;
    font-size: 32px;
    box-shadow: 0 4px #5c3a21, inset 0 2px rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: transform 0.1s;
    transition: transform 0.1s;
    outline: none;
}

.leaderboard-toggle:active,
.leaderboard-close:active {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.settings-modal {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .6);
    padding: 20px;
    box-sizing: border-box
}

.settings-modal.open {
    display: flex
}

.settings-panel {
    width: 360px;
    height: auto;
    min-height: 400px;
    box-sizing: border-box;
    background-color: #633e20;
    /* Dark brown wood color */
    border: 6px solid #4a2b12;
    /* Darker edge */
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.6), inset 0 0 20px rgba(0, 0, 0, 0.4);
    background-image: none;
    /* Remove sprite crop */
    color: #fff24d;
    text-align: left;
    padding: 60px 40px 40px;
    position: relative;
    font: 14px/1.4 Noto Sans, Arial, Helvetica, sans-serif;
    font-weight: bold;
    display: flex;
    flex-direction: column;
}

.settings-panel h2 {
    margin: 0 0 16px;
    font-size: 28px;
    line-height: 1.2;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
    text-align: center;
}

.settings-close {
    position: absolute;
    top: 40px;
    right: 40px;
    width: 36px;
    height: 36px;
    border: 2px solid #5c3a21;
    border-radius: 50%;
    cursor: pointer;
    color: #fff24d;
    background-image: none;
    background-color: #8b5a2b;
    box-shadow: 0 2px #5c3a21, inset 0 1px rgba(255, 255, 255, 0.2);
    font: 700 18px/1 Noto Sans, Arial, Helvetica, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: transform 0.1s;
    transition: transform 0.1s;
    outline: none;
}

.settings-close:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom-width: 0;
}

.settings-label {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 700
}

.settings-input {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #3c2617;
    border-radius: 8px;
    background: #6b4d32;
    color: #fff24d;
    padding: 10px 12px;
    font: 700 16px/1.2 Noto Sans, Arial, Helvetica, sans-serif;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .3);
    outline: none;
}

.settings-input:focus {
    border-color: #a67c52;
}

.settings-checkbox {
    margin-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer
}

.settings-help {
    margin-top: 8px;
    font-size: 14px;
    color: #d1b899;
    font-weight: normal;
}

.settings-actions {
    margin-top: 20px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.settings-action {
    border: 0;
    border-radius: 20px;
    cursor: pointer;
    padding: 12px 20px;
    background: #6bc43b;
    color: #fff;
    border-bottom: 4px solid #006027;
    font: 700 16px/1.2 Noto Sans, Arial, Helvetica, sans-serif;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
    -webkit-transition: transform 0.1s, border-bottom-width 0.1s;
    transition: transform 0.1s, border-bottom-width 0.1s;
    outline: none;
}

.settings-action:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom-width: 0;
}

.settings-action-secondary {
    background: #a67c52;
    color: #fff;
    border-bottom: 4px solid #49311f;
}

.settings-status {
    margin-top: 10px;
    min-height: 18px;
    font-size: 14px;
    color: #95ffa9;
    text-align: center;
}

.leaderboard-content ol {
    margin: 0;
    padding: 0;
    list-style-type: decimal;
    font-size: 18px;
    color: #fff24d;
}

.leaderboard-content li {
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(255, 242, 77, 0.2);
}

.leaderboard-content li span {
    vertical-align: middle;
}

#hplogo {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    overflow: hidden !important;
}

#gamewrapper {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    height: 100vh !important;
    width: calc(100vh * 16 / 9) !important;
    transform: translateX(-50%) !important;
}
