
body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.murakamiradio-fm-main-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;

    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
    width: 100%; /* 可选，确保在小屏时占满可用空间 */
}

.murakamiradio-fm-image-buttons-container {

    display: flex;

    flex-direction: row;

    justify-content: space-around;

    margin-top: 60px;
    height: 70px;
}

.murakamiradio-fm-image-buttons-container button {

    padding: 5px;
    max-width: 70px;
    max-height: 70px;

    border: none;

    background-color: transparent;
    /*
 -webkit-tap-highlight-color: 去除 iOS Safari 点击高亮
 transparent 表示透明
 去除移动端点击时的灰色背景
 */
    -webkit-tap-highlight-color: transparent;
}


.fm-jazz-button {
    margin-left: 10px;
}
.fm-book-button {
    margin-right: 10px;
}

.murakamiradio-fm-titles-container {
    display: flex;
    flex-direction: row;

    justify-content: space-around;
}


.murakamiradio-fm-titles-container button {

    border: none;
    background-color: white;
    min-width: 70px;
    max-width: 70px;
    font-size: 16px;
    color: black;

    padding: 0;

    -webkit-tap-highlight-color: transparent;

}

/* 👇 添加这两个样式类 */
.fm-jazz-title {
    margin-left: 10px;
}

.fm-book-title {
    margin-right: 10px;
}


.murakamiradio-fm-grill-container {

    text-align: center;

    margin-top: 5px;

    /*padding: 25px;*/
    padding-top: 25px;
    padding-left: 25px;
    padding-bottom: 25px;
    padding-right: 25px;
}

.fm-music-controller-container {
    align-items: flex-start;
    justify-content: flex-end;

    display: flex;
}

.fm-play-button {

    width: 63px;
    height: auto;

    margin-right: 30px;
    margin-top: 16px;
    background: transparent;

    border: none;
}
.play-button-image {

    width: 100%;
    height: auto;
}

.fm-play-button.is-playing {
    /*animation: pulse 1.5s infinite;*/
}

.fm-status-image {

    margin-top: 30px;
    margin-right: 0;

    width: 20px;
    height: 20px;
}

.fm-next-button {

    margin-right: 35px;

    width: 104px;
    height: 114px;

    max-width: 104px;
    max-height: 114px;


    background: transparent;
    /*background: white;*/
    /*background-color: white;*/
    border: none;
    padding: 0;

}

.next-btn-image {
    width: 100%;
    height: auto;
}


.play-button-image {
    width: 62px;
    height: auto;
}

/*
屏幕宽度小于等于 320px
iPhone 4S、iPhone SE1 小手机
*/
@media (max-width: 320px) {

    .murakamiradio-fm-image-buttons-container {
        max-height: 65px;
    }

    .murakamiradio-fm-image-buttons-container button {
        max-width: 60px;
        max-height: 60px;
    }

    .murakamiradio-fm-title-buttons-container button {
        max-width: 60px;
        min-width: 60px;
    }

    .murakamiradio-fm-titles-container button{
        max-width: 60px;
        min-width: 60px;
    }

}

/*
中等偏小尺寸的手机
屏幕宽度在 321px 到 390px 之间
iPhone 12/13 mini, iPhone SE2/3 等
*/
@media (min-width: 321px) and (max-width: 390px) {

    .murakamiradio-fm-image-buttons-container {
        min-height: 75px;
    }

    .murakamiradio-fm-image-buttons-container button {
        max-width: 70px;
        max-height: 70px;
    }
    .murakamiradio-fm-titles-container button {
        max-width: 70px;
        min-width: 70px;
    }

}
/*
大尺寸手机
屏幕宽度在 391px 到 460px 之间
iPhone 12/13/14 Pro Max, 大屏 Android 手机等
*/
@media (min-width: 391px) and (max-width: 460px) {

    .murakamiradio-fm-image-buttons-container {
        min-height: 85px;
        margin-top: 150px;
    }

    .murakamiradio-fm-image-buttons-container button {
        max-width: 80px;
        max-height: 80px;
    }

    .murakamiradio-fm-titles-container button{
        max-width: 80px;
        min-width: 80px;
    }
}


