@charset "UTF-8";

/* ========== reset ========== */
html, body, div, p, ul, li, dl, dt, dd, em, i, span, a, img, input,
h1, h2, h3, h4, h5, video, canvas { margin: 0; padding: 0; }
a, img, input { border: none; }
a { text-decoration: none; }
ul, li { list-style: none; }
img {
    pointer-events: none;
    display: block;
}
* {
    outline: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-focus-ring-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    box-sizing: border-box;
}

/* ========== 页面基底 ========== */
/* html 字号设为 100px，便于使用 px 即所见即所得（本 demo 直接用 px 布局） */
html { font-size: 100px; }
body {
    font: 14px/1.75 -apple-system, BlinkMacSystemFont, "Helvetica Neue",
        Helvetica, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    /* 深色渐变舞台背景，衬托序列帧特效 */
    background: radial-gradient(circle at 50% 0%, #1a2238 0%, #0b1020 60%, #05070f 100%);
    color: #e5e7eb;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
}

/* ========== 顶部标题栏 ========== */
.demo-header {
    width: 100%;
    text-align: center;
    padding: 24px 16px 8px;
}
.demo-header .title {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 2px;
    background: linear-gradient(135deg, #ffd56b, #ff8a3c 60%, #ff6b6b);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.demo-header .subtitle {
    margin-top: 6px;
    font-size: 13px;
    color: #93a4c3;
    letter-spacing: 1px;
}

/* ========== 舞台外层：负责把固定 1920px 画面等比缩放到视口 ========== */
.stage {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 12px 0 32px;
}

/* .wrap 为固定 1920px 设计稿，transform 缩放由 JS 注入 */
.wrap {
    width: 1920px;
    overflow: hidden;
    transform-origin: 50% 0;
    position: relative;
    margin: 0 auto;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
}

/* ========== effects 舞台 ========== */
.part-effects {
    width: 1920px;
    height: 1169px;
    background: url("../ossweb-img/effects_bg.png") no-repeat 0 0 / 100% 100%;
    /* 背景图未加载时的兜底底色 */
    background-color: #0e1428;
    margin-top: 0;
    position: relative;
}

.effects-item {
    position: absolute;
    z-index: 9;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
/* 热区悬停轻微放大，给出可点击反馈 */
.effects-item .img {
    transition: transform 0.25s ease, filter 0.25s ease;
    cursor: pointer;
}
.effects-item:hover .img {
    transform: scale(1.04);
    filter: drop-shadow(0 0 18px rgba(255, 213, 107, 0.45));
}

.effects-earth {
    margin-top: 570px;
    margin-left: 22px;
    width: 465px;
    height: 519px;
}
.effects-earth .img { width: 422px; height: 482px; }
.effects-earth .tags {
    width: 184px;
    height: 81px;
    position: absolute;
    margin-top: 410px;
    margin-left: 40px;
}

.effects-book {
    margin-top: 749px;
    margin-left: 417px;
    width: 759px;
    height: 330px;
}
.effects-book .img { width: 718px; height: 294px; }
.effects-book .tags {
    width: 159px;
    height: 72px;
    position: absolute;
    margin-top: 224px;
    margin-left: -170px;
}

.effects-bookshelf {
    margin-top: 185px;
    margin-left: 693px;
    width: 1098px;
    height: 516px;
}
.effects-bookshelf .img { width: 1098px; height: 516px; }

.effects-box {
    margin-top: 170px;
    margin-left: 1260px;
    width: 638px;
    height: 633px;
}
.effects-box .img { width: 596px; height: 592px; }

.effects-parchment {
    margin-top: 638px;
    margin-left: 1243px;
    width: 495px;
    height: 179px;
}
.effects-parchment .img { width: 475px; height: 155px; }

.effects-ship {
    margin-top: 460px;
    margin-left: 777px;
    width: 549px;
    height: 270px;
}
.effects-ship .img { width: 507px; height: 331px; }
.effects-ship .tags {
    width: 139px;
    height: 220px;
    position: absolute;
    margin-top: 168px;
    margin-left: 273px;
}

.effects-pen {
    margin-top: 650px;
    margin-left: 1174px;
    width: 133px;
    height: 268px;
}
.effects-pen .img { width: 133px; height: 268px; }

/* tags 标签淡入浮动动画 */
.tags {
    animation: tagFloat 2.6s ease-in-out infinite;
}
@keyframes tagFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
