@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800&family=IBM+Plex+Sans+JP&family=Mozilla+Headline:wght@200..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
/* "Google Sans Code", "IBM Plex Sans JP", "Mozilla Headline", "Ubuntu", "Noto Sans" */

:root {
    --dark-black: #060606;
    --light-black: #2b2b2b;
    --dark-gray: #a0a0a0;
    --light-gray: #f9f9f9;
    --dark-blue: #586f7c;
    --light-blue: #a8d0d8;
    --primary-color1: #ffc759;
    --primary-color2: #f45b69;
    --primary-color3: #7adaa5;
    --primary-color4: #b771e5;
    --primary-color5: #9a7e6f;
}

* {
    margin: 0;
    padding: 0;
    position: relative;
    box-sizing: border-box;
    font-family: "Noto Sans", "Ubuntu", "IBM Plex Sans JP";
    color: white;
}

html, body {
overflow: hidden;
background: transparent !important;
z-index: 0;
}

h1, h2, h3, h4 {
    font-family: "Mozilla Headline", "Ubuntu", "IBM Plex Sans JP";
    line-height: 1.4;
    margin-bottom: 0;
    font-weight: 600;
}

::selection {
	background: white;
	color: var(--light-black);
}
::-moz-selection {
	background: white;
	color: var(--light-black);
}

/* intro-container */
.hidden {
    display: none !important;
}

.intro .intro-container {
    background-color: var(--dark-black);
    z-index: 60;
}

.intro-page .intro-page-text {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.intro-page .intro-page-text-h3 {
    position: fixed;
    top: -15%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.intro-page .intro-page-button {
    color: white;
    position: absolute;
    left: 50%;
    bottom:12%;
    transform: translate(-50%, 50%);
    background-color: var(--light-black);
    font-size: 1.2rem;
    font-weight: bold;
    width: 23%;
    font-family: "Google Sans Code";
    transition: 0.8s ease-in;
}

.intro-page .intro-page-button:hover {
    color: var(--primary-color2);
}

/* Bootstrap Modal */
.modal-backdrop {
    z-index: 70;
}

.modal {
    z-index: 71;
}

.selection-box {
    background-color: var(--dark-black);
}

.selection-text {
    background-color: var(--light-black);
    color: white;
}

.btn-three-theme {
    color: white;
    border: 2px solid white;
    transition: all 0.8s ease-in;
}

.btn-three-theme:hover {
    background-color: white !important;
    color: var(--light-black) !important;
    transform: scale(1.05);
}

/* --- AR-colorful-filter --- */
#scan-ui {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 20;
    /* pointer-events: none; */
}

#ar-filter-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 30;
    opacity: 0.3;
}

#switch-filter-button {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: auto !important;
    z-index: 35;
    color: white;
    border: 2px solid white;
    font-weight: 600;
    font-family: "Noto Sans", "Google Sans Code";
    transition: 0.8s ease-in;
}

#switch-filter-button:hover {
    background-color: white;
    color: var(--light-black);
    z-index: 36;
}

/* --- content-player --- */
.scan-tip {
    position: fixed;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    color: var(--primary-color2);
    background-color: white;
    padding: 4px 10px;
    border-radius: 10px;
    font-weight: bold;
    font-family: "Noto Sans";
    z-index: 50;
}

#content-player {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: var(--dark-black);
    z-index: 40;
    display: flex;
    justify-content: center;
    align-items: center;
}

#video-player, #image-player, #audio-player {
    object-fit: contain !important;
    position: relative !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    background-color: var(--dark-black);
}

#audio-visualizer i {
    font-size: 8rem;
    color: white;
    animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
    0% {
        transform: scale(0.95);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.15);
        opacity: 1;
    }
    100% {
        transform: scale(0.95);
        opacity: 0.7;
    }
}

#audio-visualizer p {
    color: white;
    font-size: 1.2rem;
    margin-top: 20px;
}

#close-content-button {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2.5rem;
    color: white;
    cursor: pointer;
    text-shadow: 0 0 5px var(--dark-black);
    z-index: 41;
}

/* A-Frame */
#ar-scene {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    background: transparent !important;
}

/* MindAR UI Overlay */ 
.mindar-ui-overlay,
.mindar-ui-overlay.mindar-ui-scanning,
.mindar-ui-overlay.mindar-ui-loading,
.mindar-ui-overlay.mindar-ui-compatibility {
  /* background: transparent !important; */
  opacity: 0.8 !important;
  box-shadow: none !important;
  border: none !important;
  z-index: 2 !important;
}

/* .mindar-ui-loading, .mindar-ui-compatibility {
  display: none !important;
} */

/* MindAR/A-Frame video(上下掃描畫面) */
a-scene video,
section.A-Frame video,
video[autoplay][muted][playsinline] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 0 !important;
    object-fit: cover !important;
}