:root {
    --app-height: 100vh;
    --game-size: 600px;
    --sat: env(safe-area-inset-top);
    --sar: env(safe-area-inset-right);
    --sab: env(safe-area-inset-bottom);
    --sal: env(safe-area-inset-left);
}

.ct-label {
    fill: rgba(0, 0, 0, 0.4);
    color: rgba(0, 0, 0, 0.4);
    font-size: .75rem;
    line-height: 1
}

.ct-chart-line .ct-label, .ct-chart-bar .ct-label {
    display: block;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex
}

.ct-chart-pie .ct-label, .ct-chart-donut .ct-label {
    dominant-baseline: central
}

.ct-label.ct-horizontal.ct-start {
    -webkit-box-align: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    -webkit-box-pack: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    text-align: left;
    text-anchor: start
}

.ct-label.ct-horizontal.ct-end {
    -webkit-box-align: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    -webkit-box-pack: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    text-align: left;
    text-anchor: start
}

.ct-label.ct-vertical.ct-start {
    -webkit-box-align: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    -webkit-box-pack: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
    text-align: right;
    text-anchor: end
}

.ct-label.ct-vertical.ct-end {
    -webkit-box-align: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    -webkit-box-pack: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    text-align: left;
    text-anchor: start
}

.ct-grid {
    stroke: rgba(0, 0, 0, 0.2);
    stroke-width: 1px;
    stroke-dasharray: 2px
}

.ct-grid-background {
    fill: none
}

.ct-point {
    stroke-width: 10px;
    stroke-linecap: round
}

.ct-line {
    fill: none;
    stroke-width: 4px
}

.ct-area {
    stroke: none;
    fill-opacity: .1
}

.ct-bar {
    fill: none;
    stroke-width: 10px
}

.ct-slice-donut {
    fill: none;
    stroke-width: 60px
}

.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
    stroke: #d70206
}

.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
    fill: #d70206
}

.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
    stroke: #f05b4f
}

.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
    fill: #f05b4f
}

.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
    stroke: #f4c63d
}

.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
    fill: #f4c63d
}

.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
    stroke: #d17905
}

.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
    fill: #d17905
}

.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
    stroke: #453d3f
}

.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
    fill: #453d3f
}

.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
    stroke: #59922b
}

.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
    fill: #59922b
}

.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
    stroke: #0544d3
}

.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
    fill: #0544d3
}

.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
    stroke: #6b0392
}

.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
    fill: #6b0392
}

.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
    stroke: #f05b4f
}

.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
    fill: #f05b4f
}

.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
    stroke: #dda458
}

.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
    fill: #dda458
}

.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
    stroke: #eacf7d
}

.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
    fill: #eacf7d
}

.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
    stroke: #86797d
}

.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
    fill: #86797d
}

.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
    stroke: #b2c326
}

.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
    fill: #b2c326
}

.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
    stroke: #6188e2
}

.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
    fill: #6188e2
}

.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
    stroke: #a748ca
}

.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
    fill: #a748ca
}

.menuIcon {
    position: absolute;
    z-index: 50;
    top: 0;
    right: 0;
    display: block;
    text-align: left;
    cursor: pointer
}

.menu1 .menuIcon {
    padding: 10px 7px 9px 7px
}

.menu2 .menuIcon {
    padding: 14px 16px 3px 16px
}

.menu4 .menuIcon {
    padding: 10px 7px 13px 7px
}

.menuIconCon {
    height: 21px
}

.menu1 .menuIconCon, .menu4 .menuIconCon {
    padding: 1px 0;
    width: 38px
}

.menu2 .menuIconCon {
    padding: 2px 0;
    width: 32px
}

.menuLine {
    display: block;
    margin: 3px 4px;
    border-radius: 2px;
    height: 3px;
    background-color: #fff
}

.menu1 .menuLine, .menu4 .menuLine {
    box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1)
}

.menu2 .menuLine {
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1)
}

@media (min-height: 460px) {
    .menu2 .menuIcon {
        padding-top: 15px;
        padding-bottom: 2px
    }
}

@media (min-width: 360px) and (min-height: 540px) {
    .menu1 .menuIcon {
        padding: 14px 7px 13px 7px
    }

    .menu4 .menuIcon {
        padding: 18px 7px 13px 7px
    }
}

