
:root{
	--bg:#0f1724; --card:#0b1220; --accent:#6ee7b7; --muted:#94a3b8; --glass: rgba(255,255,255,0.04);
}
*{box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,'Segoe UI',Roboto,'Helvetica Neue',Arial}
html,body{height:100%;margin:0;background:linear-gradient(180deg,#071023 0%, #0f1724 100%);color:#e6eef6;-webkit-font-smoothing:antialiased}
.container{max-width:880px;margin:6vh auto;padding:1.25rem}
h1{font-size:1.8rem;text-align:center;margin-bottom:.5rem}
.sub{color:var(--muted);text-align:center;margin-top:-.3rem;margin-bottom:1rem}

.grid{display:grid;grid-template-columns:1fr;gap:1rem}

.card{background:linear-gradient(180deg, var(--glass), rgba(255,255,255,0.01));padding:1.25rem;border-radius:14px;margin:0;box-shadow:0 10px 30px rgba(2,6,23,0.6);border:1px solid rgba(255,255,255,0.04);transition:transform .28s cubic-bezier(.2,.9,.29,1),box-shadow .28s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(2,6,23,0.7)}

.hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.left{flex:1}
.right{width:220px;text-align:center}
.countdown{font-weight:800;font-size:2.6rem;color:var(--accent);text-align:center;padding:1rem 0;border-radius:14px;background:linear-gradient(90deg, rgba(110,231,183,0.06), rgba(124,58,237,0.04))}

.btn{display:inline-block;background:linear-gradient(90deg,#06b6d4,#7c3aed);color:white;padding:1rem 1.4rem;border-radius:14px;border:none;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s,opacity .18s;font-weight:600;font-size:1rem}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted)}

label{display:block;margin:.6rem 0;font-size:0.95rem}
input[type=text],input[type=file]{width:100%;padding:.7rem;border-radius:10px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.02);color:inherit;transition:box-shadow .12s,transform .12s}
input[type=text]:focus,input[type=file]:focus{outline:none;box-shadow:0 6px 18px rgba(2,6,23,0.5);transform:translateY(-2px)}
.link{color:var(--muted);text-decoration:none;padding:.5rem 0}
.file-list{list-style:none;padding:0;margin:0}
.file-list li{padding:.6rem 0;border-radius:8px}

.error{background:#ffefef;color:#8b0000;padding:.5rem;border-radius:8px}

/* 平滑进入 */
@keyframes fadeInUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.card{animation:fadeInUp .6s ease both}

/* 响应 */
@media (max-width:720px){
	.hero{flex-direction:column}
	.right{width:100%}
}

/* 上传拖拽区 */
.upload-dropzone{border:2px dashed rgba(255,255,255,0.06);padding:1.2rem;border-radius:12px;text-align:center;background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02));transition:box-shadow .15s,transform .15s}
.upload-dropzone.dragover{box-shadow:0 18px 40px rgba(6,182,212,0.08);transform:translateY(-6px);border-color:rgba(110,231,183,0.6)}
.upload-dropzone p{margin:0;color:var(--muted)}
.upload-input{display:none}

/* 登录居中 */
.centered{min-height:60vh;display:flex;align-items:center;justify-content:center}
.centered .card{max-width:520px;width:100%}

/* 文件卡片 */
.files-grid{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.file-card{background:rgba(255,255,255,0.02);padding:.9rem 1.2rem;border-radius:12px;min-width:180px;max-width:260px;box-shadow:0 10px 28px rgba(2,6,23,0.45);transition:transform .12s,box-shadow .12s}
.file-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(2,6,23,0.55)}
.file-link{text-decoration:none;color:inherit;display:block}
.file-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-actions{margin-top:.6rem;display:flex;justify-content:center;gap:.5rem}
.file-actions button{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);padding:.3rem .6rem;border-radius:8px;cursor:pointer}

/* bigger dropzone */
.upload-dropzone{padding:2.4rem;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}

/* progress bar */
.progress{width:100%;height:10px;background:rgba(255,255,255,0.03);border-radius:999px;overflow:hidden;margin-top:.8rem}
.progress > i{display:block;height:100%;width:0;background:linear-gradient(90deg,#06b6d4,#7c3aed);transition:width .12s}
.file-size{margin-top:0.4rem;color:var(--muted);font-size:0.9rem;text-align:center}

/* 页脚 */
.site-footer{margin-top:2.4rem;padding:1rem 0;text-align:center;color:var(--muted);font-size:0.9rem}
.site-footer .support{font-size:0.7rem;margin-bottom:.4rem;color:rgba(255,255,255,0.6)}
.site-footer .beian{font-size:0.85rem;color:rgba(255,255,255,0.75)}
