.song-screen-popup {
            position: fixed;
            top: calc(var(--backend-shell-height) + var(--backend-bar-height));
            right: 0;
            bottom: 0;
            left: 0;
            display: none;
            background: rgba(15, 23, 42, 0.28);
            z-index: 4000;
            overflow: hidden;
        }
        .song-screen-popup.open {
            display: block;
        }
        .song-screen-card {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background: #ffffff;
            overflow: hidden;
        }
        .song-screen-body {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            overflow: hidden;
            background: #ffffff;
        }
        .song-screen-close {
            position: fixed;
            top: calc(var(--backend-shell-height) + var(--backend-bar-height) + 4px);
            left: 4px;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0;
            padding: 0;
            z-index: 4010;
            background: transparent;
            line-height: 0;
            cursor: pointer;
        }
        .song-screen-close svg {
            display: block;
        }
        @media (orientation: landscape) {
            .song-screen-close {
                left: 34px;
            }
        }
        .song-screen-body .song-page {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            display: flex;
            flex-direction: column;
            width: 100%;
            margin: 0;
            padding-top: calc(var(--backend-shell-height) + 6px);
            box-sizing: border-box;
            overflow: hidden;
            background: #fff;
        }
        .song-screen-body .content {
            display: grid;
            grid-template-rows:
              minmax(0, 0.9fr)
              auto
              minmax(0, 1fr)
              auto
              minmax(0, 1fr)
              auto;
            align-items: center;
            flex: 1 1 auto;
            padding: 0 20px;
            min-height: 0;
            background: #fff;
        }
        .song-screen-body .current-song {
            grid-row: 2;
            color: blue;
            font-size: calc(clamp(20px, 8vw, 140px) * var(--song-fit-scale, 1));
            margin: 0;
            max-width: 100%;
            overflow-wrap: anywhere;
            line-height: 1.05;
        }
        .song-screen-body .next-song {
            grid-row: 4;
            color: red;
            font-size: calc(clamp(20px, 8vw, 140px) * var(--song-fit-scale, 1));
            margin: 0;
            max-width: 100%;
            overflow-wrap: anywhere;
            line-height: 1.05;
        }
        .song-screen-body .timer {
            grid-row: 6;
            font-size: calc(clamp(20px, 3.6vw, 60px) * var(--song-fit-scale, 1));
            color: green;
            margin: 0;
            align-self: end;
        }
        .song-screen-body .hint-panel {
            display: none;
            flex-direction: column;
            border-top: 1px solid #d8dde8;
            background: #fff;
            flex: 1 1 auto;
            min-height: 0;
        }
        .song-screen-body .hint-panel.visible {
            display: flex;
        }
        .song-screen-body .hint-panel-header {
            text-align: left;
            padding: 8px 12px;
            font-size: clamp(13px, 1.8vw, 22px);
            font-weight: 700;
            color: #20314f;
            border-bottom: 1px solid #ebeff5;
        }
        .song-screen-body #hint-frame {
            width: 100%;
            flex: 1;
            border: 0;
            background: #fff;
        }
        .song-screen-body #hint-html-host {
            width: 100%;
            flex: 1;
            min-height: 0;
            position: relative;
            overflow: hidden;
            background: #fff;
        }
        .song-screen-body .hint-empty {
            padding: 16px;
            color: #657289;
            font-size: clamp(14px, 2vw, 26px);
        }
        .song-screen-body .hidden {
            display: none;
        }
        .song-screen-body .song-page.instrument-mode .content {
            flex: 0 0 auto;
            padding-top: 0;
            padding-bottom: 0;
        }