@media (min-width: 460px) and (min-height: 640px) {
    .menu1 .menuIcon {
        padding: 18px 16px 19px 16px
    }

    .menu2 .menuIcon {
        padding: 23px 20px 12px 20px
    }

    .menu4 .menuIcon {
        padding: 18px 16px 23px 16px
    }

    .menu1 .menuIconCon, .menu4 .menuIconCon {
        width: 51px
    }

    .menu2 .menuIconCon {
        width: 40px
    }

    .menu1 .menuLine, .menu4 .menuLine {
        height: 4px
    }
}

.menuItems {
    position: fixed;
    z-index: 21;
    right: 0;
    margin: 0;
    padding: 0;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    list-style-type: none;
    text-align: left;
    -webkit-transform: translate(110%, 0%);
    -moz-transform: translate(110%, 0%);
    transform: translate(110%, 0%);
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#menuItems-games {
    z-index: 20
}

.menu1 .menuItems {
    top: 42px;
    border-color: #e2e2e2;
    background-color: #fff
}

.menu2 .menuItems {
    top: 42px;
    border-color: #e2e2e2;
    background-color: #fff;
    border-radius: 8px 0 0 8px
}

.menu4 .menuItems {
    top: 46px;
    border-color: #e2e2e2;
    background-color: #fff
}

.menuItem {
    display: block;
    padding: 0;
    border-style: solid;
    border-width: 1px 0 0 0;
    line-height: 1.5em;
    font-size: 16px;
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.0) 95%, rgba(0, 0, 0, 0.01));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.0) 95%, rgba(0, 0, 0, 0.01));
    white-space: nowrap
}

.menuItem:first-child {
    border-top-width: 0
}

.menu1 .menuItem, .menu4 .menuItem {
    border-color: #e2e2e2;
    color: #333
}

.menu2 .menuItem {
    border-color: #e2e2e2;
    color: #888;
    font-weight: bold
}

.menuLabel {
    display: block;
    padding: 7px 21px;
    width: 115px;
    color: inherit;
    text-decoration: none;
    white-space: normal;
    cursor: pointer
}

.menuItem-print, .menuItem-about, .menuItem-more {
    display: none
}

.menu-print .menuItem-print, .menu-about .menuItem-about, .menu-more .menuItem-more {
    display: block
}

@media (min-height: 460px) {
    .menu2 .menuItems {
        top: 48px
    }

    .menuLabel {
        padding: 9px 21px;
        width: 125px
    }
}

@media (min-width: 360px) and (min-height: 540px) {
    .menu1 .menuItems {
        top: 50px
    }

    .menu4 .menuItems {
        top: 54px
    }
}

@media (min-width: 460px) and (min-height: 640px) {
    .menu1 .menuItems {
        top: 60px
    }

    .menu2 .menuItems, .menu4 .menuItems {
        top: 64px
    }

    .menuItem {
        font-size: 21px
    }

    .menuLabel {
        padding: 9px 28px;
        width: 150px
    }
}

.menuOpen {
    -webkit-animation: menuOpen .1s ease 0s 1 normal both;
    -moz-animation: menuOpen .1s ease 0s 1 normal both;
    animation: menuOpen .1s ease 0s 1 normal both
}

@-webkit-keyframes menuOpen {
    0% {
        -webkit-transform: translate(110%, 0%)
    }
    100% {
        -webkit-transform: translate(0%, 0%)
    }
}

@-moz-keyframes menuOpen {
    0% {
        -moz-transform: translate(110%, 0%)
    }
    100% {
        -moz-transform: translate(0%, 0%)
    }
}

@keyframes menuOpen {
    0% {
        transform: translate(110%, 0%)
    }
    100% {
        transform: translate(0%, 0%)
    }
}

.menuClose {
    -webkit-animation: menuClose .1s ease 0s 1 normal both;
    -moz-animation: menuClose .1s ease 0s 1 normal both;
    animation: menuClose .1s ease 0s 1 normal both
}

@-webkit-keyframes menuClose {
    0% {
        -webkit-transform: translate(0%, 0%)
    }
    100% {
        -webkit-transform: translate(110%, 0%)
    }
}

