*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #ff6b8b;--secondary-color: #ffa5a5;--accent-color: #ffd166;--background-gradient-start: #ffeff7;--background-gradient-end: #fff4f0;--text-color: #333;--light-text: #666;--white: #ffffff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 10px 25px rgba(0, 0, 0, .12);--border-radius-sm: 8px;--border-radius-md: 16px}body{margin:0;min-width:320px;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-color);background:linear-gradient(135deg,var(--background-gradient-start) 0%,var(--background-gradient-end) 100%);overflow-x:hidden;position:relative}#app{width:100%;min-height:100vh;position:relative;z-index:1}h1,h2,h3{font-weight:700;color:var(--primary-color);margin-bottom:.5em}h1{font-size:2.5rem}h2{font-size:2rem}p{margin-bottom:1.2em;font-size:1.05rem;line-height:1.8}button{font-size:1rem;font-weight:500;padding:12px 24px;border:none;border-radius:var(--border-radius-sm);background:var(--primary-color);color:#fff;cursor:pointer;transition:all .35s ease;outline:none;box-shadow:var(--shadow-sm)}button:hover{background:var(--secondary-color);box-shadow:var(--shadow-md)}.text-center{text-align:center}.mt-3{margin-top:1.5rem}.mb-3{margin-bottom:1.5rem}.p-3{padding:1.5rem}

/* 新增：应用容器布局 */
.app-container{display:flex;min-height:100vh;gap:20px;padding:20px;max-width:1400px;margin:0 auto}
.post-section{flex:1;max-width:500px;background:#ffffffe6;border-radius:var(--border-radius-md);padding:25px;box-shadow:var(--shadow-md);height:fit-content}
.music-section{flex:2;display:flex;flex-direction:column;gap:20px}

/* 发帖区域样式 */
.post-header{text-align:center;margin-bottom:25px;border-bottom:2px solid var(--primary-color);padding-bottom:15px}
.post-header h1{color:var(--primary-color);margin-bottom:10px}
.post-header p{color:var(--light-text);font-size:1rem}

/* 表单样式 */
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color)}
.form-input,.form-textarea,.form-file{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color .3s ease}
.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);outline:none}
.form-textarea{resize:vertical;min-height:100px}
.form-file{padding:8px;background:#f8f9fa}

/* 图片预览 */
.image-preview{margin-top:10px;display:none}
.image-preview img{max-width:100%;max-height:200px;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm)}

/* 提交按钮 */
.submit-btn{width:100%;background:var(--primary-color);color:white;border:none;padding:15px;border-radius:var(--border-radius-sm);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}
.submit-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}

/* 帖子列表 */
.posts-container{margin-top:30px}
.posts-container h2{color:var(--primary-color);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}
.posts-list{max-height:500px;overflow-y:auto}

