* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: system-ui, sans-serif; background: #f8f9fc; color: #1e293b; padding: 1.5rem 1rem; }
.container { max-width: 820px; margin: 0 auto; background: #fff; padding: 2rem 1.8rem; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
h1 { font-size: 2rem; border-bottom: 3px solid #e2e8f0; padding-bottom: 0.5rem; margin-bottom: 1.2rem; }
.post-list { list-style: none; margin-top: 1.5rem; }
.post-list li { padding: 0.7rem 0; border-bottom: 1px solid #e9edf2; }
.post-list li a { color: #2563eb; text-decoration: none; font-weight: 500; }
.post-list li a:hover { text-decoration: underline; }
.admin-link { margin-top: 2rem; display: inline-block; }

.video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; background: #000; border-radius: 8px; margin-bottom: 1.5rem; }
.video-wrapper video,
.video-wrapper iframe { position: absolute; top:0; left:0; width:100%; height:100%; border:0; }

.story { margin: 1.5rem 0; line-height: 1.8; }
.story h2 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.5rem; }

.downloads { margin-top: 1.5rem; padding-top: 1rem; border-top: 2px solid #e2e8f0; }
.downloads h2 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.8rem; }
.downloads a { display: inline-block; background: #1e293b; color: #fff; padding: 0.4rem 1.2rem; border-radius: 30px; text-decoration: none; font-weight: 500; margin: 0.3rem 0.5rem 0.3rem 0; transition: background 0.2s; }
.downloads a:hover { background: #0f172a; }

.back-link { display: inline-block; margin-top: 1.5rem; color: #2563eb; text-decoration: none; }
.back-link:hover { text-decoration: underline; }

/* 管理后台样式 */
table { width:100%; border-collapse: collapse; margin:1.2rem 0; }
th, td { padding: 0.7rem; text-align: left; border-bottom: 1px solid #ddd; }
input, textarea, select { width:100%; padding: 0.5rem; border:1px solid #ccc; border-radius:4px; font-size:1rem; }
button, .btn { background:#2563eb; color:#fff; border:0; padding:0.5rem 1.5rem; border-radius:4px; cursor:pointer; font-size:1rem; }
button:hover, .btn:hover { background:#1d4ed8; }
.msg { background:#d4edda; color:#155724; padding:0.7rem; border-radius:4px; margin:0.5rem 0; }
.error { background:#f8d7da; color:#721c24; padding:0.7rem; border-radius:4px; margin:0.5rem 0; }
.admin-bar { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }

@media (max-width:600px) { .container { padding:1rem; } h1 { font-size:1.5rem; } }