@-moz-keyframes menuClose {
    0% {
        -moz-transform: translate(0%, 0%)
    }
    100% {
        -moz-transform: translate(110%, 0%)
    }
}

@keyframes menuClose {
    0% {
        transform: translate(0%, 0%)
    }
    100% {
        transform: translate(110%, 0%)
    }
}

.ct-series-a .ct-line {
    stroke: #66a2dd !important;
    stroke-width: 2px !important;
    stroke-dasharray: 2, 2 !important
}

.ct-series-a .ct-point {
    stroke: #66a2dd !important
}

.ct-series-a .ct-area {
    fill: #66a2dd !important
}

.ct-series-b .ct-line {
    stroke: #5282b3 !important;
    stroke-width: 3px !important
}

.ct-series-b .ct-point {
    stroke: #5282b3 !important
}

.ct-series-b .ct-area {
    fill: #5282b3 !important
}

.ct-label {
    fill: #333 !important;
    color: #333 !important
}

.ct-label.ct-vertical {
    -webkit-transform: translateY(6px);
    transform: translateY(6px)
}

.ct-label.ct-horizontal {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px)
}

@media (min-height: 500px) {
    #statsChart {
        margin-bottom: 28px;
        height: 180px
    }
}

@media (min-width: 360px) {
    #statsChart {
        margin-right: 28px;
        margin-left: 16px
    }
}

@media (min-width: 400px) {
    #statsChart {
        margin-left: 21px
    }
}

#statsAchievements {
    text-align: left;
    white-space: normal
}

#statsAchievementsScroller {
    margin: 12px 6% 21px 6%;
    padding: 0 4.5%;
    height: 278px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#statsAchievementsList {
    display: block;
    margin: 0;
    padding: 0;
    list-style-type: none
}

.statsAItem {
    display: flex;
    padding: 0 0 16px 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start
}

.statsAItem:last-child {
    padding-bottom: 0
}

.statsAProgress {
    width: 46px;
    padding: 3px 16px 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center
}

.statsAAbout {
    flex: 1
}

.statsAIcon-true, .statsAIcon-false {
    position: relative;
    margin: 2px 0 0 0;
    width: 30px;
    height: 30px;
    border-radius: 16%;
    overflow: hidden
}

.statsAPct {
    display: block;
    margin: 0;
    padding: 2px 0 0 0;
    line-height: 1.25em;
    font-size: 12px
}

.statsATitle {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1.25em;
    font-size: 16px;
    font-weight: bold
}

.statsADesc {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1.25em;
    font-size: 16px
}

@media (min-height: 500px) {
    #statsAchievementsScroller {
        height: 330px
    }
}