/* 单个帖子样式 */
.post-item{background:#f8f9fa;border-radius:var(--border-radius-sm);padding:15px;margin-bottom:15px;border-left:4px solid var(--primary-color)}
.post-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.post-publisher{font-weight:600;color:var(--primary-color)}
.post-time{font-size:0.85rem;color:var(--light-text)}
.post-content{margin-bottom:10px;line-height:1.6}
.post-image{max-width:100%;max-height:200px;border-radius:var(--border-radius-sm);margin-top:10px}

/* 音乐播放器样式 */
.music-player{background:#ffffffe6;border-radius:var(--border-radius-md);padding:20px;box-shadow:var(--shadow-md);margin-bottom:20px}
.music-info h2{color:var(--primary-color);margin-bottom:10px}
.music-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}
.music-btn{background:var(--accent-color);color:var(--text-color)}
.music-btn:hover{background:#ffc145}
.volume-control{display:flex;align-items:center;gap:10px}
.volume-control label{font-weight:600}
.volume-control input{width:100px}

/* 生日内容区域 */
.birthday-content{background:#ffffffe6;border-radius:var(--border-radius-md);padding:25px;box-shadow:var(--shadow-md)}

/* 响应式设计 - 手机端适配 */
@media (max-width: 768px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.7rem; }
  
  /* 手机端布局调整 */
  .app-container {
    flex-direction: column;
    padding: 10px;
    gap: 15px;
  }
  
  .post-section {
    max-width: 100%;
    margin-bottom: 15px;
    padding: 20px;
  }
  
  .music-section {
    width: 100%;
  }
  
  .music-player {
    padding: 15px;
    margin-bottom: 15px;
  }
  
  .music-controls {
    flex-direction: column;
    gap: 10px;
  }
  
  .volume-control {
    width: 100%;
    justify-content: space-between;
  }
  
  .volume-control input {
    width: 60%;
  }
  
  .posts-list {
    max-height: 400px;
  }
  
  .post-item {
    padding: 12px;
    margin-bottom: 12px;
  }
  
  .form-input, .form-textarea, .form-file {
    padding: 10px;
    font-size: 16px; /* 防止iOS缩放 */
  }
  
  .submit-btn {
    padding: 12px;
    font-size: 1rem;
  }
  
  /* 手机端触摸优化 */
  button, .nav-button {
    min-height: 44px; /* iOS推荐的最小触摸目标 */
    padding: 12px 20px;
  }
}@keyframes fadeIn-34ef2f29{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-34ef2f29{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.birthday-container[data-v-34ef2f29]{min-height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;font-family:Arial,sans-serif;color:#333}.music-player[data-v-34ef2f29]{position:fixed;bottom:20px;right:20px;background:#ffffffe6;padding:10px 20px;border-radius:30px;box-shadow:0 4px 20px #0000001a;display:flex;align-items:center;gap:15px;z-index:1000}.music-icon[data-v-34ef2f29]{font-size:20px;cursor:pointer;transition:transform .3s ease}.music-icon[data-v-34ef2f29]:hover{transform:scale(1.2)}.music-info[data-v-34ef2f29]{font-size:14px;color:#667eea;font-weight:700}.play-hint[data-v-34ef2f29]{font-size:12px;color:#ff6b6b;font-weight:400;margin-left:10px}@media (max-width: 768px){.music-player[data-v-34ef2f29]{bottom:10px;right:10px;padding:8px 15px}.music-info[data-v-34ef2f29]{display:none}}.birthday-title[data-v-34ef2f29]{text-align:center;margin-bottom:40px;animation:fadeIn-34ef2f29 1s ease-out}.birthday-title h1[data-v-34ef2f29]{font-size:3rem;color:#e74c3c;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.1);animation:pulse-34ef2f29 3s infinite}.subtitle[data-v-34ef2f29]{font-size:1.2rem;color:#666;margin:0;font-style:italic}.photo-carousel[data-v-34ef2f29]{position:relative;width:100%;max-width:600px;height:400px;margin-bottom:20px;overflow:hidden;border-radius:15px;box-shadow:0 10px 30px #00000026;background:#000;display:flex;align-items:center;justify-content:center}.photo-container[data-v-34ef2f29]{position:relative;width:100%;height:100%;cursor:pointer;overflow:hidden}@media (max-width: 768px){.photo-carousel[data-v-34ef2f29]{height:300px;box-shadow:0 5px 15px #0000001a}.birthday-title h1[data-v-34ef2f29]{font-size:2rem}.subtitle[data-v-34ef2f29]{font-size:1rem}@keyframes fadeIn-34ef2f29{0%{opacity:0}to{opacity:1}}.photo-indicators .indicator[data-v-34ef2f29]{width:6px;height:6px;margin:0 3px}.carousel-btn[data-v-34ef2f29],.music-control[data-v-34ef2f29],.indicator[data-v-34ef2f29],.retry-now-btn[data-v-34ef2f29]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}.photo-frame[data-v-34ef2f29]{width:100%;height:100%;position:relative;background:#000}.carousel-photo[data-v-34ef2f29]{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:all .3s ease-in-out}.retry-now-btn[data-v-34ef2f29]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:5px;font-size:14px;cursor:pointer;transition:background-color .3s ease;z-index:5}.retry-now-btn[data-v-34ef2f29]:hover{background:#2980b9}.fullscreen-modal[data-v-34ef2f29]{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fullscreen-content[data-v-34ef2f29]{position:relative;max-width:100%;max-height:100vh;display:flex;flex-direction:column;align-items:center}.fullscreen-image[data-v-34ef2f29]{max-width:100%;max-height:80vh;object-fit:contain}.fullscreen-close[data-v-34ef2f29]{position:absolute;top:-40px;right:0;background:#00000080;color:#fff;border:none;font-size:30px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.fullscreen-navigation[data-v-34ef2f29]{display:flex;align-items:center;gap:20px;margin-top:20px}.nav-btn[data-v-34ef2f29]{background:#fff3;color:#fff;border:none;font-size:24px;width:50px;height:50px;border-radius:50%;cursor:pointer;transition:background .3s ease}.nav-btn[data-v-34ef2f29]:hover{background:#fff6}.image-counter[data-v-34ef2f29]{color:#fff;font-size:18px;font-weight:500}@media (max-width: 768px){.fullscreen-close[data-v-34ef2f29]{top:10px;right:10px}.nav-btn[data-v-34ef2f29]{width:40px;height:40px;font-size:20px}}.carousel-btn[data-v-34ef2f29]{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#ffffffb3;border:none;border-radius:50%;font-size:24px;cursor:pointer;transition:all .3s ease;z-index:10}.carousel-btn[data-v-34ef2f29]:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.carousel-btn.prev[data-v-34ef2f29]{left:15px}.carousel-btn.next[data-v-34ef2f29]{right:15px}.photo-indicators[data-v-34ef2f29]{display:flex;justify-content:center;gap:8px;margin-bottom:30px;flex-wrap:wrap}.indicator-more[data-v-34ef2f29]{color:#999;font-size:12px;line-height:16px}.indicator[data-v-34ef2f29]{width:12px;height:12px;border-radius:50%;background:#fff9;cursor:pointer;transition:all .3s ease}.indicator.active[data-v-34ef2f29]{background:#fff;transform:scale(1.3)}.birthday-message[data-v-34ef2f29]{text-align:center;max-width:600px;background:#ffffffe6;padding:30px;border-radius:15px;box-shadow:0 10px 30px #0000001a;animation:fadeIn-34ef2f29 1s ease-out .3s both}.birthday-message p[data-v-34ef2f29]{font-size:1.1rem;line-height:1.8;margin:10px 0;color:#555}@media (max-width: 768px){.birthday-container[data-v-34ef2f29]{padding:10px;min-height:100vh}.birthday-title h1[data-v-34ef2f29]{font-size:2rem;margin-bottom:15px}.subtitle[data-v-34ef2f29]{font-size:1rem;margin-bottom:20px}.photo-carousel[data-v-34ef2f29]{height:250px;margin-bottom:15px}.birthday-message[data-v-34ef2f29]{padding:20px;margin-bottom:20px}.birthday-message p[data-v-34ef2f29]{font-size:1rem;line-height:1.6;margin:8px 0}.next-chapter-btn[data-v-34ef2f29]{font-size:1rem;padding:12px 25px}.photo-indicators[data-v-34ef2f29]{margin-bottom:20px}.indicator[data-v-34ef2f29]{width:10px;height:10px}}.next-chapter-container[data-v-34ef2f29]{margin-top:30px;margin-bottom:20px;display:flex;justify-content:center}.next-chapter-btn[data-v-34ef2f29]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:30px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;text-transform:uppercase;letter-spacing:1px}.next-chapter-btn[data-v-34ef2f29]:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.next-chapter-btn[data-v-34ef2f29]:active{transform:translateY(0);box-shadow:0 2px 10px #667eea4d}