:root {
    --bg-dim: 0;
    --logo-size: 320px; --logo-glow: 1; --logo-shadow: .6; --float-amp: 10px; --float-dur: 8s;
    --btn-gap: 16px; --btn-blur: 3px; --btn-fill: .048; --btn-glow: 1.35; --btn-radius: 20px;
    --btn-glow-p: var(--btn-glow); --btn-boost-p: .13; /* nút phát sáng sẵn ở màn hình dọc */
    --footer-size: 12px;
}
html { overscroll-behavior: none; }
html, body { margin: 0; }
body {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    font-family: system-ui, sans-serif;
    background: #000;
}

/* nền: ảnh + lớp đổ màu, hiệu ứng điều khiển bởi site.js */
/* khung nền cố định theo màn hình lớn nhất (lvh), không co giãn khi thanh địa chỉ điện thoại ẩn/hiện */
#bg { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100lvh; z-index: 0; overflow: hidden; background: #000; }
#bg::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, var(--bg-dim)); pointer-events: none; }
#stage { position: absolute; inset: 0; will-change: transform; }
#stage img { display: block; width: 100%; height: 100%; object-fit: cover; }
#lampTint, #tint { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

main {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 24px;
}
#logo {
    width: min(var(--logo-size), 70vw);
    height: auto;
    filter:
        drop-shadow(0 0 calc(10px * var(--logo-shadow)) rgba(0, 0, 12, calc(.9 * var(--logo-shadow))))
        drop-shadow(0 0 calc(6px * var(--logo-glow)) rgba(255, 255, 255, calc(.6 * var(--logo-glow))))
        drop-shadow(0 0 calc(18px * var(--logo-glow)) rgba(255, 255, 255, calc(.35 * var(--logo-glow))));
    animation: float var(--float-dur) ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(calc(-1 * var(--float-amp))); }
}
@media (prefers-reduced-motion: reduce) {
    #logo { animation: none; }
}

.platforms {
    display: flex;
    gap: var(--btn-gap);
    width: min(900px, 100%);
}
.platform-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    background: rgba(255, 255, 255, var(--btn-fill));
    border: 1px solid #fff;
    border-radius: var(--btn-radius);
    backdrop-filter: blur(var(--btn-blur));
    -webkit-backdrop-filter: blur(var(--btn-blur));
    transition: background .2s, box-shadow .2s;
}
.platform-btn:hover {
    background: rgba(255, 255, 255, calc(var(--btn-fill) + .13));
    box-shadow:
        0 0 calc(8px * var(--btn-glow)) rgba(255, 255, 255, calc(.7 * var(--btn-glow))),
        0 0 calc(20px * var(--btn-glow)) rgba(255, 255, 255, calc(.35 * var(--btn-glow)));
}
.platform-btn img { width: 24px; height: 24px; object-fit: contain; }

footer {
    position: relative;
    z-index: 1;
    background: #000;
    color: #fff;
    padding: 10px 16px;
    font-size: var(--footer-size);
    line-height: 1.4;
}
footer p { margin: 1px 0; }

@media (orientation: landscape) {
    footer.single-line p { display: inline; }
    footer.single-line p + p { margin-left: 6px; }
}
@media (orientation: portrait) {
    .platforms { flex-direction: column; }
    /* màn hình dọc (điện thoại không có hover): các nút phát sáng sẵn */
    .platform-btn {
        background: rgba(255, 255, 255, calc(var(--btn-fill) + var(--btn-boost-p)));
        box-shadow:
            0 0 calc(8px * var(--btn-glow-p)) rgba(255, 255, 255, calc(.7 * var(--btn-glow-p))),
            0 0 calc(20px * var(--btn-glow-p)) rgba(255, 255, 255, calc(.35 * var(--btn-glow-p)));
    }
    footer { font-size: calc(var(--footer-size) - 2px); padding: 8px 12px; }
}