.trophy-cup {
    position: absolute;
    z-index: 1;
    margin: 0 auto;
    top: -65%;
    left: 15%;
    width: 70%;
    height: 130%;
    border-radius: 50%;
    background-color: #ffaf34;
    background-image: -webkit-linear-gradient(bottom, #ffaf34, rgba(255, 255, 255, 0.2));
    background-image: linear-gradient(to top, #ffaf34, rgba(255, 255, 255, 0.2))
}

.trophy-handle {
    position: absolute;
    z-index: 1;
    top: 10%;
    left: 3%;
    width: 94%;
    height: 45%;
    box-sizing: border-box;
    border: 2.4px solid #ffaf34;
    border-radius: 10% 10% 50% 50%;
    background: transparent
}

.trophy-stem-top {
    position: absolute;
    z-index: 1;
    top: 55%;
    left: 38%;
    width: 24%;
    height: 16%;
    border-bottom: 1px solid #ffaf34;
    border-radius: 0 0 25% 25%;
    background-color: #ffaf34
}

.trophy-stem-middle {
    position: absolute;
    z-index: 1;
    top: 66%;
    left: 42%;
    width: 16%;
    height: 16%;
    border-bottom: 1px solid #ffaf34;
    background-color: #ffaf34
}

.trophy-stem-bottom {
    position: absolute;
    z-index: 1;
    top: 82%;
    left: 30%;
    width: 40%;
    height: 8%;
    border-bottom: 1px solid #ffaf34;
    border-radius: 25% 25% 0 0;
    background-color: #ffaf34
}

.trophy-stemBase {
    position: absolute;
    z-index: 1;
    left: 15%;
    top: 90%;
    width: 70%;
    height: 10%;
    border-radius: 25% 25% 0 0;
    background-color: #ffaf34
}

.statsAIcon-false .trophy-cup, .statsAIcon-false .trophy-stem-top, .statsAIcon-false .trophy-stem-middle, .statsAIcon-false .trophy-stem-bottom, .statsAIcon-false .trophy-stemBase {
    background-color: #aaa;
    background-image: -webkit-linear-gradient(bottom, #aaa, rgba(255, 255, 255, 0.2));
    background-image: linear-gradient(to top, #aaa, rgba(255, 255, 255, 0.2));
    border-color: #aaa
}

.statsAIcon-false .trophy-handle {
    border-color: #aaa
}

#statsBottom {
    position: relative;
    padding: 4px 21px 4px 21px;
    height: 32px;
    background-color: rgba(0, 0, 0, 0.03);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden
}

#statsResetBtn {
    position: absolute;
    z-index: 101;
    display: block;
    margin: 0 0 0 -3px;
    padding: 3px;
    border: 0;
    box-shadow: none;
    line-height: 1.5em;
    font-size: 12px;
    color: #1a68b8;
    background-color: transparent;
    text-align: left;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer
}

.statsAchievementEarned {
    display: flex;
    padding: 0 9px;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    cursor: pointer
}

.statsAETrophy {
    position: relative;
    margin: 5px 12px 0 0;
    width: 30px;
    height: 30px;
    overflow: hidden
}

.statsAETrophy .trophy-cup, .statsAETrophy .trophy-stem-top, .statsAETrophy .trophy-stem-middle, .statsAETrophy .trophy-stem-bottom, .statsAETrophy .trophy-stemBase {
    background-color: #fff;
    background-image: none;
    border-color: #fff
}

.statsAETrophy .trophy-handle {
    border-color: #fff
}

.statsAEMessage {
    flex: 1;
    align-self: center;
    line-height: 1.25em;
    text-align: left
}

@media (min-width: 460px) and (min-height: 640px) {
    .statsAETrophy {
        margin-right: 16px;
        width: 42px;
        height: 42px
    }

    .statsAETrophy .trophy-handle {
        border-width: 3.4px
    }
}

/*#timerCon {*/
/*    position: absolute;*/
/*    z-index: 1;*/
/*    top: 0;*/
/*    left: 50%;*/
/*    bottom: 0;*/
/*    margin: 0 0 0 -100px;*/
/*    width: 200px;*/
/*    -webkit-transition: .2s opacity ease;*/
/*    transition: .2s opacity ease*/
/*}*/

.timerCon-blue {
    background-color: #5282b3;
    background-image: -webkit-linear-gradient(bottom, #5282b3, #66a2dd);
    background-image: linear-gradient(to top, #5282b3, #66a2dd)
}

.timerHidden {
    opacity: .0
}

.timerVisible {
    opacity: 1.0
}

/*#timerDrop {*/
/*    position: absolute;*/
/*    z-index: 2;*/
/*    top: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    bottom: 0;*/
/*    width: inherit;*/
/*    height: 100%;*/
/*    -webkit-transition: .25s -webkit-transform ease;*/
/*    transition: .25s transform ease*/
/*}*/

#statsPanel,
.timerHidden #timerDrop {
    display: none;
}

.timerVisible #timerDrop {
    display: block;
}

/*#timer {*/
/*    position: absolute;*/
/*    z-index: 2;*/
/*    top: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    bottom: 0;*/
/*    display: block;*/
/*    margin: -1px auto 0 auto;*/
/*    padding: 0;*/
/*    border: 0;*/
/*    width: inherit;*/
/*    height: 100%;*/
/*    box-shadow: none;*/
/*    background: 0;*/
/*    background-color: transparent;*/
/*    color: #fff;*/
/*    font-size: 21px;*/
/*    font-weight: bold;*/
/*    font-family: "Source Sans Pro", sans-serif;*/
/*    text-align: center;*/
/*    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);*/
/*    -webkit-appearance: none;*/
/*    -moz-appearance: none;*/
/*    appearance: none;*/
/*    -webkit-user-select: none;*/
/*    -moz-user-select: none;*/
/*    user-select: none;*/
/*    pointer-events: none;*/
/*    cursor: default*/
/*}*/

@media (min-width: 360px) {
    /*#timerCon {*/
    /*    margin-left: -125px;*/
    /*    width: 250px*/
    /*}*/
    /*#timer {*/
    /*    font-size: 24px*/
    /*}*/
}

@media (min-width: 460px) and (min-height: 640px) {
    /*#timerCon {*/
    /*    margin-left: -150px;*/
    /*    width: 300px*/
    /*}*/
    /*#timer {*/
    /*    font-size: 28px*/
    /*}*/
}

#content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 7px 0 7px;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    flex: 1 0 auto;
    background-color: #f3f5fd;
    background-image: -webkit-radial-gradient(center, closest-side, #fff, #f3f5fd);
    background-image: radial-gradient(closest-side at center, #fff, #f3f5fd);
    font-size: 0;
    overflow: hidden
}

.dark-mode #content {
    background-color: #0e1325;
    background-image: -webkit-radial-gradient(center, closest-side, #0c0e1a, #0e1325);
    background-image: radial-gradient(closest-side at center, #0c0e1a, #0e1325);
}

#contentSizer {
    flex: 1 0 auto;
    height: 100%;
}

#contentSetter {
    position: relative;
    margin: 0 auto;
    max-width: var(--game-size);
    max-height: var(--game-size);
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    background-color: #fff;
    overflow: hidden
}

.dark-mode #contentSetter {
    background-color: #21283f;
}

#contentHolder {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 7px;
    width: inherit;
    height: inherit
}

