:root {
    --c-main: #287aba;
    --c-danger: #dc3545;
    --c-bg: #205080;
    --c-bg-dark: #153758;
    --c-main-light: #398de0;
    --c-main-dark: #153758;
    --c-book-blue: rgb(23 127 188);
    --c-text: #2c3e50;
}
*, ::before, ::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

html, body {scroll-behavior: smooth}

.shadow-1 {box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)}
.shadow-2 {box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23)}
.shadow-3 {box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)}
.shadow-4 {box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)}
.shadow-5 {box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22)}

.center {text-align: center}
.left {text-align: left}
.right {text-align: right}

.pointer {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
}
.pointer-hov:hover {
    filter: brightness(0.9);
}
.pointer-act:active {
    filter: brightness(0.8);
    box-shadow: none;
}

label {
    -webkit-tap-highlight-color: rgb(0 0 0 / 0);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: none;
    border-radius: 5px;
    outline: none;
    background-color: #398de0;
    color: white;
    font-family: sans-serif;
    font-size: 15px;
    text-decoration: none;
    padding: 0.5rem 1rem;
}
.btn-danger {
    background-color: #ff4b4b;
    color: white;
}

.lightbox {
    z-index: 5;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    padding: 1rem;
    background: hsl(0, 0%, 0%, 0.25);
    pointer-events: none;
    opacity: 0;
}
:checked + .lightbox {
    pointer-events: auto;
    opacity: 1;
}
.lightbox-container {
    position: relative;
    width: 95%;
    max-width: 1024px;
    background-color: white;
    padding: 1rem;
    margin: auto;
    border-radius: 5px;
}
.lightbox-msg .lightbox-container {
    max-width: 400px;
}
.lightbox-btn-area {
    margin-top: 1rem;
    font-size: 15px;
    color: var(--c-main)
}
.lightbox-btn-area .pointer:not(:last-child) {
    margin-right: 1.5rem;
}

.switch {
    display: none;
}


.w-5 {
    width: 1.25rem;
}
.w-6 {
    width: 1.5rem;
}
.w-7 {
    width: 1.75rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-7 {
    height: 1.75rem;
}
.m-0 {
    margin: 0;
}
strong.variety {
    color: #e73a72;
}

.book-title,
.nav {
    background: black !important;
    filter: invert(1)
}
.practice-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.icon-practice {
    background-image: url('data:image/svg+xml;utf8,<svg id="game-console-cable" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon line" width="32" height="32"><path id="primary" d="M 16.43 7 a 4 4 0 0 1 4 3.72 l 0.57 8 A 2.12 2.12 0 0 1 18.76 21 a 2.24 2.24 0 0 1 -2 -1.82 L 16 16.79 a 1 1 0 0 0 -1 -0.79 H 8.94 a 1 1 0 0 0 -1 0.79 l -0.73 2.39 a 2.24 2.24 0 0 1 -2 1.82 A 2.12 2.12 0 0 1 3 18.72 l 0.57 -8 A 4 4 0 0 1 7.57 7 Z M 12 3 V 7 m 3 0 H 9 l 0.5 2 h 5 Z M 7 10 L 7 14 Z M 5 12 L 9 12 Z M 17 10 L 17 10 Z M 15 12 L 15 12 Z M 19 12 L 19 12 Z M 17 14 L 17 14 Z" style="fill: none; stroke: rgb(255, 255, 255); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2;"></path></svg>') !important;
    width: 2rem !important;
    height: 2rem !important;
}
.icon-practice + .nav-text {
    /* display: none !important; */
    margin-left: 0.5rem;
    margin-right: -5em;
}
.icon-practice + .nav-text::before {
    content: "來挑戰 GO！";
    margin-right: 1em;
}
.body-container {
    border-top: 2px dotted var(--c-main);
}
.body-container.timer-15,
.body-container.timer-20,
.body-container.timer-25 {
    border-top: none;
}

.body-container.no-border-top {
    border-top: none;
}

.tag-explain {--bg: #2968a6 !important;}

.question-number {
    color: black !important;
}

.text-logo-container ul {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}
.text-logo-container li {
    display: inline-block;
    margin-right: 1.5rem;
    padding: 0 0.25rem;
}
.text-logo-container li.active {
    border-bottom: 4px solid #d78545;
}
#menu {
    display: none;
}
.active a {
    cursor: default;
}

.text-logo-container .close {
    display: none
}

@media (max-width: 640px) {
    .text-logo-container .active label::before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -2rem;
        width: 2rem;
        height: 2rem;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="%2321c0c0" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" /></svg>') no-repeat center / 24px;
    }
    .text-logo-container li {
        display: inline-block;
        margin-right: 0;
        padding: 0 0.25rem;
        display: none
    }
    .text-logo-container li.active {
        border-bottom: none;
        display: block;
    }
    .text-logo-container :checked + ul .active a::before {
        content: none;
    }
    .text-logo-container :checked + ul {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        padding: 3rem 2.5rem 0 2rem;
        background-color: black;
        border-right: 2px solid #d78545;
        box-shadow: 0 10px 20px rgba(255,255,255,0.19), 0 6px 6px rgba(255,255,255,0.23);
    }
    .text-logo-container :checked + ul li {
        display: block;
        margin-bottom: 1rem;
        padding-left: 0.5rem
    }
    .text-logo-container :checked + ul li {
        border-left: 4px solid transparent;
    }
    .text-logo-container :checked + ul .active {
        border-left: 4px solid #d78545;
    }

    .text-logo-container :checked + ul .close label {
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 24px;
        height: 24px;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="%2321c0c0" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>') no-repeat center / 24px;
    }
}