* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Microsoft YaHei", sans-serif;
    overflow: hidden;
    background: #00B140;
    color: #FFD700;
    perspective: 1200px;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

#canvas-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    opacity: 0;
    transform: scale(0.8);
    animation: bgIn 1.2s ease forwards;
}

@keyframes bgIn {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.container {
    width: 90%;
    max-width: 700px;
    text-align: center;
    transform-style: preserve-3d;
    transition: transform 0.1s ease;
    opacity: 0;
    animation: containerIn 0.8s 0.3s ease forwards;
}

@keyframes containerIn {
    to { opacity: 1; }
}

.title {
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 3em;
    padding-left: 3em;
    margin-bottom: 40px;
    transform-style: preserve-3d;
    transition: all 0.3s ease;
    color: #FFD700;
    text-shadow: 
        0 0 2px #000,
        0 0 4px #000,
        0 0 6px #000,
        0 2px 10px rgba(176, 212, 15, 0.3);
    transform: translateZ(40px);
    opacity: 0;
    animation: titleIn 0.8s 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes titleIn {
    from { transform: translateZ(-80px); opacity: 0; }
    to { transform: translateZ(40px); opacity: 1; }
}

.search-box {
    display: flex;
    align-items: center;
    background: transparent;
    border: 2px solid #FFB300;
    border-radius: 50px;
    padding: 0 30px;
    margin: 0 auto 40px;
    transform-style: preserve-3d;
    transition: all 0.4s ease;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    width: 100%;
    opacity: 0;
    height: 70px;
    animation: searchIn 0.8s 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes searchIn {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.search-box:hover {
    height: 80px;
    margin-bottom: 45px;
    border-color: #FFD700;
    box-shadow: 0 15px 40px rgba(255, 180, 0, 0.35);
}

.search-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    padding: 0 10px;
    color: #FFF3A3;
    font-size: 23px;
    text-shadow: 0 0 2px #000, 0 0 1px #000;
    transition: all 0.8s ease;
}

.search-input::placeholder {
    color: #FFF3A3;
    opacity: 0.8;
}

.search-btn {
    background: transparent;
    border: none;
    color: #FFD700;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 10px;
    text-shadow: 0 0 2px #000;
}

.search-btn:hover {
    color: #FFF3A3;
    transform: scale(1.3);
    text-shadow: 0 0 15px #FFD700;
}

.quick-access {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    transform-style: preserve-3d;
}

.quick-item {
    width: 120px;
    height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: transparent;
    border: 2px solid #FFB300;
    border-radius: 18px;
    transition: all 1s ease;
    opacity: 0;
    animation: quickIn 0.8s 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes quickIn {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.quick-item:hover {
    width: 235px;
    height: 110px;
    border-color: #FFD700;
    box-shadow: 0 15px 30px rgba(255, 180, 0, 0.25);
}

/* 默认状态就用高亮清晰样式 */
.quick-icon {
    font-size: 32px;
    margin-bottom: 8px;
    transition: all 0.8s ease;
    color: #FFF3A3;
    text-shadow: 
        0 0 1px #000,
        0 0 3px #000,
        0 0 5px #000,
        0 0 20px #FFD700;
}

.quick-item:hover .quick-icon {
    transform: scale(1.2);
}

/* 默认状态文字放大加粗高亮 */
.quick-text {
    font-size: 20px;
    font-weight: 600;
    transition: all 0.8s ease;
    color: #FFF3A3;
    text-shadow: 0 0 5px #000, 0 0 4px #000;
}

.quick-item:hover .quick-text {
    transform: scale(1.08);
}