:root {
    --glass: rgba(255, 255, 255, 0.12);
    --glass-heavy: rgba(255, 255, 255, 0.25);
    --border: 1px solid rgba(255, 255, 255, 0.2);
}

body {
    margin: 0; background: #000; color: #fff;
    font-family: "SF Pro Display", -apple-system, sans-serif;
    overflow-x: hidden; min-height: 100vh;
}

/* 弥散渐变背景 */
.bg-canvas {
    position: fixed; width: 100vw; height: 100vh; z-index: -1;
    background: radial-gradient(at 0% 0%, #4f46e5 0px, transparent 50%),
                radial-gradient(at 100% 0%, #7c3aed 0px, transparent 50%),
                radial-gradient(at 50% 100%, #db2777 0px, transparent 50%);
    filter: blur(80px); opacity: 0.6;
}

#app {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    padding: 40px 20px; box-sizing: border-box;
}

/* 视图切换动画 */
.view {
    position: absolute; width: 100%; max-width: 1000px;
    opacity: 0; transform: scale(0.9) translateY(30px);
    pointer-events: none; transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.view.active {
    opacity: 1; transform: scale(1) translateY(0); pointer-events: auto; position: relative;
}

.header { text-align: center; margin-bottom: 60px; }
.main-title {
    font-size: 3.5rem; margin-bottom: 10px;
    background: linear-gradient(to bottom, #fff, #aaa);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.subtitle { color: rgba(255,255,255,0.7); font-size: 1.1rem; }

/* 玻璃卡片 (适配3个并排) */
.menu-grid { display: flex; gap: 30px; justify-content: center; flex-wrap: wrap; }
.glass-card {
    background: var(--glass); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: var(--border); border-radius: 32px;
    padding: 40px 30px; width: 220px; text-align: center; cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-card:active { transform: scale(0.92); background: var(--glass-heavy); }
.glass-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }
.icon-wrap { font-size: 55px; margin-bottom: 15px; filter: drop-shadow(0 4px 10px rgba(0,0,0,0.3)); }

/* 二级列表样式 */
.nav-header { display: flex; align-items: center; margin-bottom: 30px; }
.btn-back {
    background: var(--glass); border: var(--border); color: #fff;
    padding: 10px 20px; border-radius: 12px; cursor: pointer; margin-right: 20px; transition: 0.3s;
}
.btn-back:hover { background: var(--glass-heavy); }

.file-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px; max-height: 70vh; overflow-y: auto; padding: 10px;
}

.file-item {
    background: var(--glass); border-radius: 20px; padding: 25px 20px;
    text-align: center; text-decoration: none; color: #fff; border: var(--border);
    transition: 0.3s; display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.file-item:hover { background: var(--glass-heavy); transform: scale(1.05); }
.file-item img { width: 100%; border-radius: 12px; margin-bottom: 10px; object-fit: cover; }
.item-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 8px; word-break: break-all; }
.item-action { font-size: 0.85rem; color: #4ade80; }