#contentHolderInner {
    position: relative;
    width: 100%;
    height: 100%
}

#content input[type=button] {
    border: 0;
    border-radius: 4px;
    min-height: 2em;
    background-color: #ccc;
    background-image: -webkit-linear-gradient(bottom, #ccc, #fff);
    background-image: linear-gradient(to top, #ccc, #fff);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    color: #4782bd;
    font-weight: bold;
    outline: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

@media (min-height: 470px) {
    #contentHolder {
        padding: 12px
    }
}

@media (min-width: 460px) and (min-height: 640px) {
    #contentHolder {
        padding: 20px
    }
}

@media print {
    #contentSizer {
        height: auto !important
    }

    #contentSetter {
        margin-top: 0 !important;
        border: 2px solid #333;
        width: var(--game-size) !important;
        height: var(--game-size) !important;
        box-shadow: none
    }
}

#searchWord, #foundWords {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: transparent;
    overflow: hidden
}

#searchWord {
    z-index: 2
}

#foundWords {
    z-index: 1
}

#searchOutline, .foundOutline {
    position: absolute;
    z-index: 1;
    display: none;
    background-color: rgba(51, 53, 75, 0.3)
}

.dark-mode #searchOutline, .foundOutline {
    position: absolute;
    z-index: 1;
    display: none;
    background-color: rgba(255, 255, 255, 0.3)
}

#wordsearch {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    color: #333;
    overflow: hidden
}

.dark-mode #wordsearch {
    color: #f1f1fd
}

#wordsearchGrid {
    width: 100%;
    height: 100%
}

.row {
    width: 100%;
    height: 8.333333%
}

.row7 {
    height: 14.28571%
}

.row8 {
    height: 12.5%
}

.row9 {
    height: 11.11111%
}

.row10 {
    height: 10%
}

.row11 {
    height: 9.090909%
}

.row13 {
    height: 7.6923076%
}

.row16 {
    height: 6.25%
}

.cell {
    cursor: default;
    user-select: none;
    position: relative;
    display: inline-block;
    width: 8.333333%;
    height: 100%;
    vertical-align: top;
    white-space: nowrap;
    border-radius: 100%;
}

/*.cell.__hint::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 0;*/
/*    bottom: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    border-radius: 100%;*/
/*    background: red;*/
/*}*/

.cell7 {
    width: 14.28571%
}

.cell8 {
    width: 12.5%
}

.cell9 {
    width: 11.11111%
}

.cell10 {
    width: 10%
}

.cell11 {
    width: 9.090909%
}

.cell13 {
    width: 7.6923076%
}

.cell16 {
    width: 6.25%
}

