@charset "utf-8";
/* CSS Document */
body {
            margin: 0;
            font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
            height: 100svh;
            display: flex;
            flex-direction: column;
            align-items: center; background-color: rgba(37,37,37,1.00);
        }

     
        .container {
            padding: 30px;
            max-width: 900px;
        }

        .video-container {
            position: relative;
            overflow: hidden;
            width: 100%;
            position: fixed;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }

        #video {
            display: block;
            width: 100%;
            height: auto;
        }

        #video.hidden {
            display: none;
        }

        #canvas,
        #paintCanvas {
            display: none;
        }

        #paintCanvas {
            width: 100%;
            position: fixed;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }

        #paintCanvas.show {
            display: block;
            width: 100%;
            height: auto;
        }

        .controls {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 0px;
            width: 100%;
            position: fixed;
            bottom: 0;
            left: 0; z-index: 2; padding: 40px 0;
        }

        button {
            padding:0;
            font-size: 16px;
            font-weight: bold;
            border: none;
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.3s; width: 80px; height: 80px; text-indent: -9999px; background-position: center; background-repeat: no-repeat; background-size: 60px; background-color: transparent;
        }

        #captureBtn {
            color: white; border: 8px solid #fff; box-sizing: border-box; background-color: transparent;
        }

        #captureBtn.hidden {
            display: none;
        }

        #playBtn {
            color: white;
            display: none; background-image: url("../img/play.svg");
        }

        #playBtn.show {
            display: inline-block;
        }

        #stopBtn {
            color: white;
            display: none; background-image: url("../img/pause.svg");
        }

        #stopBtn.show {
            display: inline-block;
        }

        #resetBtn {
            color: white;
            display: none;
            position: fixed;
            top: 0;
            left: 0; background-image:url("../img/back.svg"); width: 60px; height: 60px; background-size: 30px; border-radius: 0;
        }

        #resetBtn.show {
            display: inline-block;
        }

        button:hover {
        }

        button:active {
        }

        button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none;
        }

        .settings {
            display: flex;
            gap: 20px;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 15px;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 10px;
            display: none;
        }

        .setting-item {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .setting-item label {
            font-size: 14px;
            color: #555;
            margin-bottom: 5px;
        }

        .setting-item input {
            width: 60px;
            padding: 5px;
            border: 2px solid #ddd;
            border-radius: 5px;
            text-align: center;
        }

        #status {
            text-align: center;
            color: #666;
            font-style: italic;
            min-height: 24px;
            display: none;
        }

        .loading {
            color: #f5576c;
            font-weight: bold;
        }

        .music-info {
            margin-top: 15px;
            padding: 15px;
            background: #f0f8ff;
            border-radius: 10px;
            display: none;
        }

        .music-info.show {
            display: none;
        }

        .music-info h3 {
            margin: 0 0 10px 0;
            color: #667eea;
        }

        .music-info p {
            margin: 5px 0;
            font-size: 14px;
            color: #555;
        }

 h1 { z-index: 11;color: #FFF; position: fixed; top:20px; left: 20px; font-size: 16vw; margin: 0; line-height: 1;font-family: "Inter", sans-serif;}
@media (orientation: landscape) {
h1 { font-size: 8vw;}
}