/*
  按钮图片样式
  .button-image 用于按钮内的图片
*/
.button-image {
    /*
      width: 设置宽度
      100% 表示图片宽度占满按钮宽度
    */
    width: 100%;

    /*
      height: 设置高度
      auto 表示高度自动计算，保持图片原始比例
      防止图片变形
    */
    height: auto;

    /*
      display: 设置显示方式
      block 表示块级元素
      去除图片底部的默认空白
    */
    display: block;

    /*
      border-radius: 设置圆角
      6px 表示四个角都是 6 像素的圆角
      与按钮的圆角保持一致
    */
    border-radius: 6px;

    /*
      pointer-events: 设置指针事件
      none 表示图片不响应鼠标事件
      确保点击事件由按钮处理，而不是图片
    */
    pointer-events: none;
}

.grill-image {

    width: 100%;

}



/*确保背景容器全屏*/
.life-index-container {
    width: 100vw;
    height: 100dvh;/* 动态视口高度，适配手机浏览器工具栏 */
    top: 0;
    left: 0;

    /*改变层级，放在最底层*/
    /*z-index: -1;*/
    /*超出的部分裁切掉*/
    overflow: hidden;

    position: fixed;/* 只有单屏图片时，relative 或 fixed 均可 */
}

.full-screen-link {
    display: block;
    width: 100%;
    height: 100%;

    -webkit-tap-highlight-color: transparent;
}

.bg-image {

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

/*!* 3. 底部按钮样式 【新增】 *!*/
.enter-murakamiradio {
    /* A. 绝对定位：底部居中 */
    position: absolute;
    bottom: 30px; /* 距离底部 30px */
    left: 50%;
    transform: translateX(-50%); /* 完美的水平居中修正 */

    /* B. 字体设置 */
    color: black; /* 黑色字体 */
    font-family: 'Caveat', cursive, sans-serif; /* 优先用手写体，没有就用草书，再没有就默认 */
    font-size: 24px; /* 字号稍微大一点 */
    font-weight: 600; /* 加粗一点，显得有质感 */
    text-decoration: none; /* 去掉下划线 */
    letter-spacing: 1px;

    /* D. 交互效果 */
    /*transition: all 0.3s ease;*/
    z-index: 10; /* 保证浮在图片上面 */
    -webkit-tap-highlight-color: transparent;

    /*!* 3. 绑定呼吸动画 *!*/
    /*animation: gentle-breath 3s infinite ease-in-out;*/

    /*!* 4. 增强体验：平滑的点击过渡 *!*/
    /*transition: all 0.3s ease;*/

    overflow: hidden; /* 必须加，裁剪光影 */
}

/* 呼吸动画核心 */
@keyframes gentle-breath {
    0%, 100% {
        /* 初始状态：正常大小，淡淡的光影 */
        transform: translateX(-50%) scale(1);
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
        background: rgba(255, 255, 255, 0.15);
    }
    50% {
        /* 呼气状态：轻微放大 4%，光影向外柔和扩散 */
        transform: translateX(-50%) scale(1.04);
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.4);
        background: rgba(255, 255, 255, 0.25); /* 稍微变亮 */
        border-color: rgba(255, 255, 255, 0.7);
    }
}

.enter-murakamiradio::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
            45deg,
            transparent,
            rgba(255, 255, 255, 0.3),
            transparent
    );
    transform: rotate(45deg);
    animation: shine-sweep 3s infinite;
}
@keyframes shine-sweep {
    0% { left: -100%; }
    100% { left: 100%; }
}

.enter-murakamiradio:after {
    content: "♪"; /* 增加一个小图标 */
    animation: note-float 2s infinite;
    display: inline-block;
}

@keyframes note-float {
    0%, 100% { transform: translateY(0); opacity: 0.5; }
    50% { transform: translateY(-5px); opacity: 1; }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */


/* 彻底清除浏览器默认边距 */
html, body {
    margin: 0 !important; /* 强制清除 body 的 8px 边距 */
    padding: 0 !important;
}