.cellVal {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-weight: bold;
    text-align: center
}

.locale-zh .cellVal {
    font-weight: normal
}

@media print {
    .row7 {
        line-height: 72.0px !important;
        font-size: 50.4px !important
    }

    .row8 {
        line-height: 63.0px !important;
        font-size: 44.1px !important
    }

    .row9 {
        line-height: 56.0px !important;
        font-size: 39.2px !important
    }

    .row10 {
        line-height: 50.0px !important;
        font-size: 35.0px !important
    }

    .row11 {
        line-height: 46.0px !important;
        font-size: 32.2px !important
    }
}

#controls {
    position: absolute;
    z-index: 6;
    bottom: 0;
    left: 0;
    right: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 7px 8px;
    width: 100%
}

#controlCon {
    margin: 0 auto;
    max-width: 600px
}

#words {
    display: block;
    margin: 0 0 4px 0;
    padding: 0;
    list-style-type: none
}

.word {
    border: 0;
    display: inline-block;
    margin: 0;
    padding: 0 4px;
    line-height: 1.5em;
    font-size: 15px;
    font-weight: bold;
    color: #13141c;
}

.dark-mode .word {
    color: #fff;
}

.word-en {
    /*cursor: pointer*/
}

.word-zh {
    font-weight: normal
}

.word-7 {
    font-size: 17px
}

.word-10 {
    cursor: default
}

.wordObscure {
    cursor: default
}

.wordFound {
    opacity:.4
}

@media (min-width: 360px) and (min-height: 450px) {
    #controls {
        padding: 7px 8px
    }

    .word {
        padding: 0 6px;
        line-height: 1.7em
    }
}

@media (min-width: 360px) and (min-height: 550px) {
    #words, .word {
        font-size: 16px
    }

    .word-7 {
        font-size: 18px
    }
}

@media (min-width: 460px) and (min-height: 640px) {
    #controls {
        padding: 7px 4px
    }

    #words, .word {
        font-size: 18px
    }

    .word {
        padding: 0 8px
    }

    .word-7 {
        font-size: 20px
    }
}

@media (min-width: 540px) and (min-height: 800px) {
    #controls {
        padding: 16px 16px 21px 16px
    }
}

@media print {
    #controls {
        position: relative;
        display: block !important;
        margin: 0 auto;
        bottom: 0 !important;
        padding: 16px 0 0 0;
        max-width: 520px
    }

    .word {
        color: #333 !important;
        background-color: transparent !important;
        font-size: 21px !important;
        text-shadow: none
    }

    .word-7 {
        font-size: 28px !important
    }
}

.showPanel {
    -webkit-animation: showPanel .3s ease 0s 1 normal both;
    -moz-animation: showPanel .3s ease 0s 1 normal both;
    animation: showPanel .3s ease 0s 1 normal both
}

.hidePanel {
    -webkit-animation: hidePanel .3s ease 0s 1 normal both;
    -moz-animation: hidePanel .3s ease 0s 1 normal both;
    animation: hidePanel .3s ease 0s 1 normal both
}

@-webkit-keyframes showPanel {
    0% {
        top: -1000px;
        opacity: .0
    }
    1% {
        top: 0;
        opacity: .0
    }
    100% {
        top: 0;
        opacity: 1.0
    }
}

@-moz-keyframes showPanel {
    0% {
        top: -1000px;
        opacity: .0
    }
    1% {
        top: 0;
        opacity: .0
    }
    100% {
        top: 0;
        opacity: 1.0
    }
}

@keyframes showPanel {
    0% {
        top: -1000px;
        opacity: .0
    }
    1% {
        top: 0;
        opacity: .0
    }
    100% {
        top: 0;
        opacity: 1.0
    }
}

@-webkit-keyframes hidePanel {
    0% {
        top: 0;
        opacity: 1.0
    }
    99% {
        top: 0;
        opacity: .0
    }
    100% {
        top: -1000px;
        opacity: .0
    }
}

@-moz-keyframes hidePanel {
    0% {
        top: 0;
        opacity: 1.0
    }
    99% {
        top: 0;
        opacity: .0
    }
    100% {
        top: -1000px;
        opacity: .0
    }
}

@keyframes hidePanel {
    0% {
        top: 0;
        opacity: 1.0
    }
    99% {
        top: 0;
        opacity: .0
    }
    100% {
        top: -1000px;
        opacity: .0
    }
}

#newGameScreen, #lookupScreen {
    color: #fff;
    position: absolute;
    z-index: 7;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: inherit;
    background-color: #5282b3;
    background-image: -webkit-radial-gradient(center, closest-side, #66a2dd, #5282b3);
    background-image: radial-gradient(closest-side at center, #66a2dd, #5282b3);
    text-align: center;
    overflow: hidden
}

#lookupScreen {
    overflow: auto
}

.toggleScreen {
    display: block !important;
    height: 0
}

.showScreen {
    display: block !important;
    padding: inherit;
    -webkit-animation: showScreen .3s ease 0s 1 normal both;
    -moz-animation: showScreen .3s ease 0s 1 normal both;
    animation: showScreen .3s ease 0s 1 normal both
}

.hideScreen {
    display: block !important;
    -webkit-animation: hideScreen .3s ease 0s 1 normal both;
    -moz-animation: hideScreen .3s ease 0s 1 normal both;
    animation: hideScreen .3s ease 0s 1 normal both
}


#retryBtn {
    display: block;
    margin: 21px auto 0 auto;
    min-width: 100px;
    line-height: 1.5em;
    font-size: 16px;
    cursor: pointer
}

#newGamePanel, #lookupPanel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%
}

#newGameHdr, #lookupWord {
    display: inline-block;
    padding: 0 7px;
    line-height: 1.5em;
    font-size: 21px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
}

#lookupWord {
    font-weight: bold;
    text-transform: capitalize
}

#lookupDefinition {
    display: block;
    margin: 16px auto 0 auto;
    padding: 0 12px;
    max-width: 300px;
    max-height: 50%;
    line-height: 1.5em;
    font-size: 21px;
    text-align: left;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    white-space: normal;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.newGamesBtn, #lookupBtn {
    display: block;
    margin: 12px auto 0 auto;
    min-width: 120px;
    line-height: 1.5em;
    font-size: 16px;
    cursor: pointer
}

#lookupBtn {
    margin-top: 21px;
    margin-bottom: 16px;
    min-width: 90px
}

@media (min-height: 450px) {
    #newGamePanel, #lookupPanel {
        height: 80%
    }

    .newGamesBtn {
        margin-top: 16px
    }
}

@media (min-width: 360px) and (min-height: 540px) {
    .newGamesBtn {
        margin-top: 21px
    }
}

@media (min-width: 460px) and (min-height: 640px) {

    #newGameHdr, #lookupWord {
        font-size: 28px
    }

    #lookupDefinition {
        margin-top: 28px;
        max-width: 400px;
        font-size: 28px
    }

    #retryBtn, #lookupBtn {
        margin-top: 38px;
        min-width: 130px;
        font-size: 21px
    }

    .newGamesBtn {
        margin-top: 28px;
        min-width: 160px;
        font-size: 21px
    }
}

@-webkit-keyframes showScreen {
    0% {
        height: 0;
        opacity: .0
    }
    1% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 100%;
        opacity: 1.0
    }
}

@-moz-keyframes showScreen {
    0% {
        height: 0;
        opacity: .0
    }
    1% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 100%;
        opacity: 1.0
    }
}

@keyframes showScreen {
    0% {
        height: 0;
        opacity: .0
    }
    1% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 100%;
        opacity: 1.0
    }
}

@-webkit-keyframes hideScreen {
    0% {
        height: 100%;
        opacity: 1.0
    }
    99% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 0;
        opacity: .0
    }
}

@-moz-keyframes hideScreen {
    0% {
        height: 100%;
        opacity: 1.0
    }
    99% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 0;
        opacity: .0
    }
}

@keyframes hideScreen {
    0% {
        height: 100%;
        opacity: 1.0
    }
    99% {
        height: 100%;
        opacity: .0
    }
    100% {
        height: 0;
        opacity: .0
    }
}

@media print {
    #lookupScreen {
        display: none !important
    }
}

@-webkit-keyframes bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0.0)
    }
    40% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0.0);
        transform: scale(0.0)
    }
    40% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0)
    }
}
